Class BowItem

All Implemented Interfaces:
ItemConvertible, ToggleableFeature

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

    • TICKS_PER_SECOND

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

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

    • BowItem

      public BowItem(Item.Settings settings)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/item/Item;<init>(Lnet/minecraft/item/Item$Settings;)V
      intermediary <init> Lnet/minecraft/class_1792;<init>(Lnet/minecraft/class_1792$class_1793;)V
      official <init> Lcuj;<init>(Lcuj$a;)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
      named onStoppedUsing Lnet/minecraft/item/Item;onStoppedUsing(Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/LivingEntity;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
      official a Lcuj;a(Lcuo;Ldcu;Lbtl;I)V
    • shoot

      protected void shoot(LivingEntity shooter, ProjectileEntity projectile, int index, float speed, float divergence, float yaw, @Nullable @Nullable LivingEntity target)
      Specified by:
      shoot in class RangedWeaponItem
      Mappings:
      Namespace Name Mixin selector
      named shoot Lnet/minecraft/item/RangedWeaponItem;shoot(Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/entity/projectile/ProjectileEntity;IFFFLnet/minecraft/entity/LivingEntity;)V
      intermediary method_7763 Lnet/minecraft/class_1811;method_7763(Lnet/minecraft/class_1309;Lnet/minecraft/class_1676;IFFFLnet/minecraft/class_1309;)V
      official a Lcvl;a(Lbtl;Lcnn;IFFFLbtl;)V
    • getPullProgress

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

      public int getMaxUseTime(ItemStack stack, LivingEntity user)
      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
      named getMaxUseTime Lnet/minecraft/item/Item;getMaxUseTime(Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/LivingEntity;)I
      intermediary method_7881 Lnet/minecraft/class_1792;method_7881(Lnet/minecraft/class_1799;Lnet/minecraft/class_1309;)I
      official a Lcuj;a(Lcuo;Lbtl;)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
      named getUseAction Lnet/minecraft/item/Item;getUseAction(Lnet/minecraft/item/ItemStack;)Lnet/minecraft/util/UseAction;
      intermediary method_7853 Lnet/minecraft/class_1792;method_7853(Lnet/minecraft/class_1799;)Lnet/minecraft/class_1839;
      official b Lcuj;b(Lcuo;)Lcwm;
    • 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
      named use Lnet/minecraft/item/Item;use(Lnet/minecraft/world/World;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/util/Hand;)Lnet/minecraft/util/TypedActionResult;
      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;
      official a Lcuj;a(Ldcu;Lcmv;Lbqp;)Lbqr;
    • getProjectiles

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

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