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 Item
Item.Properties, Item.TooltipContext -
Field Summary
FieldsModifier and TypeFieldDescriptionFields inherited from class Item
ABSOLUTE_MAX_STACK_SIZE, APPROXIMATELY_INFINITE_USE_DURATION, BASE_ATTACK_DAMAGE_ID, BASE_ATTACK_SPEED_ID, BY_BLOCK, canCombineRepair, CODEC, CODEC_WITH_BOUND_COMPONENTS, DEFAULT_MAX_STACK_SIZE, descriptionId, MAX_BAR_WIDTH, STREAM_CODECFields inherited from interface FeatureElement
FILTERED_REGISTRIES -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected ProjectilecreateProjectile(Level level, LivingEntity shooter, ItemStack weapon, ItemStack projectile, boolean isCrit) customArrow(AbstractArrow arrow, ItemStack projectileStack, ItemStack weaponStack) draw(ItemStack weapon, ItemStack projectile, LivingEntity shooter) Deprecated.Override this method if the allowed projectile is weapon stack dependent.getDefaultCreativeAmmo(@Nullable 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 projectile) static ItemStackgetHeldProjectile(LivingEntity entity, Predicate<ItemStack> valid) 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> projectiles, float power, float uncertainty, boolean isCrit, @Nullable LivingEntity targetOverride) protected abstract voidshootProjectile(LivingEntity shooter, Projectile projectileEntity, int index, float power, float uncertainty, float angle, @Nullable LivingEntity targetOverrride) protected static ItemStackuseAmmo(ItemStack weapon, ItemStack projectile, LivingEntity holder, boolean forceInfinite) Methods inherited from class Item
appendHoverText, asItem, builtInRegistryHolder, byBlock, byId, canDestroyBlock, canFitInsideContainerItems, components, computeDefaultResource, finishUsingItem, getAttackDamageBonus, getBarColor, getBarWidth, getCraftingRemainder, getDefaultInstance, getDefaultMaxStackSize, getDescriptionId, getDestroySpeed, getId, getItemDamageSource, getName, getPlayerPOVHitResult, getTooltipImage, getUseAnimation, getUseDuration, hurtEnemy, interactLivingEntity, inventoryTick, isBarVisible, isCombineRepairable, isCorrectToolForDrops, isFoil, mineBlock, onCraftedBy, onCraftedPostProcess, onDestroyed, onUseTick, overrideOtherStackedOnMe, overrideStackedOnOther, postHurtEnemy, releaseUsing, requiredFeatures, resetDefaultResource, shouldPrintOpWarning, toString, use, useOn, useOnReleaseMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface FeatureElement
isEnabledMethods inherited from interface IItemExtension
applyEnchantments, canBeHurtBy, canContinueUsing, canEquip, canFitInsideContainerItems, canGrindstoneRepair, canPerformAction, canWalkOnPowderedSnow, createEntity, damageItem, doesSneakBypassUse, getAllEnchantments, getBurnTime, getCraftingRemainder, getCreatorModId, getDamage, getDefaultAttributeModifiers, getEnchantmentLevel, getEntityLifespan, getEquipmentSlot, getHighlightTip, getMaxDamage, getMaxStackSize, getSweepHitBox, getXpRepairRatio, hasCustomEntity, isDamageable, isDamaged, isGazeDisguise, isNotReplaceableByPickAction, isPiglinCurrency, isPrimaryItemFor, makesPiglinsNeutral, onAnimalArmorTick, onDestroyed, onDroppedByPlayer, onEntityItemUpdate, 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
-
getHeldProjectile
-
getDefaultProjectileRange
public abstract int getDefaultProjectileRange() -
shoot
protected void shoot(ServerLevel level, LivingEntity shooter, InteractionHand hand, ItemStack weapon, List<ItemStack> projectiles, float power, float uncertainty, boolean isCrit, @Nullable LivingEntity targetOverride) -
getDurabilityUse
-
shootProjectile
protected abstract void shootProjectile(LivingEntity shooter, Projectile projectileEntity, int index, float power, float uncertainty, float angle, @Nullable LivingEntity targetOverrride) -
createProjectile
protected Projectile createProjectile(Level level, LivingEntity shooter, ItemStack weapon, ItemStack projectile, boolean isCrit) -
draw
-
useAmmo
protected static ItemStack useAmmo(ItemStack weapon, ItemStack projectile, LivingEntity holder, boolean forceInfinite) -
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)