Enum Class ToolMaterials

java.lang.Object
java.lang.Enum<ToolMaterials>
net.minecraft.item.ToolMaterials
All Implemented Interfaces:
Serializable, Comparable<ToolMaterials>, Constable, ToolMaterial

public enum ToolMaterials extends Enum<ToolMaterials> implements ToolMaterial
Provides the default ToolMaterials used by vanilla tools.
Mappings:
Namespace Name
official cku
intermediary net/minecraft/class_1834
named net/minecraft/item/ToolMaterials
  • Enum Constant Details

    • WOOD

      public static final ToolMaterials WOOD
      Mappings:
      Namespace Name Mixin selector
      official a Lcku;a:Lcku;
      intermediary field_8922 Lnet/minecraft/class_1834;field_8922:Lnet/minecraft/class_1834;
      named WOOD Lnet/minecraft/item/ToolMaterials;WOOD:Lnet/minecraft/item/ToolMaterials;
    • STONE

      public static final ToolMaterials STONE
      Mappings:
      Namespace Name Mixin selector
      official b Lcku;b:Lcku;
      intermediary field_8927 Lnet/minecraft/class_1834;field_8927:Lnet/minecraft/class_1834;
      named STONE Lnet/minecraft/item/ToolMaterials;STONE:Lnet/minecraft/item/ToolMaterials;
    • IRON

      public static final ToolMaterials IRON
      Mappings:
      Namespace Name Mixin selector
      official c Lcku;c:Lcku;
      intermediary field_8923 Lnet/minecraft/class_1834;field_8923:Lnet/minecraft/class_1834;
      named IRON Lnet/minecraft/item/ToolMaterials;IRON:Lnet/minecraft/item/ToolMaterials;
    • DIAMOND

      public static final ToolMaterials DIAMOND
      Mappings:
      Namespace Name Mixin selector
      official d Lcku;d:Lcku;
      intermediary field_8930 Lnet/minecraft/class_1834;field_8930:Lnet/minecraft/class_1834;
      named DIAMOND Lnet/minecraft/item/ToolMaterials;DIAMOND:Lnet/minecraft/item/ToolMaterials;
    • GOLD

      public static final ToolMaterials GOLD
      Mappings:
      Namespace Name Mixin selector
      official e Lcku;e:Lcku;
      intermediary field_8929 Lnet/minecraft/class_1834;field_8929:Lnet/minecraft/class_1834;
      named GOLD Lnet/minecraft/item/ToolMaterials;GOLD:Lnet/minecraft/item/ToolMaterials;
    • NETHERITE

      public static final ToolMaterials NETHERITE
      Mappings:
      Namespace Name Mixin selector
      official f Lcku;f:Lcku;
      intermediary field_22033 Lnet/minecraft/class_1834;field_22033:Lnet/minecraft/class_1834;
      named NETHERITE Lnet/minecraft/item/ToolMaterials;NETHERITE:Lnet/minecraft/item/ToolMaterials;
  • Field Details

    • miningLevel

      private final int miningLevel
      Mappings:
      Namespace Name Mixin selector
      official g Lcku;g:I
      intermediary field_8925 Lnet/minecraft/class_1834;field_8925:I
      named miningLevel Lnet/minecraft/item/ToolMaterials;miningLevel:I
    • itemDurability

      private final int itemDurability
      Mappings:
      Namespace Name Mixin selector
      official h Lcku;h:I
      intermediary field_8924 Lnet/minecraft/class_1834;field_8924:I
      named itemDurability Lnet/minecraft/item/ToolMaterials;itemDurability:I
    • miningSpeed

      private final float miningSpeed
      Mappings:
      Namespace Name Mixin selector
      official i Lcku;i:F
      intermediary field_8932 Lnet/minecraft/class_1834;field_8932:F
      named miningSpeed Lnet/minecraft/item/ToolMaterials;miningSpeed:F
    • attackDamage

      private final float attackDamage
      Mappings:
      Namespace Name Mixin selector
      official j Lcku;j:F
      intermediary field_8931 Lnet/minecraft/class_1834;field_8931:F
      named attackDamage Lnet/minecraft/item/ToolMaterials;attackDamage:F
    • enchantability

      private final int enchantability
      Mappings:
      Namespace Name Mixin selector
      official k Lcku;k:I
      intermediary field_8933 Lnet/minecraft/class_1834;field_8933:I
      named enchantability Lnet/minecraft/item/ToolMaterials;enchantability:I
    • repairIngredient

      private final Lazy<Ingredient> repairIngredient
      Mappings:
      Namespace Name Mixin selector
      official l Lcku;l:Larr;
      intermediary field_8928 Lnet/minecraft/class_1834;field_8928:Lnet/minecraft/class_3528;
      named repairIngredient Lnet/minecraft/item/ToolMaterials;repairIngredient:Lnet/minecraft/util/Lazy;
  • Constructor Details

    • ToolMaterials

      private ToolMaterials(int miningLevel, int itemDurability, float miningSpeed, float attackDamage, int enchantability, Supplier<Ingredient> repairIngredient)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lcku;<init>(Ljava/lang/String;IIIFFILjava/util/function/Supplier;)V
      intermediary <init> Lnet/minecraft/class_1834;<init>(Ljava/lang/String;IIIFFILjava/util/function/Supplier;)V
      named <init> Lnet/minecraft/item/ToolMaterials;<init>(Ljava/lang/String;IIIFFILjava/util/function/Supplier;)V
  • Method Details

    • values

      public static ToolMaterials[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static ToolMaterials valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • getDurability

      public int getDurability()
      Returns the total amount of durability a ToolItem using this ToolMaterial has.

      The value returned here will set the Item.Settings max durability option when passed into ToolItem(net.minecraft.item.ToolMaterial, net.minecraft.item.Item.Settings) if the value was not already specified.

      Specified by:
      getDurability in interface ToolMaterial
      Returns:
      the total amount of durability a ToolItem using this ToolMaterial has
      Mappings:
      Namespace Name Mixin selector
      official a Lcks;a()I
      intermediary method_8025 Lnet/minecraft/class_1832;method_8025()I
      named getDurability Lnet/minecraft/item/ToolMaterial;getDurability()I
    • getMiningSpeedMultiplier

      public float getMiningSpeedMultiplier()
      Returns the mining speed bonus applied when a ToolItem using this material is breaking an appropriate block. 1.0f will result in no speed change.

      Note: for default vanilla tool classes, this bonus is only applied in MiningToolItem.getMiningSpeedMultiplier(ItemStack, BlockState).

      Specified by:
      getMiningSpeedMultiplier in interface ToolMaterial
      Returns:
      the mining speed bonus applied when a ToolItem using this material is breaking an appropriate block
      Mappings:
      Namespace Name Mixin selector
      official b Lcks;b()F
      intermediary method_8027 Lnet/minecraft/class_1832;method_8027()F
      named getMiningSpeedMultiplier Lnet/minecraft/item/ToolMaterial;getMiningSpeedMultiplier()F
    • getAttackDamage

      public float getAttackDamage()
      Returns the attack damage bonus applied to any ToolItem using this ToolMaterial.

      In the case of MiningToolItem or SwordItem, the value returned here will be added on top of the attackDamage value passed into the tool's constructor.

      Specified by:
      getAttackDamage in interface ToolMaterial
      Returns:
      the attack damage bonus applied to any ToolItem using this ToolMaterial
      Mappings:
      Namespace Name Mixin selector
      official c Lcks;c()F
      intermediary method_8028 Lnet/minecraft/class_1832;method_8028()F
      named getAttackDamage Lnet/minecraft/item/ToolMaterial;getAttackDamage()F
    • getMiningLevel

      public int getMiningLevel()
      Returns the mining level of a ToolItem using this ToolMaterial. To prevent this tool from successfully harvesting any mining level gated blocks, return MiningLevels.HAND.

      For more information on mining levels, visit MiningLevels.

      Specified by:
      getMiningLevel in interface ToolMaterial
      Returns:
      the mining level of a ToolItem using this ToolMaterial
      Mappings:
      Namespace Name Mixin selector
      official d Lcks;d()I
      intermediary method_8024 Lnet/minecraft/class_1832;method_8024()I
      named getMiningLevel Lnet/minecraft/item/ToolMaterial;getMiningLevel()I
    • getEnchantability

      public int getEnchantability()
      Returns the enchantment value sent back to Item.getEnchantability() for tools using this material.

      By default, ToolMaterial will override Item.getEnchantability() and delegate the call back to this method.

      A higher return value will result in better enchantment results when using an Enchanting Table. The highest enchantability value in vanilla is Netherite, at 37.

      Specified by:
      getEnchantability in interface ToolMaterial
      Returns:
      the enchantment value sent back to Item.getEnchantability() for tools using this material
      Mappings:
      Namespace Name Mixin selector
      official e Lcks;e()I
      intermediary method_8026 Lnet/minecraft/class_1832;method_8026()I
      named getEnchantability Lnet/minecraft/item/ToolMaterial;getEnchantability()I
    • getRepairIngredient

      public Ingredient getRepairIngredient()
      Returns the Ingredient used to repair items using this ToolMaterial.

      By default, ToolMaterial will delegate Item.canRepair(ItemStack, ItemStack) back to this method.

      Specified by:
      getRepairIngredient in interface ToolMaterial
      Returns:
      the Ingredient used to repair items using this ToolMaterial
      Mappings:
      Namespace Name Mixin selector
      official f Lcks;f()Lcmg;
      intermediary method_8023 Lnet/minecraft/class_1832;method_8023()Lnet/minecraft/class_1856;
      named getRepairIngredient Lnet/minecraft/item/ToolMaterial;getRepairIngredient()Lnet/minecraft/recipe/Ingredient;