Class ToolItem

java.lang.Object
net.minecraft.item.Item
net.minecraft.item.ToolItem
All Implemented Interfaces:
ItemConvertible, ToggleableFeature
Direct Known Subclasses:
MiningToolItem, SwordItem

public class ToolItem extends Item
An Item used as a tool, typically used for harvesting blocks or killing entities.

Each ToolItem has a ToolMaterial which defines base tool statistics for it. By default, getEnchantability() and canRepair(ItemStack, ItemStack) will delegate to this material for values. Behavior for other material properties is implemented in MiningToolItem.

A list of default vanilla tool classes can be found below:

Mappings:
Namespace Name
official com
intermediary net/minecraft/class_1831
named net/minecraft/item/ToolItem
  • Field Details

    • material

      private final ToolMaterial material
      Mappings:
      Namespace Name Mixin selector
      official a Lcom;a:Lcol;
      intermediary field_8921 Lnet/minecraft/class_1831;field_8921:Lnet/minecraft/class_1832;
      named material Lnet/minecraft/item/ToolItem;material:Lnet/minecraft/item/ToolMaterial;
  • Constructor Details

    • ToolItem

      public ToolItem(ToolMaterial material, Item.Settings settings)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lcom;<init>(Lcol;Lcmt$a;)V
      intermediary <init> Lnet/minecraft/class_1831;<init>(Lnet/minecraft/class_1832;Lnet/minecraft/class_1792$class_1793;)V
      named <init> Lnet/minecraft/item/ToolItem;<init>(Lnet/minecraft/item/ToolMaterial;Lnet/minecraft/item/Item$Settings;)V
  • Method Details

    • getMaterial

      public ToolMaterial getMaterial()
      Returns:
      the ToolMaterial used by this ToolItem
      Mappings:
      Namespace Name Mixin selector
      official i Lcom;i()Lcol;
      intermediary method_8022 Lnet/minecraft/class_1831;method_8022()Lnet/minecraft/class_1832;
      named getMaterial Lnet/minecraft/item/ToolItem;getMaterial()Lnet/minecraft/item/ToolMaterial;
    • getEnchantability

      public int getEnchantability()
      Gets the enchantability of an item. This specifies the ability of an item to receive enchantments when enchanted using an enchanting table. As the value increases, the amount and level of enchantments applied increase.

      If the value of this method is 0, the item cannot be enchanted using an enchanting table.

      Overrides:
      getEnchantability in class Item
      Mappings:
      Namespace Name Mixin selector
      official c Lcmt;c()I
      intermediary method_7837 Lnet/minecraft/class_1792;method_7837()I
      named getEnchantability Lnet/minecraft/item/Item;getEnchantability()I
    • canRepair

      public boolean canRepair(ItemStack stack, ItemStack ingredient)
      Returns whether stack can be repaired using ingredient.

      This only handles repairing using the ingredient such as diamonds, and does not handle combining tools or armor.

      Overrides:
      canRepair in class Item
      Returns:
      whether stack can be repaired using ingredient
      Mappings:
      Namespace Name Mixin selector
      official a Lcmt;a(Lcmy;Lcmy;)Z
      intermediary method_7878 Lnet/minecraft/class_1792;method_7878(Lnet/minecraft/class_1799;Lnet/minecraft/class_1799;)Z
      named canRepair Lnet/minecraft/item/Item;canRepair(Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)Z