Tool

class Tool(tier: Provider<ToolTier>, categories: Provider<Set<ToolCategory>>, breakSpeed: Provider<Double>, attackDamage: Provider<Double?>, attackSpeed: Provider<Double?>, knockbackBonus: Provider<Int>, canSweepAttack: Provider<Boolean>, canBreakBlocksInCreative: Provider<Boolean>) : ItemBehavior

Allows items to be used as tools, by specifying break and attack properties.

Constructors

Link copied to clipboard
constructor(tier: ToolTier, categories: Set<ToolCategory>, breakSpeed: Double, attackDamage: Double?, attackSpeed: Double?, knockbackBonus: Int, canSweepAttack: Boolean = false, canBreakBlocksInCreative: Boolean = categories != setOf(VanillaToolCategories.SWORD))
constructor(tier: Provider<ToolTier>, categories: Provider<Set<ToolCategory>>, breakSpeed: Provider<Double>, attackDamage: Provider<Double?>, attackSpeed: Provider<Double?>, knockbackBonus: Provider<Int>, canSweepAttack: Provider<Boolean>, canBreakBlocksInCreative: Provider<Boolean>)

Types

Link copied to clipboard

Properties

Link copied to clipboard

The attack damage of this tool.

Link copied to clipboard

The attack speed of this tool.

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 break speed of this tool.

Link copied to clipboard

Whether this tool can break blocks in creative mode.

Link copied to clipboard

Whether this tool can perform a sweep attack.

Link copied to clipboard

The ToolCategory of this tool.

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 knockback bonus of this tool when attacking.

Link copied to clipboard

The ToolTier of this tool.

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.