Enchantable

class Enchantable(enchantmentValue: Provider<Int>, primaryEnchantments: Provider<Set<Enchantment>>, supportedEnchantments: Provider<Set<Enchantment>>) : ItemBehavior

Makes an item enchantable.

Parameters

enchantmentValue

The enchantment value of the item. A higher enchantment value brings more secondary and higher-level enchantments in the enchanting table. Vanilla enchantment values: wood: 15, stone: 5, iron: 14, diamond: 10, gold: 22, netherite: 15

primaryEnchantments

The enchantments that appear in the enchanting table.

supportedEnchantments

The enchantments that can be applied to the item, i.e. via an anvil or commands.

Constructors

Link copied to clipboard
constructor(enchantmentValue: Provider<Int>, primaryEnchantments: Provider<Set<Enchantment>>, supportedEnchantments: Provider<Set<Enchantment>>)

Types

Link copied to clipboard

Properties

Link copied to clipboard
open override val baseDataComponents: Provider<DataComponentMap>

The base data components that every item with this ItemBehavior has.

Link copied to clipboard

The NamespacedCompound that every new ItemStack of an item with this ItemBehavior has by default.

Link copied to clipboard
open val defaultPatch: Provider<DataComponentPatch>

The data component patch that every new ItemStack of an item with this ItemBehavior has by default.

Link copied to clipboard

The enchantment value of the item. A higher enchantment value brings more secondary and higher-level enchantments in the enchanting table. Vanilla enchantment values: wood: 15, stone: 5, iron: 14, diamond: 10, gold: 22, netherite: 15

Link copied to clipboard
val primaryEnchantments: Set<Enchantment>

The enchantments that appear in the enchanting table.

Link copied to clipboard
val supportedEnchantments: Set<Enchantment>

The enchantments that can be applied to the item, i.e. via an anvil or commands.

Link copied to clipboard

The vanilla material properties that an item with this ItemBehavior requires.

Functions

Link copied to clipboard
open fun handleAttackEntity(player: Player, itemStack: ItemStack, attacked: Entity, event: EntityDamageByEntityEvent)
Link copied to clipboard
open fun handleBlockBreakAction(player: Player, itemStack: ItemStack, event: BlockBreakActionEvent)
Link copied to clipboard
open fun handleBreak(player: Player, itemStack: ItemStack, event: PlayerItemBreakEvent)
Link copied to clipboard
open fun handleBreakBlock(player: Player, itemStack: ItemStack, event: BlockBreakEvent)
Link copied to clipboard
open fun handleDamage(player: Player, itemStack: ItemStack, event: PlayerItemDamageEvent)
Link copied to clipboard
open fun handleEntityInteract(player: Player, itemStack: ItemStack, clicked: Entity, event: PlayerInteractAtEntityEvent)
Link copied to clipboard
open fun handleEquip(player: Player, itemStack: ItemStack, equipped: Boolean, event: ArmorEquipEvent)
Link copied to clipboard
open fun handleInteract(player: Player, itemStack: ItemStack, action: Action, wrappedEvent: WrappedPlayerInteractEvent)
Link copied to clipboard
open fun handleInventoryClick(player: Player, itemStack: ItemStack, event: InventoryClickEvent)
Link copied to clipboard
open fun handleInventoryClickOnCursor(player: Player, itemStack: ItemStack, event: InventoryClickEvent)
Link copied to clipboard
open fun handleInventoryHotbarSwap(player: Player, itemStack: ItemStack, event: InventoryClickEvent)
Link copied to clipboard
open fun handleRelease(player: Player, itemStack: ItemStack, event: ServerboundPlayerActionPacketEvent)
Link copied to clipboard
open fun modifyBlockDamage(player: Player, itemStack: ItemStack, damage: Double): Double

Modifies the damage when player is breaking a block with itemStack. This damage is applied to the block every tick until 1.0 is reached, at which point the block is destroyed.

Link copied to clipboard
open fun modifyClientSideStack(player: Player?, itemStack: ItemStack, data: NamespacedCompound): ItemStack

Updates the client-side itemStack that is to be viewed by player and has server-side data.