Class AbstractArrow
java.lang.Object
net.neoforged.neoforge.attachment.AttachmentHolder
net.minecraft.world.entity.Entity
net.minecraft.world.entity.projectile.Projectile
net.minecraft.world.entity.projectile.AbstractArrow
- All Implemented Interfaces:
DataComponentGetter
,SyncedDataHolder
,TraceableEntity
,EntityAccess
,UniquelyIdentifyable
,Nameable
,ScoreHolder
,IAttachmentHolder
,IEntityExtension
- Direct Known Subclasses:
Arrow
,SpectralArrow
,ThrownTrident
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class net.minecraft.world.entity.projectile.Projectile
Projectile.ProjectileFactory<T extends Projectile>
Nested classes/interfaces inherited from class net.minecraft.world.entity.Entity
Entity.MoveFunction, Entity.MovementEmission, Entity.RemovalReason
Nested classes/interfaces inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
AttachmentHolder.AsField
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final double
private double
private static final boolean
private static final boolean
private static final short
private static final byte
private static final byte
private ItemStack
private static final int
private static final int
private static final EntityDataAccessor
<Byte> private static final EntityDataAccessor
<Boolean> private static final float
protected int
private BlockState
private int
private ItemStack
private static final EntityDataAccessor
<Byte> private it.unimi.dsi.fastutil.ints.IntOpenHashSet
private static final int
int
private SoundEvent
private static final float
Fields inherited from class net.minecraft.world.entity.Entity
BASE_SAFE_FALL_DISTANCE, BASE_TICKS_REQUIRED_TO_FREEZE, blocksBuilding, BOARDING_COOLDOWN, boardingCooldown, CONTENTS_SLOT_INDEX, DATA_POSE, DATA_SHARED_FLAGS_ID, DEFAULT_BB_HEIGHT, DEFAULT_BB_WIDTH, DELTA_AFFECTED_BY_BLOCKS_BELOW_0_2, DELTA_AFFECTED_BY_BLOCKS_BELOW_0_5, DELTA_AFFECTED_BY_BLOCKS_BELOW_1_0, ENTITY_COUNTER, entityData, fallDistance, firstTick, FLAG_FALL_FLYING, FLAG_GLOWING, FLAG_ONFIRE, fluidHeight, flyDist, forgeFluidTypeHeight, FREEZE_HURT_FREQUENCY, hasImpulse, horizontalCollision, hurtMarked, ID_TAG, invulnerableTime, isInPowderSnow, mainSupportingBlockPos, MAX_ENTITY_TAG_COUNT, minorHorizontalCollision, moveDist, noPhysics, PASSENGERS_TAG, portalProcess, random, stringUUID, stuckSpeedMultiplier, tickCount, TOTAL_AIR_SUPPLY, uuid, UUID_TAG, verticalCollision, verticalCollisionBelow, wasEyeInWater, wasInPowderSnow, wasTouchingWater, xo, xOld, xRotO, yo, yOld, yRotO, zo, zOld
Fields inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
ATTACHMENTS_NBT_KEY
Fields inherited from interface net.minecraft.world.scores.ScoreHolder
WILDCARD, WILDCARD_NAME
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
AbstractArrow
(EntityType<? extends AbstractArrow> p_36717_, double p_346045_, double p_344855_, double p_345999_, Level p_36719_, ItemStack p_309031_, ItemStack p_345487_) protected
AbstractArrow
(EntityType<? extends AbstractArrow> p_36721_, LivingEntity p_345310_, Level p_36722_, ItemStack p_309145_, ItemStack p_345000_) protected
AbstractArrow
(EntityType<? extends AbstractArrow> p_331098_, Level p_331626_) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addAdditionalSaveData
(CompoundTag p_36772_) private void
addBubbleParticles
(Vec3 p_380279_) private void
applyInertia
(float p_383121_) protected boolean
canHitEntity
(Entity p_36743_) protected void
defineSynchedData
(SynchedEntityData.Builder p_325945_) protected void
doKnockback
(LivingEntity p_346111_, DamageSource p_346412_) protected void
doPostHurtEffects
(LivingEntity p_36744_) protected EntityHitResult
findHitEntity
(Vec3 p_36758_, Vec3 p_36759_) protected double
protected SoundEvent
protected abstract ItemStack
protected final SoundEvent
protected Entity.MovementEmission
protected ItemStack
byte
getSlot
(int p_341328_) protected float
protected void
hitBlockEnchantmentEffects
(ServerLevel p_345462_, BlockHitResult p_345204_, ItemStack p_345083_) boolean
boolean
protected boolean
boolean
boolean
boolean
void
lerpMotion
(double p_36786_, double p_36787_, double p_36788_) void
void
onAboveBubbleColumn
(boolean p_399823_, BlockPos p_399645_) protected void
onHitBlock
(BlockHitResult p_36755_) protected void
onHitEntity
(EntityHitResult p_36757_) void
onInsideBubbleColumn
(boolean p_382819_) protected void
onItemBreak
(Item p_365372_) void
onSyncedDataUpdated
(EntityDataAccessor<?> p_381707_) void
playerTouch
(Player p_36766_) void
push
(double p_383096_, double p_383174_, double p_383161_) void
readAdditionalSaveData
(CompoundTag p_36761_) private void
void
setBaseDamage
(double p_36782_) void
setBaseDamageFromMob
(float p_345515_) void
setCritArrow
(boolean p_36763_) private void
setFlag
(int p_36738_, boolean p_36739_) protected void
setInGround
(boolean p_381705_) void
setNoPhysics
(boolean p_36791_) void
protected void
setPickupItemStack
(ItemStack p_331486_) private void
setPierceLevel
(byte p_36768_) void
setSoundEvent
(SoundEvent p_36741_) void
shoot
(double p_36775_, double p_36776_, double p_36777_, float p_36778_, float p_36779_) protected boolean
private boolean
boolean
shouldRenderAtSqrDistance
(double p_36726_) private void
private void
stepMoveAndHit
(BlockHitResult p_371761_) void
tick()
protected void
protected boolean
Methods inherited from class net.minecraft.world.entity.projectile.Projectile
applyOnProjectileSpawned, calculateHorizontalHurtKnockbackDirection, deflect, findOwner, getAddEntityPacket, getDimensionChangingDelay, getEffectSource, getMovementToShoot, getOwner, getPickRadius, hitTargetOrDeflectSelf, hurtServer, lerpRotation, mayBreak, mayInteract, onDeflection, onHit, ownedBy, recreateFromPacket, restoreFrom, setOwnerThroughUUID, shootFromRotation, spawnProjectile, spawnProjectile, spawnProjectileFromRotation, spawnProjectileUsingShoot, spawnProjectileUsingShoot, updateRotation
Methods inherited from class net.minecraft.world.entity.Entity
absSnapRotationTo, absSnapTo, absSnapTo, addDeltaMovement, addPassenger, addTag, adjustSpawnLocation, animateHurt, applyComponentsFromItemStack, applyEffectsFromBlocks, applyEffectsFromBlocks, applyGravity, applyImplicitComponent, applyImplicitComponentIfPresent, applyImplicitComponents, awardKillScore, baseTick, blockPosition, broadcastToPlayer, calculateUpVector, calculateViewVector, canAddPassenger, canBeCollidedWith, canBeHitByProjectile, canCollideWith, canControlVehicle, canFreeze, canRide, canSimulateMovement, canSpawnSprintParticle, canSprint, canTeleport, canTrample, canUsePortal, captureDrops, captureDrops, castComponentValue, causeFallDamage, checkBelowWorld, checkDespawn, checkFallDamage, checkSlowFallDistance, checkSupportingBlock, chunkPosition, clearFire, clearFreeze, closerThan, closerThan, collideBoundingBox, considersEntityAsAlly, copyPosition, couldAcceptPassenger, countPlayerPassengers, createCommandSourceStackForNameResolution, createHoverEvent, damageSources, dampensVibrations, deflection, discard, dismountsUnderwater, dismountTo, displayFireAnimation, distanceTo, distanceToSqr, distanceToSqr, distanceToSqr, doCheckFallDamage, doWaterSplashEffect, ejectPassengers, equals, extinguishFire, fillCrashReportCategory, fireImmune, fixupDimensions, forceSetRotation, fudgePositionAfterSizeChange, gameEvent, gameEvent, get, getAirSupply, getAttachments, getBbHeight, getBbWidth, getBlockExplosionResistance, getBlockJumpFactor, getBlockPosBelowThatAffectsMyMovement, getBlockSpeedFactor, getBlockStateOn, getBlockStateOnLegacy, getBlockX, getBlockY, getBlockZ, getBoundingBox, getCapability, getCapability, getCollisionHorizontalEscapeVector, getCommandSenderWorld, getControlledVehicle, getControllingPassenger, getCustomName, getDefaultPassengerAttachmentPoint, getDeltaMovement, getDimensions, getDirection, getDismountLocationForPassenger, getDisplayName, getEncodeId, getEntityData, getEyeHeight, getEyeHeight, getEyeInFluidType, getEyePosition, getEyePosition, getEyeY, getFireImmuneTicks, getFirstPassenger, getFluidHeight, getFluidJumpThreshold, getFluidTypeHeight, getForward, getGravity, getHandHoldingItemAngle, getId, getInBlockState, getIndirectPassengers, getInputVector, getInterpolation, getKnownMovement, getLeashOffset, getLeashOffset, getLightLevelDependentMagicValue, getLightProbePosition, getLookAngle, getLootTable, getMaxAirSupply, getMaxFallDistance, getMaxHeightFluidType, getMotionDirection, getName, getNearestViewDirection, getOnPos, getOnPos, getOnPosLegacy, getPassengerAttachmentPoint, getPassengerRidingPosition, getPassengers, getPassengersAndSelf, getPercentFrozen, getPersistentData, getPickResult, getPistonPushReaction, getPortalCooldown, getPose, getPosition, getPositionCodec, getPreciseBodyRotation, getPrimaryStepSoundBlockPos, getRandom, getRandomX, getRandomY, getRandomZ, getRelativePortalPosition, getRemainingFireTicks, getRemovalReason, getRootVehicle, getRopeHoldPosition, getRotationVector, getScoreboardName, getSelfAndPassengers, getServer, getSharedFlag, getSoundSource, getStringUUID, getSwimHighSpeedSplashSound, getSwimSound, getSwimSplashSound, getTags, getTeam, getTeamColor, getTicksFrozen, getTicksRequiredToFreeze, getType, getTypeName, getUpVector, getUUID, getVehicle, getVehicleAttachmentPoint, getViewScale, getViewVector, getViewXRot, getViewYRot, getVisualRotationYInDegrees, getX, getX, getXRot, getXRot, getY, getY, getYHeadRot, getYRot, getYRot, getZ, getZ, handleDamageEvent, handleEntityEvent, handleOnAboveBubbleColumn, handleOnInsideBubbleColumn, handlePortal, hasControllingPassenger, hasCustomName, hasExactlyOnePlayerPassenger, hasGlowingTag, hashCode, hasIndirectPassenger, hasPassenger, hasPassenger, hasPose, hurt, hurtClient, hurtOrSimulate, igniteForSeconds, igniteForTicks, ignoreExplosion, interact, interactAt, is, isAddedToLevel, isAffectedByBlocks, isAlive, isAlliedTo, isAlliedTo, isAlwaysTicking, isClientAuthoritative, isColliding, isCrouching, isCurrentlyGlowing, isCustomNameVisible, isDescending, isDiscrete, isEffectiveAi, isEyeInFluid, isFlapping, isFree, isFreezing, isFullyFrozen, isHorizontalCollisionMinor, isIgnoringBlockTriggers, isInFluidType, isInFluidType, isInLava, isInLiquid, isInterpolating, isInvisible, isInvisibleTo, isInvulnerable, isInvulnerableToBase, isInWall, isInWater, isInWaterOrRain, isLocalClientAuthoritative, isLocalInstanceAuthoritative, isNoGravity, isOnFire, isOnPortalCooldown, isOnRails, isPassenger, isPassengerOfSameVehicle, isPushable, isRemoved, isShiftKeyDown, isSilent, isSpectator, isSprinting, isSteppingCarefully, isSupportedBy, isSuppressingBounce, isSwimming, isUnderWater, isVehicle, isVisuallyCrawling, isVisuallySwimming, kill, killedEntity, lavaHurt, lavaIgnite, lerpHeadTo, lerpPositionAndRotationStep, level, limitPistonMovement, load, lookAt, makeBoundingBox, makeBoundingBox, makeStuckInBlock, markHurt, maxUpStep, maybeBackOffFromEdge, mirror, moveOrInterpolateTo, moveRelative, moveTowardsClosestSpace, nextStep, oldPosition, onAddedToLevel, onBelowWorld, onClientRemoval, onExplosionHit, onFlap, onGround, onInsideBlock, onPassengerTurned, onRemoval, onRemovedFromLevel, onSyncedDataUpdated, pick, placePortalTicket, playCombinationStepSounds, playEntityOnFireExtinguishedSound, playMuffledStepSound, playSound, playSound, playStepSound, playSwimSound, position, positionRider, positionRider, processFlappingMovement, processPortalCooldown, propagateFallToPassengers, push, push, reapplyPosition, refreshDimensions, registryAccess, remove, removeAfterChangingDimensions, removeLatestMovementRecordingBatch, removePassenger, removeTag, removeVehicle, repositionEntityAfterLoad, resetFallDistance, revive, rideTick, rotate, save, saveAsPassenger, saveWithoutId, sendBubbleColumnParticles, setAirSupply, setAsInsidePortal, setBoundingBox, setComponent, setCustomName, setCustomNameVisible, setData, setDeltaMovement, setDeltaMovement, setFluidTypeHeight, setGlowingTag, setId, setInvisible, setInvulnerable, setIsInPowderSnow, setLevel, setLevelCallback, setNoGravity, setOldPos, setOldPosAndRot, setOldPosAndRot, setOldRot, setOnGround, setOnGroundWithMovement, setOnGroundWithMovement, setPortalCooldown, setPortalCooldown, setPos, setPos, setPose, setPosRaw, setRemainingFireTicks, setRemoved, setRot, setSharedFlag, setSharedFlagOnFire, setShiftKeyDown, setSilent, setSprinting, setSwimming, setTicksFrozen, setUUID, setViewScale, setXRot, setYBodyRot, setYHeadRot, setYRot, shouldBeSaved, shouldBlockExplode, shouldPlayLavaHurtSound, shouldRender, shouldShowName, showVehicleHealth, skipAttackInteraction, snapTo, snapTo, snapTo, snapTo, snapTo, spawnAtLocation, spawnAtLocation, spawnAtLocation, spawnAtLocation, spawnSprintParticle, startRiding, startRiding, startSeenByPlayer, stopRiding, stopSeenByPlayer, syncPacketPositionCodec, teleport, teleportRelative, teleportSetPosition, teleportTo, teleportTo, thunderHit, toString, touchingUnloadedChunk, trackingPosition, turn, unRide, unsetRemoved, updateDynamicGameEventListener, updateFluidHeightAndDoFluidPushing, updateFluidHeightAndDoFluidPushing, updateInWaterStateAndDoFluidPushing, updateSwimming, waterSwimSound
Methods inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
deserializeAttachments, getData, getExistingDataOrNull, hasAttachments, hasData, removeData, serializeAttachments
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface net.minecraft.core.component.DataComponentGetter
get, getOrDefault, getOrDefault, getTyped, has, has
Methods inherited from interface net.neoforged.neoforge.attachment.IAttachmentHolder
getData, getExistingData, getExistingData, getExistingDataOrNull, hasData, removeData, setData
Methods inherited from interface net.neoforged.neoforge.common.extensions.IEntityExtension
canBeRiddenUnderFluidType, canFluidExtinguish, canHydrateInFluidType, canRiderInteract, canStartSwimming, canSwimInFluidType, copyAttachmentsFrom, getClassification, getFluidFallDistanceModifier, getFluidMotionScale, getParts, getSoundFromFluidType, hasCustomOutlineRendering, isEyeInFluidType, isInFluidType, isInFluidType, isInFluidType, isMultipartEntity, isPushedByFluid, sendPairingData, shouldRiderSit
Methods inherited from interface net.minecraft.world.scores.ScoreHolder
getFeedbackDisplayName
-
Field Details
-
ARROW_BASE_DAMAGE
private static final double ARROW_BASE_DAMAGE- See Also:
-
SHAKE_TIME
private static final int SHAKE_TIME- See Also:
-
WATER_INERTIA
private static final float WATER_INERTIA- See Also:
-
INERTIA
private static final float INERTIA- See Also:
-
DEFAULT_LIFE
private static final short DEFAULT_LIFE- See Also:
-
DEFAULT_SHAKE
private static final byte DEFAULT_SHAKE- See Also:
-
DEFAULT_IN_GROUND
private static final boolean DEFAULT_IN_GROUND- See Also:
-
DEFAULT_CRIT
private static final boolean DEFAULT_CRIT- See Also:
-
DEFAULT_PIERCE_LEVEL
private static final byte DEFAULT_PIERCE_LEVEL- See Also:
-
ID_FLAGS
-
PIERCE_LEVEL
-
IN_GROUND
-
FLAG_CRIT
private static final int FLAG_CRIT- See Also:
-
FLAG_NOPHYSICS
private static final int FLAG_NOPHYSICS- See Also:
-
lastState
-
inGroundTime
protected int inGroundTime -
pickup
-
shakeTime
public int shakeTime -
life
private int life -
baseDamage
private double baseDamage -
soundEvent
-
piercingIgnoreEntityIds
@Nullable private it.unimi.dsi.fastutil.ints.IntOpenHashSet piercingIgnoreEntityIds -
piercedAndKilledEntities
-
pickupItemStack
-
firedFromWeapon
-
-
Constructor Details
-
AbstractArrow
-
AbstractArrow
protected AbstractArrow(EntityType<? extends AbstractArrow> p_36717_, double p_346045_, double p_344855_, double p_345999_, Level p_36719_, ItemStack p_309031_, @Nullable ItemStack p_345487_) -
AbstractArrow
protected AbstractArrow(EntityType<? extends AbstractArrow> p_36721_, LivingEntity p_345310_, Level p_36722_, ItemStack p_309145_, @Nullable ItemStack p_345000_)
-
-
Method Details
-
setSoundEvent
-
shouldRenderAtSqrDistance
public boolean shouldRenderAtSqrDistance(double p_36726_) - Overrides:
shouldRenderAtSqrDistance
in classEntity
-
defineSynchedData
- Specified by:
defineSynchedData
in classEntity
-
shoot
public void shoot(double p_36775_, double p_36776_, double p_36777_, float p_36778_, float p_36779_) - Overrides:
shoot
in classProjectile
-
lerpMotion
public void lerpMotion(double p_36786_, double p_36787_, double p_36788_) - Overrides:
lerpMotion
in classEntity
-
onSyncedDataUpdated
- Specified by:
onSyncedDataUpdated
in interfaceSyncedDataHolder
- Overrides:
onSyncedDataUpdated
in classEntity
-
tick
public void tick()- Overrides:
tick
in classProjectile
-
stepMoveAndHit
-
applyInertia
private void applyInertia(float p_383121_) -
addBubbleParticles
-
getDefaultGravity
protected double getDefaultGravity()- Overrides:
getDefaultGravity
in classEntity
-
shouldFall
private boolean shouldFall() -
startFalling
private void startFalling() -
isInGround
protected boolean isInGround() -
setInGround
protected void setInGround(boolean p_381705_) -
isPushedByFluid
public boolean isPushedByFluid()- Overrides:
isPushedByFluid
in classEntity
-
move
-
tickDespawn
protected void tickDespawn() -
resetPiercedEntities
private void resetPiercedEntities() -
onItemBreak
- Overrides:
onItemBreak
in classProjectile
-
onAboveBubbleColumn
- Overrides:
onAboveBubbleColumn
in classProjectile
-
onInsideBubbleColumn
public void onInsideBubbleColumn(boolean p_382819_) - Overrides:
onInsideBubbleColumn
in classProjectile
-
push
public void push(double p_383096_, double p_383174_, double p_383161_) -
onHitEntity
- Overrides:
onHitEntity
in classProjectile
-
doKnockback
-
onHitBlock
- Overrides:
onHitBlock
in classProjectile
-
hitBlockEnchantmentEffects
protected void hitBlockEnchantmentEffects(ServerLevel p_345462_, BlockHitResult p_345204_, ItemStack p_345083_) -
getWeaponItem
- Overrides:
getWeaponItem
in classEntity
-
getDefaultHitGroundSoundEvent
-
getHitGroundSoundEvent
-
doPostHurtEffects
-
findHitEntity
-
canHitEntity
- Overrides:
canHitEntity
in classProjectile
-
addAdditionalSaveData
- Overrides:
addAdditionalSaveData
in classProjectile
-
readAdditionalSaveData
- Overrides:
readAdditionalSaveData
in classProjectile
-
setOwner
- Overrides:
setOwner
in classProjectile
-
playerTouch
- Overrides:
playerTouch
in classEntity
-
tryPickup
-
getPickupItem
-
getDefaultPickupItem
-
getMovementEmission
- Overrides:
getMovementEmission
in classEntity
-
getPickupItemStackOrigin
-
setBaseDamage
public void setBaseDamage(double p_36782_) -
isAttackable
public boolean isAttackable()- Overrides:
isAttackable
in classEntity
-
setCritArrow
public void setCritArrow(boolean p_36763_) -
setPierceLevel
private void setPierceLevel(byte p_36768_) -
setFlag
private void setFlag(int p_36738_, boolean p_36739_) -
setPickupItemStack
-
isCritArrow
public boolean isCritArrow() -
getPierceLevel
public byte getPierceLevel() -
setBaseDamageFromMob
public void setBaseDamageFromMob(float p_345515_) -
getWaterInertia
protected float getWaterInertia() -
setNoPhysics
public void setNoPhysics(boolean p_36791_) -
isNoPhysics
public boolean isNoPhysics() -
isPickable
public boolean isPickable()- Overrides:
isPickable
in classProjectile
-
getSlot
-
shouldBounceOnWorldBorder
protected boolean shouldBounceOnWorldBorder()- Overrides:
shouldBounceOnWorldBorder
in classProjectile
-