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 official ccf
intermediary net/minecraft/class_1764
named net/minecraft/item/CrossbowItem
-
Nested Class Summary
Nested classes/interfaces inherited from class net.minecraft.item.Item
Item.Settings
-
Field Summary
Modifier and TypeFieldDescriptionprivate boolean
private static final String
private static final String
private static final int
private static final float
private static final float
private static final float
private static final float
private boolean
static final int
Fields inherited from class net.minecraft.item.RangedWeaponItem
BOW_PROJECTILES, CROSSBOW_HELD_PROJECTILES
Fields 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_STEPS
Fields inherited from interface net.minecraft.resource.featuretoggle.ToggleableFeature
FEATURE_ENABLED_REGISTRY_KEYS
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
appendTooltip
(ItemStack stack, @Nullable World world, List<Text> tooltip, TooltipContext context) Called by the client to append tooltips to an item.private static void
clearProjectiles
(ItemStack crossbow) private static PersistentProjectileEntity
createArrow
(World world, LivingEntity entity, ItemStack crossbow, ItemStack arrow) int
getMaxUseTime
(ItemStack stack) Returns the maximum use (right-click) time of this item, in ticks.getProjectiles
(ItemStack crossbow) private static float
getPullProgress
(int useTicks, ItemStack stack) static int
getPullTime
(ItemStack stack) private SoundEvent
getQuickChargeSound
(int stage) int
getRange()
private static float
getSoundPitch
(boolean flag, Random random) private static float[]
getSoundPitches
(Random random) private static float
getUseAction
(ItemStack stack) Returns the use action the item should perform.static boolean
hasProjectile
(ItemStack crossbow, Item projectile) static boolean
boolean
isUsedOnRelease
(ItemStack stack) private static boolean
loadProjectile
(LivingEntity shooter, ItemStack crossbow, ItemStack projectile, boolean simulated, boolean creative) private static boolean
loadProjectiles
(LivingEntity shooter, ItemStack projectile) 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.private static void
postShoot
(World world, LivingEntity entity, ItemStack stack) private static void
putProjectile
(ItemStack crossbow, ItemStack projectile) static void
setCharged
(ItemStack stack, boolean charged) private static void
shoot
(World world, LivingEntity shooter, Hand hand, ItemStack crossbow, ItemStack projectile, float soundPitch, boolean creative, float speed, float divergence, float simulated) static void
shootAll
(World world, LivingEntity entity, Hand hand, ItemStack stack, float speed, float divergence) 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.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, getHeldProjectile
Methods inherited from class net.minecraft.item.Item
asItem, byRawId, canBeNested, canMine, canRepair, damage, finishUsing, fromBlock, getAttributeModifiers, getDefaultStack, getDrinkSound, getEatSound, getEquipSound, 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, useOnEntity
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface net.minecraft.resource.featuretoggle.ToggleableFeature
isEnabled
-
Field Details
-
CHARGED_KEY
- See Also:
- Mappings:
Namespace Name Mixin selector official b
Lccf;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
- See Also:
- Mappings:
Namespace Name Mixin selector official e
Lccf;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
Lccf;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
Lccf;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
Lccf;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
Lccf;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
Lccf;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
Lccf;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
Lccf;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
Lccf;h:Z
intermediary field_7936
Lnet/minecraft/class_1764;field_7936:Z
named loaded
Lnet/minecraft/item/CrossbowItem;loaded:Z
-
-
Constructor Details
-
CrossbowItem
- 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
-
getHeldProjectiles
- Overrides:
getHeldProjectiles
in classRangedWeaponItem
- Mappings:
Namespace Name Mixin selector official e
Lcej;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
- Specified by:
getProjectiles
in classRangedWeaponItem
- 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;
-
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:
use
in 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 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;
-
getSpeed
- Mappings:
Namespace Name Mixin selector official o
Lccf;o(Lcdt;)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
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 classItem
- 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
-
loadProjectiles
- Mappings:
Namespace Name Mixin selector official a
Lccf;a(Lbeg;Lcdt;)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
Lccf;a(Lbeg;Lcdt;Lcdt;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
- Mappings:
Namespace Name Mixin selector official d
Lccf;d(Lcdt;)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
- Mappings:
Namespace Name Mixin selector official a
Lccf;a(Lcdt;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
- Mappings:
Namespace Name Mixin selector official b
Lccf;b(Lcdt;Lcdt;)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
- Mappings:
Namespace Name Mixin selector official p
Lccf;p(Lcdt;)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
- Mappings:
Namespace Name Mixin selector official q
Lccf;q(Lcdt;)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
- Mappings:
Namespace Name Mixin selector official a
Lccf;a(Lcdt;Lcdp;)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
Lccf;a(Lcjw;Lbeg;Lbcl;Lcdt;Lcdt;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
Lccf;a(Lcjw;Lbeg;Lcdt;Lcdt;)Lbwv;
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
Lccf;a(Lcjw;Lbeg;Lbcl;Lcdt;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
- Mappings:
Namespace Name Mixin selector official a
Lccf;a(Laoh;)[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
- Mappings:
Namespace Name Mixin selector official a
Lccf;a(ZLaoh;)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
- Mappings:
Namespace Name Mixin selector official a
Lccf;a(Lcjw;Lbeg;Lcdt;)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
Called on both the server and the client every tick while an entity uses the item. Currently used byCrossbowItem
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 classItem
- 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
Lcdp;a(Lcjw;Lbeg;Lcdt;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
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:
getMaxUseTime
in classItem
- 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
-
getPullTime
- Mappings:
Namespace Name Mixin selector official k
Lccf;k(Lcdt;)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
Returns the use action the item should perform.- Overrides:
getUseAction
in classItem
- 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;
-
getQuickChargeSound
- Mappings:
Namespace Name Mixin selector official a
Lccf;a(I)Laln;
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
- Mappings:
Namespace Name Mixin selector official a
Lccf;a(ILcdt;)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 totooltip
list.- Overrides:
appendTooltip
in classItem
- Parameters:
tooltip
- the list of tooltips to show- Mappings:
Namespace Name Mixin selector official a
Lcdp;a(Lcdt;Lcjw;Ljava/util/List;Lcfi;)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
- Overrides:
isUsedOnRelease
in classItem
- Mappings:
Namespace Name Mixin selector official l
Lcdp;l(Lcdt;)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 classRangedWeaponItem
- 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
-