Consumable

class Consumable(nutrition: Provider<Int>, saturation: Provider<Float>, canAlwaysEat: Provider<Boolean>, consumeTime: Provider<Int>, remains: Provider<ItemStack?>, possibleEffects: Provider<Map<PotionEffect, Float>>, animation: Provider<ItemUseAnimation>, sound: Provider<Key>, particles: Provider<Boolean>) : ItemBehavior

Allows items to be consumed.

Parameters

nutrition

The nutrition that consuming the item provides.

saturation

The saturation that consuming the item provides.

canAlwaysEat

Whether the item can always be eaten, even if the player is not hungry.

consumeTime

The time it takes to consume the item in ticks.

remains

The item that remains after consuming the item.

possibleEffects

The possible effects that consuming the item can apply.

animation

The animation that is played when consuming the item.

sound

The sound that is played when consuming the item.

particles

Whether particles are spawned when consuming the item.

Constructors

Link copied to clipboard
constructor(nutrition: Provider<Int>, saturation: Provider<Float>, canAlwaysEat: Provider<Boolean>, consumeTime: Provider<Int>, remains: Provider<ItemStack?>, possibleEffects: Provider<Map<PotionEffect, Float>>, animation: Provider<ItemUseAnimation>, sound: Provider<Key>, particles: Provider<Boolean>)

Properties

Link copied to clipboard
val animation: ItemUseAnimation

The animation that is played when consuming the item.

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

Whether the item can always be eaten, even if the player is not hungry.

Link copied to clipboard

The time it takes to consume the item in ticks.

Link copied to clipboard

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

Link copied to clipboard

The nutrition that consuming the item provides.

Link copied to clipboard

Whether particles are spawned when consuming the item.

Link copied to clipboard
val possibleEffects: Map<PotionEffect, Float>

The possible effects that consuming the item can apply.

Link copied to clipboard
val remains: ItemStack?

The item that remains after consuming the item.

Link copied to clipboard

The saturation that consuming the item provides.

Link copied to clipboard
val sound: Key

The sound that is played when consuming the item.

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)

Called when an EntityDamageByEntityEvent is fired where player attacks attacked using itemStack with this behavior in their main hand.

Link copied to clipboard
open fun handleBlockBreakAction(player: Player, itemStack: ItemStack, event: BlockBreakActionEvent)

Called when a BlockBreakActionEvent is fired where player breaks a block with an itemStack with this behavior.

Link copied to clipboard
open fun handleBreak(player: Player, itemStack: ItemStack, event: PlayerItemBreakEvent)

Called when a aPlayerItemBreakEvent is fired where an itemStack with this behavior runs out of durability and breaks.

Link copied to clipboard
open fun handleBreakBlock(player: Player, itemStack: ItemStack, event: BlockBreakEvent)

Called when a BlockBreakEvent is fired where player uses an itemStack with this behavior.

Link copied to clipboard
open fun handleConsume(player: Player, itemStack: ItemStack, event: PlayerItemConsumeEvent)

Called when a PlayerItemConsumeEvent is fired where player consumes an itemStack with this behavior.

Link copied to clipboard
open fun handleDamage(player: Player, itemStack: ItemStack, event: PlayerItemDamageEvent)

Called when a PlayerItemDamageEvent is fired where an itemStack with this behavior takes damage.

Link copied to clipboard
open fun handleEntityInteract(player: Player, itemStack: ItemStack, clicked: Entity, event: PlayerInteractAtEntityEvent)

Called when a PlayerInteractAtEntityEvent is fired for an itemStack with this behavior.

Link copied to clipboard
open fun handleEquip(player: Player, itemStack: ItemStack, slot: EquipmentSlot, equipped: Boolean, event: EntityEquipmentChangedEvent)

Called when a EntityEquipmentChangedEvent is fired where player equips or unequips an itemStack with this behavior.

Link copied to clipboard
open fun handleInteract(player: Player, itemStack: ItemStack, action: Action, wrappedEvent: WrappedPlayerInteractEvent)

Called when a PlayerInteractEvent is fired for an itemStack with this behavior.

Link copied to clipboard
open fun handleInventoryClick(player: Player, itemStack: ItemStack, event: InventoryClickEvent)

Called when an InventoryClickEvent is fired where player clicks on an itemStack with this behavior.

Link copied to clipboard
open fun handleInventoryClickOnCursor(player: Player, itemStack: ItemStack, event: InventoryClickEvent)

Called when an InventoryClickEvent is fired where player clicks on an itemStack with this behavior in their cursor.

Link copied to clipboard
open fun handleInventoryHotbarSwap(player: Player, itemStack: ItemStack, event: InventoryClickEvent)

Called when an InventoryClickEvent is fired where player swaps an item with a hotbar itemStack with this behavior.

Link copied to clipboard
open fun handleInventoryTick(player: Player, itemStack: ItemStack, slot: Int)

Called every tick for an itemStack with this behavior that is in the player's inventory. The slot is the index inside the player inventory's contents.

Link copied to clipboard
open fun handleRelease(player: Player, itemStack: ItemStack, event: ServerboundPlayerActionPacketEvent)

Called when a ServerboundPlayerActionPacketEvent is fired where the server receives a player action packet regarding an itemStack with this behavior. Note that this is a packet event, and as such this function is called a netty thread, not the server thread.

Link copied to clipboard
open fun modifyBlockDamage(player: Player, itemStack: ItemStack, block: Block, 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?, server: ItemStack, client: ItemStack): ItemStack

Updates the client-side item stack that is to be viewed by player in place of the server-side item stack.

Link copied to clipboard
open override fun toString(itemStack: ItemStack): String

Creates a string representation of this ItemBehavior and its data in itemStack.