Package net.minecraft.item
Class CrossbowItem
java.lang.Object
net.minecraft.item.Item
net.minecraft.item.RangedWeaponItem
net.minecraft.item.CrossbowItem
- All Implemented Interfaces:
ItemConvertible,Vanishable,ToggleableFeature
- Mappings:
Namespace Name intermediary net/minecraft/class_1764official cefnamed net/minecraft/item/CrossbowItem
-
Nested Class Summary
Nested classes/interfaces inherited from class net.minecraft.item.Item
Item.Settings -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanprivate static final Stringprivate static final Stringprivate static final intprivate static final floatprivate static final floatprivate static final floatprivate static final floatprivate booleanstatic final intFields inherited from class net.minecraft.item.RangedWeaponItem
BOW_PROJECTILES, CROSSBOW_HELD_PROJECTILESFields inherited from class net.minecraft.item.Item
ATTACK_DAMAGE_MODIFIER_ID, ATTACK_SPEED_MODIFIER_ID, BLOCK_ITEMS, DEFAULT_MAX_COUNT, DEFAULT_MAX_USE_TIME, ITEM_BAR_STEPSFields inherited from interface net.minecraft.resource.featuretoggle.ToggleableFeature
FEATURE_ENABLED_REGISTRY_KEYS -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidappendTooltip(ItemStack stack, @Nullable World world, List<Text> tooltip, TooltipContext context) Called by the client to append tooltips to an item.private static voidclearProjectiles(ItemStack crossbow) private static PersistentProjectileEntitycreateArrow(World world, LivingEntity entity, ItemStack crossbow, ItemStack arrow) intgetMaxUseTime(ItemStack stack) Returns the maximum use (right-click) time of this item, in ticks.getProjectiles(ItemStack crossbow) private static floatgetPullProgress(int useTicks, ItemStack stack) static intgetPullTime(ItemStack stack) private SoundEventgetQuickChargeSound(int stage) intgetRange()private static floatgetSoundPitch(boolean flag, Random random) private static float[]getSoundPitches(Random random) private static floatgetUseAction(ItemStack stack) Returns the use action the item should perform.static booleanhasProjectile(ItemStack crossbow, Item projectile) static booleanbooleanisUsedOnRelease(ItemStack stack) private static booleanloadProjectile(LivingEntity shooter, ItemStack crossbow, ItemStack projectile, boolean simulated, boolean creative) private static booleanloadProjectiles(LivingEntity shooter, ItemStack crossbow) voidonStoppedUsing(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.private static voidpostShoot(World world, LivingEntity entity, ItemStack stack) private static voidputProjectile(ItemStack crossbow, ItemStack projectile) static voidsetCharged(ItemStack stack, boolean charged) private static voidshoot(World world, LivingEntity shooter, Hand hand, ItemStack crossbow, ItemStack projectile, float soundPitch, boolean creative, float speed, float divergence, float simulated) static voidshootAll(World world, LivingEntity entity, Hand hand, ItemStack stack, float speed, float divergence) voidusageTick(World world, LivingEntity user, ItemStack stack, int remainingUseTicks) Called on both the server and the client every tick while an entity uses the item.use(World world, PlayerEntity user, Hand hand) Called when the player uses (or starts using) the item.Methods inherited from class net.minecraft.item.RangedWeaponItem
getEnchantability, getHeldProjectileMethods inherited from class net.minecraft.item.Item
asItem, byRawId, canBeNested, canMine, canRepair, damage, finishUsing, fromBlock, getAttributeModifiers, getDefaultStack, getDrinkSound, getEatSound, getFoodComponent, getItemBarColor, getItemBarStep, getMaxCount, getMaxDamage, getMiningSpeedMultiplier, getName, getName, getOrCreateTranslationKey, getRarity, getRawId, getRecipeRemainder, getRegistryEntry, getRequiredFeatures, getTooltipData, getTranslationKey, getTranslationKey, hasGlint, hasRecipeRemainder, inventoryTick, isDamageable, isEnchantable, isFireproof, isFood, isItemBarVisible, isNbtSynced, isNetworkSynced, isSuitableFor, onClicked, onCraft, onItemEntityDestroyed, onStackClicked, postHit, postMine, postProcessNbt, raycast, toString, useOnBlock, useOnEntityMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface net.minecraft.resource.featuretoggle.ToggleableFeature
isEnabled
-
Field Details
-
CHARGED_KEY
- See Also:
- Mappings:
Namespace Name Mixin selector intermediary field_30864Lnet/minecraft/class_1764;field_30864:Ljava/lang/String;official bLcef;b:Ljava/lang/String;named CHARGED_KEYLnet/minecraft/item/CrossbowItem;CHARGED_KEY:Ljava/lang/String;
-
CHARGED_PROJECTILES_KEY
- See Also:
- Mappings:
Namespace Name Mixin selector intermediary field_30865Lnet/minecraft/class_1764;field_30865:Ljava/lang/String;official eLcef;e:Ljava/lang/String;named CHARGED_PROJECTILES_KEYLnet/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 intermediary field_30866Lnet/minecraft/class_1764;field_30866:Iofficial fLcef;f:Inamed DEFAULT_PULL_TIMELnet/minecraft/item/CrossbowItem;DEFAULT_PULL_TIME:I
-
RANGE
public static final int RANGE- See Also:
- Mappings:
Namespace Name Mixin selector intermediary field_30863Lnet/minecraft/class_1764;field_30863:Iofficial aLcef;a:Inamed RANGELnet/minecraft/item/CrossbowItem;RANGE:I
-
field_30867
private static final float field_30867- See Also:
- Mappings:
Namespace Name Mixin selector intermediary field_30867Lnet/minecraft/class_1764;field_30867:Fofficial iLcef;i:Fnamed field_30867Lnet/minecraft/item/CrossbowItem;field_30867:F
-
field_30868
private static final float field_30868- See Also:
- Mappings:
Namespace Name Mixin selector intermediary field_30868Lnet/minecraft/class_1764;field_30868:Fofficial jLcef;j:Fnamed field_30868Lnet/minecraft/item/CrossbowItem;field_30868:F
-
DEFAULT_SPEED
private static final float DEFAULT_SPEED- See Also:
- Mappings:
Namespace Name Mixin selector intermediary field_30869Lnet/minecraft/class_1764;field_30869:Fofficial kLcef;k:Fnamed DEFAULT_SPEEDLnet/minecraft/item/CrossbowItem;DEFAULT_SPEED:F
-
FIREWORK_ROCKET_SPEED
private static final float FIREWORK_ROCKET_SPEED- See Also:
- Mappings:
Namespace Name Mixin selector intermediary field_30870Lnet/minecraft/class_1764;field_30870:Fofficial rLcef;r:Fnamed FIREWORK_ROCKET_SPEEDLnet/minecraft/item/CrossbowItem;FIREWORK_ROCKET_SPEED:F
-
charged
private boolean charged- Mappings:
Namespace Name Mixin selector intermediary field_7937Lnet/minecraft/class_1764;field_7937:Zofficial gLcef;g:Znamed chargedLnet/minecraft/item/CrossbowItem;charged:Z
-
loaded
private boolean loaded- Mappings:
Namespace Name Mixin selector intermediary field_7936Lnet/minecraft/class_1764;field_7936:Zofficial hLcef;h:Znamed loadedLnet/minecraft/item/CrossbowItem;loaded:Z
-
-
Constructor Details
-
CrossbowItem
- Mappings:
Namespace Name Mixin selector intermediary <init>Lnet/minecraft/class_1792;<init>(Lnet/minecraft/class_1792$class_1793;)Vofficial <init>Lcfs;<init>(Lcfs$a;)Vnamed <init>Lnet/minecraft/item/Item;<init>(Lnet/minecraft/item/Item$Settings;)V
-
-
Method Details
-
getHeldProjectiles
- Overrides:
getHeldProjectilesin classRangedWeaponItem- Mappings:
Namespace Name Mixin selector intermediary method_20310Lnet/minecraft/class_1811;method_20310()Ljava/util/function/Predicate;official eLcgn;e()Ljava/util/function/Predicate;named getHeldProjectilesLnet/minecraft/item/RangedWeaponItem;getHeldProjectiles()Ljava/util/function/Predicate;
-
getProjectiles
- Specified by:
getProjectilesin classRangedWeaponItem- Mappings:
Namespace Name Mixin selector intermediary method_19268Lnet/minecraft/class_1811;method_19268()Ljava/util/function/Predicate;official bLcgn;b()Ljava/util/function/Predicate;named getProjectilesLnet/minecraft/item/RangedWeaponItem;getProjectiles()Ljava/util/function/Predicate;
-
use
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:
usein classItem- Parameters:
world- the world the item was used inuser- the player who used the itemhand- 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 intermediary method_7836Lnet/minecraft/class_1792;method_7836(Lnet/minecraft/class_1937;Lnet/minecraft/class_1657;Lnet/minecraft/class_1268;)Lnet/minecraft/class_1271;official aLcfs;a(Lcmk;Lbym;Lbdv;)Lbdx;named useLnet/minecraft/item/Item;use(Lnet/minecraft/world/World;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/util/Hand;)Lnet/minecraft/util/TypedActionResult;
-
getSpeed
- Mappings:
Namespace Name Mixin selector intermediary method_20309Lnet/minecraft/class_1764;method_20309(Lnet/minecraft/class_1799;)Fofficial oLcef;o(Lcfx;)Fnamed getSpeedLnet/minecraft/item/CrossbowItem;getSpeed(Lnet/minecraft/item/ItemStack;)F
-
onStoppedUsing
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.usermight not be a player in some cases. For example, this occurs when an entity uses a crossbow.- Overrides:
onStoppedUsingin classItem- Mappings:
Namespace Name Mixin selector intermediary method_7840Lnet/minecraft/class_1792;method_7840(Lnet/minecraft/class_1799;Lnet/minecraft/class_1937;Lnet/minecraft/class_1309;I)Vofficial aLcfs;a(Lcfx;Lcmk;Lbfx;I)Vnamed onStoppedUsingLnet/minecraft/item/Item;onStoppedUsing(Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/LivingEntity;I)V
-
loadProjectiles
- Mappings:
Namespace Name Mixin selector intermediary method_7767Lnet/minecraft/class_1764;method_7767(Lnet/minecraft/class_1309;Lnet/minecraft/class_1799;)Zofficial aLcef;a(Lbfx;Lcfx;)Znamed loadProjectilesLnet/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 intermediary method_7765Lnet/minecraft/class_1764;method_7765(Lnet/minecraft/class_1309;Lnet/minecraft/class_1799;Lnet/minecraft/class_1799;ZZ)Zofficial aLcef;a(Lbfx;Lcfx;Lcfx;ZZ)Znamed loadProjectileLnet/minecraft/item/CrossbowItem;loadProjectile(Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;ZZ)Z
-
isCharged
- Mappings:
Namespace Name Mixin selector intermediary method_7781Lnet/minecraft/class_1764;method_7781(Lnet/minecraft/class_1799;)Zofficial dLcef;d(Lcfx;)Znamed isChargedLnet/minecraft/item/CrossbowItem;isCharged(Lnet/minecraft/item/ItemStack;)Z
-
setCharged
- Mappings:
Namespace Name Mixin selector intermediary method_7782Lnet/minecraft/class_1764;method_7782(Lnet/minecraft/class_1799;Z)Vofficial aLcef;a(Lcfx;Z)Vnamed setChargedLnet/minecraft/item/CrossbowItem;setCharged(Lnet/minecraft/item/ItemStack;Z)V
-
putProjectile
- Mappings:
Namespace Name Mixin selector intermediary method_7778Lnet/minecraft/class_1764;method_7778(Lnet/minecraft/class_1799;Lnet/minecraft/class_1799;)Vofficial bLcef;b(Lcfx;Lcfx;)Vnamed putProjectileLnet/minecraft/item/CrossbowItem;putProjectile(Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)V
-
getProjectiles
- Mappings:
Namespace Name Mixin selector intermediary method_7785Lnet/minecraft/class_1764;method_7785(Lnet/minecraft/class_1799;)Ljava/util/List;official pLcef;p(Lcfx;)Ljava/util/List;named getProjectilesLnet/minecraft/item/CrossbowItem;getProjectiles(Lnet/minecraft/item/ItemStack;)Ljava/util/List;
-
clearProjectiles
- Mappings:
Namespace Name Mixin selector intermediary method_7766Lnet/minecraft/class_1764;method_7766(Lnet/minecraft/class_1799;)Vofficial qLcef;q(Lcfx;)Vnamed clearProjectilesLnet/minecraft/item/CrossbowItem;clearProjectiles(Lnet/minecraft/item/ItemStack;)V
-
hasProjectile
- Mappings:
Namespace Name Mixin selector intermediary method_7772Lnet/minecraft/class_1764;method_7772(Lnet/minecraft/class_1799;Lnet/minecraft/class_1792;)Zofficial aLcef;a(Lcfx;Lcfs;)Znamed hasProjectileLnet/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 intermediary method_7763Lnet/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)Vofficial aLcef;a(Lcmk;Lbfx;Lbdv;Lcfx;Lcfx;FZFFF)Vnamed shootLnet/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 intermediary method_18814Lnet/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;official aLcef;a(Lcmk;Lbfx;Lcfx;Lcfx;)Lbys;named createArrowLnet/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 intermediary method_7777Lnet/minecraft/class_1764;method_7777(Lnet/minecraft/class_1937;Lnet/minecraft/class_1309;Lnet/minecraft/class_1268;Lnet/minecraft/class_1799;FF)Vofficial aLcef;a(Lcmk;Lbfx;Lbdv;Lcfx;FF)Vnamed shootAllLnet/minecraft/item/CrossbowItem;shootAll(Lnet/minecraft/world/World;Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/util/Hand;Lnet/minecraft/item/ItemStack;FF)V
-
getSoundPitches
- Mappings:
Namespace Name Mixin selector intermediary method_7780Lnet/minecraft/class_1764;method_7780(Lnet/minecraft/class_5819;)[Fofficial aLcef;a(Lapf;)[Fnamed getSoundPitchesLnet/minecraft/item/CrossbowItem;getSoundPitches(Lnet/minecraft/util/math/random/Random;)[F
-
getSoundPitch
- Mappings:
Namespace Name Mixin selector intermediary method_7784Lnet/minecraft/class_1764;method_7784(ZLnet/minecraft/class_5819;)Fofficial aLcef;a(ZLapf;)Fnamed getSoundPitchLnet/minecraft/item/CrossbowItem;getSoundPitch(ZLnet/minecraft/util/math/random/Random;)F
-
postShoot
- Mappings:
Namespace Name Mixin selector intermediary method_7769Lnet/minecraft/class_1764;method_7769(Lnet/minecraft/class_1937;Lnet/minecraft/class_1309;Lnet/minecraft/class_1799;)Vofficial aLcef;a(Lcmk;Lbfx;Lcfx;)Vnamed postShootLnet/minecraft/item/CrossbowItem;postShoot(Lnet/minecraft/world/World;Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/item/ItemStack;)V
-
usageTick
Called on both the server and the client every tick while an entity uses the item. Currently used byCrossbowItemto charge the crossbow. If this is overridden,Item.getMaxUseTime(net.minecraft.item.ItemStack)should also be overridden to return a positive value.- Overrides:
usageTickin classItem- Parameters:
remainingUseTicks- how long it's left until the entity finishes using the item, in ticks- See Also:
- Mappings:
Namespace Name Mixin selector intermediary method_7852Lnet/minecraft/class_1792;method_7852(Lnet/minecraft/class_1937;Lnet/minecraft/class_1309;Lnet/minecraft/class_1799;I)Vofficial aLcfs;a(Lcmk;Lbfx;Lcfx;I)Vnamed usageTickLnet/minecraft/item/Item;usageTick(Lnet/minecraft/world/World;Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/item/ItemStack;I)V
-
getMaxUseTime
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, andItem.finishUsing(net.minecraft.item.ItemStack, net.minecraft.world.World, net.minecraft.entity.LivingEntity)is called.- Overrides:
getMaxUseTimein classItem- Returns:
- the maximum use (right-click) time of this item, in ticks
- Mappings:
Namespace Name Mixin selector intermediary method_7881Lnet/minecraft/class_1792;method_7881(Lnet/minecraft/class_1799;)Iofficial bLcfs;b(Lcfx;)Inamed getMaxUseTimeLnet/minecraft/item/Item;getMaxUseTime(Lnet/minecraft/item/ItemStack;)I
-
getPullTime
- Mappings:
Namespace Name Mixin selector intermediary method_7775Lnet/minecraft/class_1764;method_7775(Lnet/minecraft/class_1799;)Iofficial kLcef;k(Lcfx;)Inamed getPullTimeLnet/minecraft/item/CrossbowItem;getPullTime(Lnet/minecraft/item/ItemStack;)I
-
getUseAction
Returns the use action the item should perform.- Overrides:
getUseActionin classItem- Returns:
- the use action the item should perform
- Mappings:
Namespace Name Mixin selector intermediary method_7853Lnet/minecraft/class_1792;method_7853(Lnet/minecraft/class_1799;)Lnet/minecraft/class_1839;official cLcfs;c(Lcfx;)Lchq;named getUseActionLnet/minecraft/item/Item;getUseAction(Lnet/minecraft/item/ItemStack;)Lnet/minecraft/util/UseAction;
-
getQuickChargeSound
- Mappings:
Namespace Name Mixin selector intermediary method_7773Lnet/minecraft/class_1764;method_7773(I)Lnet/minecraft/class_3414;official aLcef;a(I)Lamg;named getQuickChargeSoundLnet/minecraft/item/CrossbowItem;getQuickChargeSound(I)Lnet/minecraft/sound/SoundEvent;
-
getPullProgress
- Mappings:
Namespace Name Mixin selector intermediary method_7770Lnet/minecraft/class_1764;method_7770(ILnet/minecraft/class_1799;)Fofficial aLcef;a(ILcfx;)Fnamed getPullProgressLnet/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 totooltiplist.- Overrides:
appendTooltipin classItem- Parameters:
tooltip- the list of tooltips to show- Mappings:
Namespace Name Mixin selector intermediary method_7851Lnet/minecraft/class_1792;method_7851(Lnet/minecraft/class_1799;Lnet/minecraft/class_1937;Ljava/util/List;Lnet/minecraft/class_1836;)Vofficial aLcfs;a(Lcfx;Lcmk;Ljava/util/List;Lcho;)Vnamed appendTooltipLnet/minecraft/item/Item;appendTooltip(Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Ljava/util/List;Lnet/minecraft/client/item/TooltipContext;)V
-
isUsedOnRelease
- Overrides:
isUsedOnReleasein classItem- Mappings:
Namespace Name Mixin selector intermediary method_7838Lnet/minecraft/class_1792;method_7838(Lnet/minecraft/class_1799;)Zofficial lLcfs;l(Lcfx;)Znamed isUsedOnReleaseLnet/minecraft/item/Item;isUsedOnRelease(Lnet/minecraft/item/ItemStack;)Z
-
getRange
public int getRange()- Specified by:
getRangein classRangedWeaponItem- Mappings:
Namespace Name Mixin selector intermediary method_24792Lnet/minecraft/class_1811;method_24792()Iofficial dLcgn;d()Inamed getRangeLnet/minecraft/item/RangedWeaponItem;getRange()I
-