Class BowItem

All Implemented Interfaces:
ItemConvertible, Vanishable, ToggleableFeature

public class BowItem extends RangedWeaponItem implements Vanishable
Mappings:
Namespace Name
official cbw
intermediary net/minecraft/class_1753
named net/minecraft/item/BowItem
  • Field Details

    • TICKS_PER_SECOND

      public static final int TICKS_PER_SECOND
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lcbw;a:I
      intermediary field_30855 Lnet/minecraft/class_1753;field_30855:I
      named TICKS_PER_SECOND Lnet/minecraft/item/BowItem;TICKS_PER_SECOND:I
    • RANGE

      public static final int RANGE
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official b Lcbw;b:I
      intermediary field_30856 Lnet/minecraft/class_1753;field_30856:I
      named RANGE Lnet/minecraft/item/BowItem;RANGE:I
  • Constructor Details

    • BowItem

      public BowItem(Item.Settings settings)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lcdp;<init>(Lcdp$a;)V
      intermediary <init> Lnet/minecraft/class_1792;<init>(Lnet/minecraft/class_1792$class_1793;)V
      named <init> Lnet/minecraft/item/Item;<init>(Lnet/minecraft/item/Item$Settings;)V
  • Method Details

    • onStoppedUsing

      public void onStoppedUsing(ItemStack stack, World world, LivingEntity user, int remainingUseTicks)
      Called on both the client and the server when an entity stops using an item before reaching the maximum use time. If the time was reached, Item.finishUsing(net.minecraft.item.ItemStack, net.minecraft.world.World, net.minecraft.entity.LivingEntity) is called instead.

      This method is called on both the logical client and logical server, so take caution when overriding this method. The logical side can be checked using World.isClient.

      user might not be a player in some cases. For example, this occurs when an entity uses a crossbow.

      Overrides:
      onStoppedUsing in class Item
      Mappings:
      Namespace Name Mixin selector
      official a Lcdp;a(Lcdt;Lcjw;Lbeg;I)V
      intermediary method_7840 Lnet/minecraft/class_1792;method_7840(Lnet/minecraft/class_1799;Lnet/minecraft/class_1937;Lnet/minecraft/class_1309;I)V
      named onStoppedUsing Lnet/minecraft/item/Item;onStoppedUsing(Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/LivingEntity;I)V
    • getPullProgress

      public static float getPullProgress(int useTicks)
      Mappings:
      Namespace Name Mixin selector
      official a Lcbw;a(I)F
      intermediary method_7722 Lnet/minecraft/class_1753;method_7722(I)F
      named getPullProgress Lnet/minecraft/item/BowItem;getPullProgress(I)F
    • getMaxUseTime

      public int getMaxUseTime(ItemStack stack)
      Returns the maximum use (right-click) time of this item, in ticks. Once a player has used an item for said number of ticks, they stop using it, and Item.finishUsing(net.minecraft.item.ItemStack, net.minecraft.world.World, net.minecraft.entity.LivingEntity) is called.
      Overrides:
      getMaxUseTime in class Item
      Returns:
      the maximum use (right-click) time of this item, in ticks
      Mappings:
      Namespace Name Mixin selector
      official b Lcdp;b(Lcdt;)I
      intermediary method_7881 Lnet/minecraft/class_1792;method_7881(Lnet/minecraft/class_1799;)I
      named getMaxUseTime Lnet/minecraft/item/Item;getMaxUseTime(Lnet/minecraft/item/ItemStack;)I
    • getUseAction

      public UseAction getUseAction(ItemStack stack)
      Returns the use action the item should perform.
      Overrides:
      getUseAction in class Item
      Returns:
      the use action the item should perform
      Mappings:
      Namespace Name Mixin selector
      official c Lcdp;c(Lcdt;)Lcfk;
      intermediary method_7853 Lnet/minecraft/class_1792;method_7853(Lnet/minecraft/class_1799;)Lnet/minecraft/class_1839;
      named getUseAction Lnet/minecraft/item/Item;getUseAction(Lnet/minecraft/item/ItemStack;)Lnet/minecraft/util/UseAction;
    • use

      public TypedActionResult<ItemStack> use(World world, PlayerEntity user, Hand hand)
      Called when the player uses (or starts using) the item. The use action, by default, is bound to the right mouse button. This method checks the player's hunger when the item is a food, and will pass in all other cases by default.

      If the item can be used for multiple ticks, then this will only be called when the player starts using it. After that, Item.usageTick(net.minecraft.world.World, net.minecraft.entity.LivingEntity, net.minecraft.item.ItemStack, int) is called every tick until the player finishes using the item.

      This method is called on both the logical client and logical server, so take caution when overriding this method. The logical side can be checked using world.isClient().

      Overrides:
      use in class Item
      Parameters:
      world - the world the item was used in
      user - the player who used the item
      hand - the hand used
      Returns:
      a typed action result that specifies whether using the item was successful. The action result contains the new item stack that the player's hand will be set to.
      Mappings:
      Namespace Name Mixin selector
      official a Lcdp;a(Lcjw;Lbwp;Lbcl;)Lbcn;
      intermediary method_7836 Lnet/minecraft/class_1792;method_7836(Lnet/minecraft/class_1937;Lnet/minecraft/class_1657;Lnet/minecraft/class_1268;)Lnet/minecraft/class_1271;
      named use Lnet/minecraft/item/Item;use(Lnet/minecraft/world/World;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/util/Hand;)Lnet/minecraft/util/TypedActionResult;
    • getProjectiles

      public Predicate<ItemStack> getProjectiles()
      Specified by:
      getProjectiles in class RangedWeaponItem
      Mappings:
      Namespace Name Mixin selector
      official b Lcej;b()Ljava/util/function/Predicate;
      intermediary method_19268 Lnet/minecraft/class_1811;method_19268()Ljava/util/function/Predicate;
      named getProjectiles Lnet/minecraft/item/RangedWeaponItem;getProjectiles()Ljava/util/function/Predicate;
    • getRange

      public int getRange()
      Specified by:
      getRange in class RangedWeaponItem
      Mappings:
      Namespace Name Mixin selector
      official d Lcej;d()I
      intermediary method_24792 Lnet/minecraft/class_1811;method_24792()I
      named getRange Lnet/minecraft/item/RangedWeaponItem;getRange()I