Package net.fabricmc.fabric.api.item.v1
Interface FabricItem
public interface FabricItem
General-purpose Fabric-provided extensions for
Item
subclasses.
Note: This interface is automatically implemented on all items via Mixin,
however it has to be implemented explicitly by modders to be able to override functions.
In the future, it is planned that public class Item implements FabricItem
will be visible in a development environment.
Note to maintainers: Functions should only be added to this interface if they are general-purpose enough, to be evaluated on a case-by-case basis. Otherwise they are better suited for more specialized APIs.
-
Method Summary
Modifier and TypeMethodDescriptiondefault boolean
allowContinuingBlockBreaking
(net.minecraft.entity.player.PlayerEntity player, net.minecraft.item.ItemStack oldStack, net.minecraft.item.ItemStack newStack) When the NBT of the selected stack changes, block breaking progress is reset.default boolean
allowNbtUpdateAnimation
(net.minecraft.entity.player.PlayerEntity player, net.minecraft.util.Hand hand, net.minecraft.item.ItemStack oldStack, net.minecraft.item.ItemStack newStack) When the NBT of an item stack in the main hand or off hand changes, vanilla runs an "update animation".
-
Method Details
-
allowNbtUpdateAnimation
default boolean allowNbtUpdateAnimation(net.minecraft.entity.player.PlayerEntity player, net.minecraft.util.Hand hand, net.minecraft.item.ItemStack oldStack, net.minecraft.item.ItemStack newStack) When the NBT of an item stack in the main hand or off hand changes, vanilla runs an "update animation". This function is called on the client side when the NBT or count of the stack has changed, but not the item, and returning false cancels this animation.- Parameters:
player
- the current player; this may be safely cast toClientPlayerEntity
in client-only codehand
- the hand; this function applies both to the main hand and the off handoldStack
- the previous stack, of this itemnewStack
- the new stack, also of this item- Returns:
- true to run the vanilla animation, false to cancel it.
-
allowContinuingBlockBreaking
default boolean allowContinuingBlockBreaking(net.minecraft.entity.player.PlayerEntity player, net.minecraft.item.ItemStack oldStack, net.minecraft.item.ItemStack newStack) When the NBT of the selected stack changes, block breaking progress is reset. This function is called when the NBT of the selected stack has changed, and returning true allows the block breaking progress to continue.- Parameters:
player
- the player breaking the blockoldStack
- the previous stack, of this itemnewStack
- the new stack, also of this item- Returns:
- true to allow continuing block breaking, false to reset the progress.
-