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
public class CrossbowItem extends RangedWeaponItem implements Vanishable
-
Nested Class Summary
Nested classes/interfaces inherited from class net.minecraft.item.Item
Item.Settings
-
Field Summary
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, group, RANDOM
-
Constructor Summary
Constructors Constructor Description CrossbowItem(Item.Settings settings)
-
Method Summary
Modifier and Type Method Description void
appendTooltip(ItemStack stack, World world, List<Text> tooltip, TooltipContext context)
private static void
clearProjectiles(ItemStack crossbow)
private static PersistentProjectileEntity
createArrow(World world, LivingEntity entity, ItemStack crossbow, ItemStack arrow)
Predicate<ItemStack>
getHeldProjectiles()
int
getMaxUseTime(ItemStack stack)
Predicate<ItemStack>
getProjectiles()
private static List<ItemStack>
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)
private static float[]
getSoundPitches(Random random)
private static float
getSpeed(ItemStack stack)
UseAction
getUseAction(ItemStack stack)
static boolean
hasProjectile(ItemStack crossbow, Item projectile)
static boolean
isCharged(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)
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)
TypedActionResult<ItemStack>
use(World world, PlayerEntity user, Hand hand)
Called when an item is used by a player.Methods inherited from class net.minecraft.item.RangedWeaponItem
getEnchantability, getHeldProjectile
Methods inherited from class net.minecraft.item.Item
appendStacks, asItem, byRawId, canMine, canRepair, damage, finishUsing, fromBlock, getAttributeModifiers, getDefaultStack, getDrinkSound, getEatSound, getFoodComponent, getGroup, getMaxCount, getMaxDamage, getMiningSpeedMultiplier, getName, getName, getOrCreateTranslationKey, getRarity, getRawId, getRecipeRemainder, getTranslationKey, getTranslationKey, hasGlint, hasRecipeRemainder, inventoryTick, isDamageable, isEffectiveOn, isEnchantable, isFireproof, isFood, isIn, isIn, isNetworkSynced, isUsedOnRelease, onCraft, postHit, postMine, postProcessTag, raycast, shouldSyncTagToClient, toString, useOnBlock, useOnEntity
-
Field Details
-
charged
private boolean charged -
loaded
private boolean loaded
-
-
Constructor Details
-
CrossbowItem
-
-
Method Details
-
getHeldProjectiles
- Overrides:
getHeldProjectiles
in classRangedWeaponItem
-
getProjectiles
- Specified by:
getProjectiles
in classRangedWeaponItem
-
use
Called when an item is used by a player. The use action, by default, is bound to the right mouse button.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.
-
onStoppedUsing
- Overrides:
onStoppedUsing
in classItem
-
loadProjectiles
-
loadProjectile
private static boolean loadProjectile(LivingEntity shooter, ItemStack crossbow, ItemStack projectile, boolean simulated, boolean creative) -
isCharged
-
setCharged
-
putProjectile
-
getProjectiles
-
clearProjectiles
-
hasProjectile
-
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) -
createArrow
private static PersistentProjectileEntity createArrow(World world, LivingEntity entity, ItemStack crossbow, ItemStack arrow) -
shootAll
public static void shootAll(World world, LivingEntity entity, Hand hand, ItemStack stack, float speed, float divergence) -
getSoundPitches
-
getSoundPitch
private static float getSoundPitch(boolean flag) -
postShoot
-
usageTick
-
getMaxUseTime
- Overrides:
getMaxUseTime
in classItem
-
getPullTime
-
getUseAction
- Overrides:
getUseAction
in classItem
-
getQuickChargeSound
-
getPullProgress
-
appendTooltip
@Environment(CLIENT) public void appendTooltip(ItemStack stack, @Nullable World world, List<Text> tooltip, TooltipContext context)- Overrides:
appendTooltip
in classItem
-
getSpeed
-
getRange
public int getRange()- Specified by:
getRange
in classRangedWeaponItem
-