Package net.minecraft.world.item
Class ProjectileWeaponItem
java.lang.Object
net.minecraft.world.item.Item
net.minecraft.world.item.ProjectileWeaponItem
- All Implemented Interfaces:
FeatureElement,ItemLike,IItemExtension
- Direct Known Subclasses:
BowItem,CrossbowItem
-
Nested Class Summary
Nested classes/interfaces inherited from class net.minecraft.world.item.Item
Item.Properties, Item.TooltipContext -
Field Summary
FieldsModifier and TypeFieldDescriptionFields inherited from class net.minecraft.world.item.Item
ABSOLUTE_MAX_STACK_SIZE, BASE_ATTACK_DAMAGE_ID, BASE_ATTACK_SPEED_ID, BY_BLOCK, canRepair, DEFAULT_MAX_STACK_SIZE, MAX_BAR_WIDTHFields inherited from interface net.minecraft.world.flag.FeatureElement
FILTERED_REGISTRIES -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected ProjectilecreateProjectile(Level level, LivingEntity shooter, ItemStack weapon, ItemStack ammo, boolean isCrit) customArrow(AbstractArrow arrow, ItemStack projectileStack, ItemStack weaponStack) draw(ItemStack weapon, ItemStack ammo, LivingEntity shooter) Deprecated.Override this method if the allowed projectile is weapon stack dependent.getDefaultCreativeAmmo(Player player, ItemStack projectileWeaponItem) Neo: Controls what ammo ItemStack that Creative Mode should return if the player has no valid ammo in inventory.abstract intprotected intgetDurabilityUse(ItemStack stack) intstatic ItemStackgetHeldProjectile(LivingEntity shooter, Predicate<ItemStack> isAmmo) Deprecated.Use ItemStack sensitive versiongetSupportedHeldProjectiles(ItemStack)Override this method if the weapon stack allows special projectile that would only be used if it's in hand.protected voidshoot(ServerLevel level, LivingEntity shooter, InteractionHand hand, ItemStack weapon, List<ItemStack> projectileItems, float velocity, float inaccuracy, boolean isCrit, LivingEntity target) protected abstract voidshootProjectile(LivingEntity shooter, Projectile projectile, int index, float velocity, float inaccuracy, float angle, LivingEntity target) protected static ItemStackuseAmmo(ItemStack weapon, ItemStack ammo, LivingEntity shooter, boolean intangable) Methods inherited from class net.minecraft.world.item.Item
appendHoverText, asItem, builtInRegistryHolder, byBlock, byId, canAttackBlock, canFitInsideContainerItems, components, finishUsingItem, getAttackDamageBonus, getBarColor, getBarWidth, getBreakingSound, getCraftingRemainingItem, getDefaultAttributeModifiers, getDefaultInstance, getDefaultMaxStackSize, getDescription, getDescriptionId, getDescriptionId, getDestroySpeed, getDrinkingSound, getEatingSound, getId, getName, getOrCreateDescriptionId, getPlayerPOVHitResult, getTooltipImage, getUseAnimation, getUseDuration, hasCraftingRemainingItem, hurtEnemy, initializeClient, interactLivingEntity, inventoryTick, isBarVisible, isComplex, isCorrectToolForDrops, isEnchantable, isFoil, isRepairable, isValidRepairItem, mineBlock, modifyDefaultComponentsFrom, onCraftedBy, onCraftedPostProcess, onDestroyed, onUseTick, overrideOtherStackedOnMe, overrideStackedOnOther, postHurtEnemy, releaseUsing, requiredFeatures, toString, use, useOn, useOnRelease, verifyComponentsAfterLoadMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface net.minecraft.world.flag.FeatureElement
isEnabledMethods inherited from interface net.neoforged.neoforge.common.extensions.IItemExtension
applyEnchantments, canBeHurtBy, canContinueUsing, canDisableShield, canElytraFly, canEquip, canGrindstoneRepair, canPerformAction, canWalkOnPowderedSnow, createEntity, damageItem, doesSneakBypassUse, elytraFlightTick, getAllEnchantments, getArmorTexture, getBurnTime, getCraftingRemainingItem, getCreatorModId, getDamage, getDefaultAttributeModifiers, getEnchantmentLevel, getEnchantmentValue, getEntityLifespan, getEquipmentSlot, getFoodProperties, getHighlightTip, getMaxDamage, getMaxStackSize, getSweepHitBox, getXpRepairRatio, hasCraftingRemainingItem, hasCustomEntity, isBookEnchantable, isDamageable, isDamaged, isEnderMask, isNotReplaceableByPickAction, isPiglinCurrency, isPrimaryItemFor, makesPiglinsNeutral, onAnimalArmorTick, onDestroyed, onDroppedByPlayer, onEntityItemUpdate, onEntitySwing, onEntitySwing, onItemUseFirst, onLeftClickEntity, onStopUsing, setDamage, shouldCauseBlockBreakReset, shouldCauseReequipAnimation, supportsEnchantment
-
Field Details
-
ARROW_ONLY
-
ARROW_OR_FIREWORK
-
-
Constructor Details
-
ProjectileWeaponItem
-
-
Method Details
-
getSupportedHeldProjectiles
Deprecated.Use ItemStack sensitive versiongetSupportedHeldProjectiles(ItemStack) -
getAllSupportedProjectiles
Deprecated.Use ItemStack sensitive versiongetAllSupportedProjectiles(ItemStack) -
getSupportedHeldProjectiles
Override this method if the weapon stack allows special projectile that would only be used if it's in hand. The default return value is a union-predicate ofgetAllSupportedProjectiles(ItemStack)andgetSupportedHeldProjectiles()- Parameters:
stack- The ProjectileWeapon stack- Returns:
- A predicate that returns true for supported projectile stack in hand
-
getAllSupportedProjectiles
Override this method if the allowed projectile is weapon stack dependent.- Parameters:
stack- The ProjectileWeapon stack- Returns:
- A predicate that returns true for all supported projectile stack
-
getHeldProjectile
-
getEnchantmentValue
public int getEnchantmentValue()- Overrides:
getEnchantmentValuein classItem
-
getDefaultProjectileRange
public abstract int getDefaultProjectileRange() -
shoot
protected void shoot(ServerLevel level, LivingEntity shooter, InteractionHand hand, ItemStack weapon, List<ItemStack> projectileItems, float velocity, float inaccuracy, boolean isCrit, @Nullable LivingEntity target) -
getDurabilityUse
-
shootProjectile
protected abstract void shootProjectile(LivingEntity shooter, Projectile projectile, int index, float velocity, float inaccuracy, float angle, @Nullable LivingEntity target) -
createProjectile
protected Projectile createProjectile(Level level, LivingEntity shooter, ItemStack weapon, ItemStack ammo, boolean isCrit) -
draw
-
useAmmo
protected static ItemStack useAmmo(ItemStack weapon, ItemStack ammo, LivingEntity shooter, boolean intangable) -
customArrow
public AbstractArrow customArrow(AbstractArrow arrow, ItemStack projectileStack, ItemStack weaponStack) -
getDefaultCreativeAmmo
Neo: Controls what ammo ItemStack that Creative Mode should return if the player has no valid ammo in inventory. Modded weapons should override this to return their own ammo if they do not use vanilla arrows.- Parameters:
player- The player (if in context) firing the weaponprojectileWeaponItem- The weapon ItemStack the ammo is for- Returns:
- The default ammo ItemStack for this weapon
-
getAllSupportedProjectiles(ItemStack)