Class MiningToolItem

All Implemented Interfaces:
ItemConvertible, Vanishable
Direct Known Subclasses:
AxeItem, HoeItem, PickaxeItem, ShovelItem

public class MiningToolItem extends ToolItem implements Vanishable
Mappings:
Namespace Name
official bzm
intermediary net/minecraft/class_1766
named net/minecraft/item/MiningToolItem
  • Field Details

    • effectiveBlocks

      private final TagKey<Block> effectiveBlocks
      Mappings:
      Namespace Name Mixin selector
      official a Lbzm;a:Lakz;
      intermediary field_7941 Lnet/minecraft/class_1766;field_7941:Lnet/minecraft/class_6862;
      named effectiveBlocks Lnet/minecraft/item/MiningToolItem;effectiveBlocks:Lnet/minecraft/tag/TagKey;
    • miningSpeed

      protected final float miningSpeed
      Mappings:
      Namespace Name Mixin selector
      official b Lbzm;b:F
      intermediary field_7940 Lnet/minecraft/class_1766;field_7940:F
      named miningSpeed Lnet/minecraft/item/MiningToolItem;miningSpeed:F
    • attackDamage

      private final float attackDamage
      Mappings:
      Namespace Name Mixin selector
      official c Lbzm;c:F
      intermediary field_7939 Lnet/minecraft/class_1766;field_7939:F
      named attackDamage Lnet/minecraft/item/MiningToolItem;attackDamage:F
    • attributeModifiers

      private final Multimap<EntityAttribute,EntityAttributeModifier> attributeModifiers
      Mappings:
      Namespace Name Mixin selector
      official d Lbzm;d:Lcom/google/common/collect/Multimap;
      intermediary field_23742 Lnet/minecraft/class_1766;field_23742:Lcom/google/common/collect/Multimap;
      named attributeModifiers Lnet/minecraft/item/MiningToolItem;attributeModifiers:Lcom/google/common/collect/Multimap;
  • Constructor Details

    • MiningToolItem

      protected MiningToolItem(float attackDamage, float attackSpeed, ToolMaterial material, TagKey<Block> effectiveBlocks, Item.Settings settings)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lbzm;<init>(FFLcch;Lakz;Lcat$a;)V
      intermediary <init> Lnet/minecraft/class_1766;<init>(FFLnet/minecraft/class_1832;Lnet/minecraft/class_6862;Lnet/minecraft/class_1792$class_1793;)V
      named <init> Lnet/minecraft/item/MiningToolItem;<init>(FFLnet/minecraft/item/ToolMaterial;Lnet/minecraft/tag/TagKey;Lnet/minecraft/item/Item$Settings;)V
  • Method Details

    • getMiningSpeedMultiplier

      public float getMiningSpeedMultiplier(ItemStack stack, BlockState state)
      Returns the multiplier applied to the mining speed of stack when mining state.

      The default value is 1.0f. Returning larger integer will cause the block to be mined faster. Enchantments, status effects, and other effects that affect mining speed are instead handled in PlayerEntity.getBlockBreakingSpeed(net.minecraft.block.BlockState).

      Overrides:
      getMiningSpeedMultiplier in class Item
      Returns:
      the multiplier applied to the mining speed of stack when mining state
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lcat;a(Lcax;Lcvo;)F
      intermediary method_7865 Lnet/minecraft/class_1792;method_7865(Lnet/minecraft/class_1799;Lnet/minecraft/class_2680;)F
      named getMiningSpeedMultiplier Lnet/minecraft/item/Item;getMiningSpeedMultiplier(Lnet/minecraft/item/ItemStack;Lnet/minecraft/block/BlockState;)F
    • postHit

      public boolean postHit(ItemStack stack, LivingEntity target, LivingEntity attacker)
      Called on the server when the item is used to hit an entity.

      Tools and melee weapons should override this to damage the stack.

      Overrides:
      postHit in class Item
      Returns:
      whether the item's use stat should be incremented
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lcat;a(Lcax;Lbcc;Lbcc;)Z
      intermediary method_7873 Lnet/minecraft/class_1792;method_7873(Lnet/minecraft/class_1799;Lnet/minecraft/class_1309;Lnet/minecraft/class_1309;)Z
      named postHit Lnet/minecraft/item/Item;postHit(Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/entity/LivingEntity;)Z
    • postMine

      public boolean postMine(ItemStack stack, World world, BlockState state, BlockPos pos, LivingEntity miner)
      Called on the server when the item is used to break a block.

      Tools and melee weapons should override this to damage the stack, after checking if the block's hardness is larger than 0.0f.

      Overrides:
      postMine in class Item
      Returns:
      whether the item's use stat should be incremented
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lcat;a(Lcax;Lcgx;Lcvo;Lgt;Lbcc;)Z
      intermediary method_7879 Lnet/minecraft/class_1792;method_7879(Lnet/minecraft/class_1799;Lnet/minecraft/class_1937;Lnet/minecraft/class_2680;Lnet/minecraft/class_2338;Lnet/minecraft/class_1309;)Z
      named postMine Lnet/minecraft/item/Item;postMine(Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/LivingEntity;)Z
    • getAttributeModifiers

      public Multimap<EntityAttribute,EntityAttributeModifier> getAttributeModifiers(EquipmentSlot slot)
      Returns the attribute modifiers the item provides.

      Tools and armor should override this to specify the attack damage or armor points.

      Overrides:
      getAttributeModifiers in class Item
      Returns:
      the attribute modifiers the item provides
      Mappings:
      Namespace Name Mixin selector
      official a Lcat;a(Lbbs;)Lcom/google/common/collect/Multimap;
      intermediary method_7844 Lnet/minecraft/class_1792;method_7844(Lnet/minecraft/class_1304;)Lcom/google/common/collect/Multimap;
      named getAttributeModifiers Lnet/minecraft/item/Item;getAttributeModifiers(Lnet/minecraft/entity/EquipmentSlot;)Lcom/google/common/collect/Multimap;
    • getAttackDamage

      public float getAttackDamage()
      Mappings:
      Namespace Name Mixin selector
      official d Lbzm;d()F
      intermediary method_26366 Lnet/minecraft/class_1766;method_26366()F
      named getAttackDamage Lnet/minecraft/item/MiningToolItem;getAttackDamage()F
    • isSuitableFor

      public boolean isSuitableFor(BlockState state)
      Determines whether this item can be used as a suitable tool for mining the specified block. Depending on block implementation, when combined together, the correct item and block may achieve a better mining speed and yield drops that would not be obtained when mining otherwise.

      Note that this is not the only way to achieve "effectiveness" when mining. Other items, such as shears on string, may use their own logic and calls to this method might not return a value consistent to this rule for those items.

      Overrides:
      isSuitableFor in class Item
      Mappings:
      Namespace Name Mixin selector
      official a_ Lcat;a_(Lcvo;)Z
      intermediary method_7856 Lnet/minecraft/class_1792;method_7856(Lnet/minecraft/class_2680;)Z
      named isSuitableFor Lnet/minecraft/item/Item;isSuitableFor(Lnet/minecraft/block/BlockState;)Z