StaffHandler

abstract class StaffHandler(source)

Provides functionality for a staff, when an item is inserted into it.

Inheritors

Constructors

Link copied to clipboard
constructor()

Types

Link copied to clipboard
object Companion
Link copied to clipboard

Handler of a staff with no item inserted into it.

Properties

Link copied to clipboard

Gets the attribute modifiers (damage, attack speed, etc.) of the staff when held.

Link copied to clipboard
open val maxUseTime: Int

The number of ticks the staff can be used for using the current item.

Functions

Link copied to clipboard
open fun allowComponentsUpdateAnimation(oldStaffStack: ItemStack, newStaffStack: ItemStack, player: PlayerEntity, hand: Hand): Boolean

Called on the client side by Fabric API, when the NBT of the held item gets updated.

Link copied to clipboard
open fun allowReequipAnimation(oldStaffStack: ItemStack, newStaffStack: ItemStack, selectedSlotChanged: Boolean): Boolean

Called on the client side by Neo/Forge, when the NBT of the held item gets updated.

Link copied to clipboard
open fun attack(staffStack: ItemStack, world: World, attacker: LivingEntity, hand: Hand)

Called on both the client by Architectury API and the server by Staff Mod, when an entity attacks thin air with a staff.

Link copied to clipboard
open fun attackBlock(staffStack: ItemStack, world: World, attacker: LivingEntity, target: BlockPos, side: Direction, hand: Hand): EventResult

Called on both the client and the server by Architectury API, when an entity attacks a block with a staff.

Link copied to clipboard
open fun attackEntity(staffStack: ItemStack, world: World, attacker: LivingEntity, target: Entity, hand: Hand): EventResult

Called on both the client by Fabric/Neo/Forge API and the server by Fabric/Neo/Forge API, when an entity attacks an entity with a staff.

Link copied to clipboard
open fun canSwingHand(staffStack: ItemStack, world: World, holder: LivingEntity, hand: Hand): Boolean

Called on both the client and the server by Staff Mod on Fabric and Neo/Forge API on Neo/Forge, when an entity holding a staff tries to swing its hand.

Link copied to clipboard

Returns if attacking with the staff should disable the target's shield.

Link copied to clipboard
open fun finishUsing(staffStack: ItemStack, world: World, user: LivingEntity): ItemStack

Called on both the client and the server by Minecraft, when an entity finishes using the staff (usage ticks reach maxUseTime).

Link copied to clipboard
open fun onStoppedUsing(staffStack: ItemStack, world: World, user: LivingEntity, remainingUseTicks: Int)

Called on both the client and the server by Minecraft, when an entity stops using the staff before being used for maxUseTime. If that time is reached, finishUsing will be called.

Link copied to clipboard
open fun usageTick(staffStack: ItemStack, world: World, user: LivingEntity, remainingUseTicks: Int)

Called on both the client and the server by Minecraft every tick an entity uses the staff.

Link copied to clipboard
open fun use(staffStack: ItemStack, world: World, user: PlayerEntity, hand: Hand): TypedActionResult<ItemStack>

Called on both the client and the server by Minecraft when the player uses the staff.

Link copied to clipboard
open fun useOnBlock(staffStack: ItemStack, world: World, user: LivingEntity, target: BlockPos, side: Direction, hand: Hand): ActionResult

Called on both the client and the server by Minecraft, when an entity uses the staff on a block. This method may not be called, if the block handles the use event (for example, a chest).

Link copied to clipboard
open fun useOnEntity(staffStack: ItemStack, world: World, user: LivingEntity, target: LivingEntity, hand: Hand): ActionResult

Called on both the client and the server by Minecraft, when an entity uses the staff on an entity. This method may not be called, if the entity handles the use event (for example, a horse). This method will not be called, if the player is in spectator mode.