Class CrossbowItem

All Implemented Interfaces:
ItemConvertible, Vanishable, ToggleableFeature

public class CrossbowItem extends RangedWeaponItem implements Vanishable
Mappings:
Namespace Name
official chn
intermediary net/minecraft/class_1764
named net/minecraft/item/CrossbowItem
  • Field Details

    • CHARGED_KEY

      private static final String CHARGED_KEY
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official b Lchn;b:Ljava/lang/String;
      intermediary field_30864 Lnet/minecraft/class_1764;field_30864:Ljava/lang/String;
      named CHARGED_KEY Lnet/minecraft/item/CrossbowItem;CHARGED_KEY:Ljava/lang/String;
    • CHARGED_PROJECTILES_KEY

      private static final String CHARGED_PROJECTILES_KEY
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official e Lchn;e:Ljava/lang/String;
      intermediary field_30865 Lnet/minecraft/class_1764;field_30865:Ljava/lang/String;
      named CHARGED_PROJECTILES_KEY Lnet/minecraft/item/CrossbowItem;CHARGED_PROJECTILES_KEY:Ljava/lang/String;
    • DEFAULT_PULL_TIME

      private static final int DEFAULT_PULL_TIME
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official f Lchn;f:I
      intermediary field_30866 Lnet/minecraft/class_1764;field_30866:I
      named DEFAULT_PULL_TIME Lnet/minecraft/item/CrossbowItem;DEFAULT_PULL_TIME:I
    • RANGE

      public static final int RANGE
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lchn;a:I
      intermediary field_30863 Lnet/minecraft/class_1764;field_30863:I
      named RANGE Lnet/minecraft/item/CrossbowItem;RANGE:I
    • field_30867

      private static final float field_30867
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official i Lchn;i:F
      intermediary field_30867 Lnet/minecraft/class_1764;field_30867:F
      named field_30867 Lnet/minecraft/item/CrossbowItem;field_30867:F
    • field_30868

      private static final float field_30868
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official j Lchn;j:F
      intermediary field_30868 Lnet/minecraft/class_1764;field_30868:F
      named field_30868 Lnet/minecraft/item/CrossbowItem;field_30868:F
    • DEFAULT_SPEED

      private static final float DEFAULT_SPEED
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official k Lchn;k:F
      intermediary field_30869 Lnet/minecraft/class_1764;field_30869:F
      named DEFAULT_SPEED Lnet/minecraft/item/CrossbowItem;DEFAULT_SPEED:F
    • FIREWORK_ROCKET_SPEED

      private static final float FIREWORK_ROCKET_SPEED
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official r Lchn;r:F
      intermediary field_30870 Lnet/minecraft/class_1764;field_30870:F
      named FIREWORK_ROCKET_SPEED Lnet/minecraft/item/CrossbowItem;FIREWORK_ROCKET_SPEED:F
    • charged

      private boolean charged
      Mappings:
      Namespace Name Mixin selector
      official g Lchn;g:Z
      intermediary field_7937 Lnet/minecraft/class_1764;field_7937:Z
      named charged Lnet/minecraft/item/CrossbowItem;charged:Z
    • loaded

      private boolean loaded
      Mappings:
      Namespace Name Mixin selector
      official h Lchn;h:Z
      intermediary field_7936 Lnet/minecraft/class_1764;field_7936:Z
      named loaded Lnet/minecraft/item/CrossbowItem;loaded:Z
  • Constructor Details

    • CrossbowItem

      public CrossbowItem(Item.Settings settings)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lcja;<init>(Lcja$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

    • getHeldProjectiles

      public Predicate<ItemStack> getHeldProjectiles()
      Overrides:
      getHeldProjectiles in class RangedWeaponItem
      Mappings:
      Namespace Name Mixin selector
      official e Lcjv;e()Ljava/util/function/Predicate;
      intermediary method_20310 Lnet/minecraft/class_1811;method_20310()Ljava/util/function/Predicate;
      named getHeldProjectiles Lnet/minecraft/item/RangedWeaponItem;getHeldProjectiles()Ljava/util/function/Predicate;
    • getProjectiles

      public Predicate<ItemStack> getProjectiles()
      Specified by:
      getProjectiles in class RangedWeaponItem
      Mappings:
      Namespace Name Mixin selector
      official b Lcjv;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;
    • 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 Lcja;a(Lcpv;Lcbu;Lbgx;)Lbgz;
      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;
    • getSpeed

      private static float getSpeed(ItemStack stack)
      Mappings:
      Namespace Name Mixin selector
      official o Lchn;o(Lcjf;)F
      intermediary method_20309 Lnet/minecraft/class_1764;method_20309(Lnet/minecraft/class_1799;)F
      named getSpeed Lnet/minecraft/item/CrossbowItem;getSpeed(Lnet/minecraft/item/ItemStack;)F
    • 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 Lcja;a(Lcjf;Lcpv;Lbjg;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
    • loadProjectiles

      private static boolean loadProjectiles(LivingEntity shooter, ItemStack crossbow)
      Mappings:
      Namespace Name Mixin selector
      official a Lchn;a(Lbjg;Lcjf;)Z
      intermediary method_7767 Lnet/minecraft/class_1764;method_7767(Lnet/minecraft/class_1309;Lnet/minecraft/class_1799;)Z
      named loadProjectiles Lnet/minecraft/item/CrossbowItem;loadProjectiles(Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/item/ItemStack;)Z
    • loadProjectile

      private static boolean loadProjectile(LivingEntity shooter, ItemStack crossbow, ItemStack projectile, boolean simulated, boolean creative)
      Mappings:
      Namespace Name Mixin selector
      official a Lchn;a(Lbjg;Lcjf;Lcjf;ZZ)Z
      intermediary method_7765 Lnet/minecraft/class_1764;method_7765(Lnet/minecraft/class_1309;Lnet/minecraft/class_1799;Lnet/minecraft/class_1799;ZZ)Z
      named loadProjectile Lnet/minecraft/item/CrossbowItem;loadProjectile(Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;ZZ)Z
    • isCharged

      public static boolean isCharged(ItemStack stack)
      Mappings:
      Namespace Name Mixin selector
      official d Lchn;d(Lcjf;)Z
      intermediary method_7781 Lnet/minecraft/class_1764;method_7781(Lnet/minecraft/class_1799;)Z
      named isCharged Lnet/minecraft/item/CrossbowItem;isCharged(Lnet/minecraft/item/ItemStack;)Z
    • setCharged

      public static void setCharged(ItemStack stack, boolean charged)
      Mappings:
      Namespace Name Mixin selector
      official a Lchn;a(Lcjf;Z)V
      intermediary method_7782 Lnet/minecraft/class_1764;method_7782(Lnet/minecraft/class_1799;Z)V
      named setCharged Lnet/minecraft/item/CrossbowItem;setCharged(Lnet/minecraft/item/ItemStack;Z)V
    • putProjectile

      private static void putProjectile(ItemStack crossbow, ItemStack projectile)
      Mappings:
      Namespace Name Mixin selector
      official b Lchn;b(Lcjf;Lcjf;)V
      intermediary method_7778 Lnet/minecraft/class_1764;method_7778(Lnet/minecraft/class_1799;Lnet/minecraft/class_1799;)V
      named putProjectile Lnet/minecraft/item/CrossbowItem;putProjectile(Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)V
    • getProjectiles

      private static List<ItemStack> getProjectiles(ItemStack crossbow)
      Mappings:
      Namespace Name Mixin selector
      official p Lchn;p(Lcjf;)Ljava/util/List;
      intermediary method_7785 Lnet/minecraft/class_1764;method_7785(Lnet/minecraft/class_1799;)Ljava/util/List;
      named getProjectiles Lnet/minecraft/item/CrossbowItem;getProjectiles(Lnet/minecraft/item/ItemStack;)Ljava/util/List;
    • clearProjectiles

      private static void clearProjectiles(ItemStack crossbow)
      Mappings:
      Namespace Name Mixin selector
      official q Lchn;q(Lcjf;)V
      intermediary method_7766 Lnet/minecraft/class_1764;method_7766(Lnet/minecraft/class_1799;)V
      named clearProjectiles Lnet/minecraft/item/CrossbowItem;clearProjectiles(Lnet/minecraft/item/ItemStack;)V
    • hasProjectile

      public static boolean hasProjectile(ItemStack crossbow, Item projectile)
      Mappings:
      Namespace Name Mixin selector
      official a Lchn;a(Lcjf;Lcja;)Z
      intermediary method_7772 Lnet/minecraft/class_1764;method_7772(Lnet/minecraft/class_1799;Lnet/minecraft/class_1792;)Z
      named hasProjectile Lnet/minecraft/item/CrossbowItem;hasProjectile(Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/Item;)Z
    • shoot

      private static void shoot(World world, LivingEntity shooter, Hand hand, ItemStack crossbow, ItemStack projectile, float soundPitch, boolean creative, float speed, float divergence, float simulated)
      Mappings:
      Namespace Name Mixin selector
      official a Lchn;a(Lcpv;Lbjg;Lbgx;Lcjf;Lcjf;FZFFF)V
      intermediary method_7763 Lnet/minecraft/class_1764;method_7763(Lnet/minecraft/class_1937;Lnet/minecraft/class_1309;Lnet/minecraft/class_1268;Lnet/minecraft/class_1799;Lnet/minecraft/class_1799;FZFFF)V
      named shoot Lnet/minecraft/item/CrossbowItem;shoot(Lnet/minecraft/world/World;Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/util/Hand;Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;FZFFF)V
    • createArrow

      private static PersistentProjectileEntity createArrow(World world, LivingEntity entity, ItemStack crossbow, ItemStack arrow)
      Mappings:
      Namespace Name Mixin selector
      official a Lchn;a(Lcpv;Lbjg;Lcjf;Lcjf;)Lcca;
      intermediary method_18814 Lnet/minecraft/class_1764;method_18814(Lnet/minecraft/class_1937;Lnet/minecraft/class_1309;Lnet/minecraft/class_1799;Lnet/minecraft/class_1799;)Lnet/minecraft/class_1665;
      named createArrow Lnet/minecraft/item/CrossbowItem;createArrow(Lnet/minecraft/world/World;Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/entity/projectile/PersistentProjectileEntity;
    • shootAll

      public static void shootAll(World world, LivingEntity entity, Hand hand, ItemStack stack, float speed, float divergence)
      Mappings:
      Namespace Name Mixin selector
      official a Lchn;a(Lcpv;Lbjg;Lbgx;Lcjf;FF)V
      intermediary method_7777 Lnet/minecraft/class_1764;method_7777(Lnet/minecraft/class_1937;Lnet/minecraft/class_1309;Lnet/minecraft/class_1268;Lnet/minecraft/class_1799;FF)V
      named shootAll Lnet/minecraft/item/CrossbowItem;shootAll(Lnet/minecraft/world/World;Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/util/Hand;Lnet/minecraft/item/ItemStack;FF)V
    • getSoundPitches

      private static float[] getSoundPitches(Random random)
      Mappings:
      Namespace Name Mixin selector
      official a Lchn;a(Lasc;)[F
      intermediary method_7780 Lnet/minecraft/class_1764;method_7780(Lnet/minecraft/class_5819;)[F
      named getSoundPitches Lnet/minecraft/item/CrossbowItem;getSoundPitches(Lnet/minecraft/util/math/random/Random;)[F
    • getSoundPitch

      private static float getSoundPitch(boolean flag, Random random)
      Mappings:
      Namespace Name Mixin selector
      official a Lchn;a(ZLasc;)F
      intermediary method_7784 Lnet/minecraft/class_1764;method_7784(ZLnet/minecraft/class_5819;)F
      named getSoundPitch Lnet/minecraft/item/CrossbowItem;getSoundPitch(ZLnet/minecraft/util/math/random/Random;)F
    • postShoot

      private static void postShoot(World world, LivingEntity entity, ItemStack stack)
      Mappings:
      Namespace Name Mixin selector
      official a Lchn;a(Lcpv;Lbjg;Lcjf;)V
      intermediary method_7769 Lnet/minecraft/class_1764;method_7769(Lnet/minecraft/class_1937;Lnet/minecraft/class_1309;Lnet/minecraft/class_1799;)V
      named postShoot Lnet/minecraft/item/CrossbowItem;postShoot(Lnet/minecraft/world/World;Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/item/ItemStack;)V
    • usageTick

      public void usageTick(World world, LivingEntity user, ItemStack stack, int remainingUseTicks)
      Called on both the server and the client every tick while an entity uses the item. Currently used by CrossbowItem to charge the crossbow. If this is overridden, Item.getMaxUseTime(net.minecraft.item.ItemStack) should also be overridden to return a positive value.
      Overrides:
      usageTick in class Item
      Parameters:
      remainingUseTicks - how long it's left until the entity finishes using the item, in ticks
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lcja;a(Lcpv;Lbjg;Lcjf;I)V
      intermediary method_7852 Lnet/minecraft/class_1792;method_7852(Lnet/minecraft/class_1937;Lnet/minecraft/class_1309;Lnet/minecraft/class_1799;I)V
      named usageTick Lnet/minecraft/item/Item;usageTick(Lnet/minecraft/world/World;Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/item/ItemStack;I)V
    • 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 Lcja;b(Lcjf;)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
    • getPullTime

      public static int getPullTime(ItemStack stack)
      Mappings:
      Namespace Name Mixin selector
      official k Lchn;k(Lcjf;)I
      intermediary method_7775 Lnet/minecraft/class_1764;method_7775(Lnet/minecraft/class_1799;)I
      named getPullTime Lnet/minecraft/item/CrossbowItem;getPullTime(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 Lcja;c(Lcjf;)Lcky;
      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;
    • getQuickChargeSound

      private SoundEvent getQuickChargeSound(int stage)
      Mappings:
      Namespace Name Mixin selector
      official a Lchn;a(I)Lapc;
      intermediary method_7773 Lnet/minecraft/class_1764;method_7773(I)Lnet/minecraft/class_3414;
      named getQuickChargeSound Lnet/minecraft/item/CrossbowItem;getQuickChargeSound(I)Lnet/minecraft/sound/SoundEvent;
    • getPullProgress

      private static float getPullProgress(int useTicks, ItemStack stack)
      Mappings:
      Namespace Name Mixin selector
      official a Lchn;a(ILcjf;)F
      intermediary method_7770 Lnet/minecraft/class_1764;method_7770(ILnet/minecraft/class_1799;)F
      named getPullProgress Lnet/minecraft/item/CrossbowItem;getPullProgress(ILnet/minecraft/item/ItemStack;)F
    • appendTooltip

      public void appendTooltip(ItemStack stack, @Nullable @Nullable World world, List<Text> tooltip, TooltipContext context)
      Called by the client to append tooltips to an item. Subclasses can override this and add custom tooltips to tooltip list.
      Overrides:
      appendTooltip in class Item
      Parameters:
      tooltip - the list of tooltips to show
      Mappings:
      Namespace Name Mixin selector
      official a Lcja;a(Lcjf;Lcpv;Ljava/util/List;Lckw;)V
      intermediary method_7851 Lnet/minecraft/class_1792;method_7851(Lnet/minecraft/class_1799;Lnet/minecraft/class_1937;Ljava/util/List;Lnet/minecraft/class_1836;)V
      named appendTooltip Lnet/minecraft/item/Item;appendTooltip(Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Ljava/util/List;Lnet/minecraft/client/item/TooltipContext;)V
    • isUsedOnRelease

      public boolean isUsedOnRelease(ItemStack stack)
      Overrides:
      isUsedOnRelease in class Item
      Mappings:
      Namespace Name Mixin selector
      official l Lcja;l(Lcjf;)Z
      intermediary method_7838 Lnet/minecraft/class_1792;method_7838(Lnet/minecraft/class_1799;)Z
      named isUsedOnRelease Lnet/minecraft/item/Item;isUsedOnRelease(Lnet/minecraft/item/ItemStack;)Z
    • getRange

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