Class Enchantment

java.lang.Object
net.minecraft.enchantment.Enchantment
Direct Known Subclasses:
AquaAffinityEnchantment, BindingCurseEnchantment, ChannelingEnchantment, DamageEnchantment, DepthStriderEnchantment, EfficiencyEnchantment, FireAspectEnchantment, FlameEnchantment, FrostWalkerEnchantment, ImpalingEnchantment, InfinityEnchantment, KnockbackEnchantment, LoyaltyEnchantment, LuckEnchantment, LureEnchantment, MendingEnchantment, MultishotEnchantment, PiercingEnchantment, PowerEnchantment, ProtectionEnchantment, PunchEnchantment, QuickChargeEnchantment, RespirationEnchantment, RiptideEnchantment, SilkTouchEnchantment, SoulSpeedEnchantment, SweepingEnchantment, ThornsEnchantment, UnbreakingEnchantment, VanishingCurseEnchantment

public abstract class Enchantment
extends Object
  • Field Details

  • Constructor Details

  • Method Details

    • byRawId

      @Environment(CLIENT) @Nullable public static Enchantment byRawId​(int id)
    • getEquipment

      public Map<EquipmentSlot,​ItemStack> getEquipment​(LivingEntity entity)
    • getRarity

      public Enchantment.Rarity getRarity()
    • getMinLevel

      public int getMinLevel()
    • getMaxLevel

      public int getMaxLevel()
    • getMinPower

      public int getMinPower​(int level)
    • getMaxPower

      public int getMaxPower​(int level)
    • getProtectionAmount

      public int getProtectionAmount​(int level, DamageSource source)
    • getAttackDamage

      public float getAttackDamage​(int level, EntityGroup group)
    • canCombine

      public final boolean canCombine​(Enchantment other)
      Returns whether this enchantment can exist on an item stack with the other enchantment and the other enchantment can exist with this enchantment.
    • canAccept

      protected boolean canAccept​(Enchantment other)
      Returns whether this enchantment can exist on an item stack with the other enchantment.
    • getOrCreateTranslationKey

      protected String getOrCreateTranslationKey()
    • getTranslationKey

      public String getTranslationKey()
    • getName

      public Text getName​(int level)
    • isAcceptableItem

      public boolean isAcceptableItem​(ItemStack stack)
    • onTargetDamaged

      public void onTargetDamaged​(LivingEntity user, Entity target, int level)
    • onUserDamaged

      public void onUserDamaged​(LivingEntity user, Entity attacker, int level)
    • isTreasure

      public boolean isTreasure()
    • isCursed

      public boolean isCursed()
    • isAvailableForEnchantedBookOffer

      public boolean isAvailableForEnchantedBookOffer()
      Returns whether this enchantment will appear in the enchanted book trade offers of librarian villagers.
    • isAvailableForRandomSelection

      public boolean isAvailableForRandomSelection()
      Returns whether this enchantment will appear in the enchanting table or loots with random enchant function.