Class EnchantmentLevelSetEvent

java.lang.Object
net.neoforged.bus.api.Event
net.neoforged.neoforge.event.enchanting.EnchantmentLevelSetEvent

public class EnchantmentLevelSetEvent extends net.neoforged.bus.api.Event
Fired when the enchantment level is set for each of the three potential enchantments in the enchanting table. The level is set to the vanilla value and can be modified by this event handler. The enchantRow is used to determine which enchantment level is being set, 1, 2, or 3. The power is a number from 0-15 and indicates how many bookshelves surround the enchanting table. The itemStack representing the item being enchanted is also available.
  • Field Details

    • level

      private final Level level
    • pos

      private final BlockPos pos
    • enchantRow

      private final int enchantRow
    • power

      private final int power
    • itemStack

      private final ItemStack itemStack
    • originalLevel

      private final int originalLevel
    • enchantLevel

      private int enchantLevel
  • Constructor Details

    • EnchantmentLevelSetEvent

      public EnchantmentLevelSetEvent(Level level, BlockPos pos, int enchantRow, int power, ItemStack itemStack, int enchantLevel)
  • Method Details

    • getLevel

      public Level getLevel()
      Get the world object
      Returns:
      the world object
    • getPos

      public BlockPos getPos()
      Get the pos of the enchantment table
      Returns:
      the pos of the enchantment table
    • getEnchantRow

      public int getEnchantRow()
      Get the row for which the enchantment level is being set
      Returns:
      the row for which the enchantment level is being set
    • getPower

      public int getPower()
      Get the power (# of bookshelves) for the enchanting table
      Returns:
      the power (# of bookshelves) for the enchanting table
    • getItem

      public ItemStack getItem()
      Get the item being enchanted
      Returns:
      the item being enchanted
    • getOriginalLevel

      public int getOriginalLevel()
      Get the original level of the enchantment for this row (0-30)
      Returns:
      the original level of the enchantment for this row (0-30)
    • getEnchantLevel

      public int getEnchantLevel()
      Get the level of the enchantment for this row (0-30)
      Returns:
      the level of the enchantment for this row (0-30)
    • setEnchantLevel

      public void setEnchantLevel(int level)
      Set the new level of the enchantment (0-30)
      Parameters:
      level - the new level of the enchantment (0-30)