Package net.minecraft.entity.projectile
Class PersistentProjectileEntity
java.lang.Object
net.minecraft.entity.Entity
net.minecraft.entity.projectile.ProjectileEntity
net.minecraft.entity.projectile.PersistentProjectileEntity
- All Implemented Interfaces:
CommandOutput
,Nameable
- Direct Known Subclasses:
ArrowEntity
,SpectralArrowEntity
,TridentEntity
public abstract class PersistentProjectileEntity extends ProjectileEntity
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
PersistentProjectileEntity.PickupPermission
Nested classes/interfaces inherited from class net.minecraft.entity.Entity
Entity.PositionUpdater
-
Field Summary
Fields Modifier and Type Field Description private double
damage
private BlockState
inBlockState
protected boolean
inGround
protected int
inGroundTime
private int
life
PersistentProjectileEntity.PickupPermission
pickupType
private static TrackedData<Byte>
PIERCE_LEVEL
private IntOpenHashSet
piercedEntities
private List<Entity>
piercingKilledEntities
private static TrackedData<Byte>
PROJECTILE_FLAGS
private int
punch
int
shake
private SoundEvent
sound
Fields inherited from class net.minecraft.entity.Entity
age, chunkX, chunkY, chunkZ, dataTracker, distanceTraveled, fallDistance, field_25599, firstUpdate, FLAGS, fluidHeight, glowing, horizontalCollision, horizontalSpeed, ignoreCameraFrustum, inanimate, inNetherPortal, lastNetherPortalPosition, lastRenderX, lastRenderY, lastRenderZ, LOGGER, movementMultiplier, netherPortalTime, noClip, onGround, pitch, POSE, prevHorizontalSpeed, prevPitch, prevX, prevY, prevYaw, prevZ, pushSpeedReduction, random, removed, ridingCooldown, stepHeight, submergedInWater, teleporting, timeUntilRegen, touchingWater, updateNeeded, uuid, uuidString, velocityDirty, velocityModified, verticalCollision, world, yaw
Fields inherited from interface net.minecraft.server.command.CommandOutput
DUMMY
-
Constructor Summary
Constructors Modifier Constructor Description protected
PersistentProjectileEntity(EntityType<? extends PersistentProjectileEntity> type, double x, double y, double z, World world)
protected
PersistentProjectileEntity(EntityType<? extends PersistentProjectileEntity> type, LivingEntity owner, World world)
protected
PersistentProjectileEntity(EntityType<? extends PersistentProjectileEntity> type, World world)
-
Method Summary
Modifier and Type Method Description protected void
age()
void
applyEnchantmentEffects(LivingEntity entity, float damageModifier)
protected abstract ItemStack
asItemStack()
protected boolean
canClimb()
private void
clearPiercingStatus()
Packet<?>
createSpawnPacket()
double
getDamage()
protected float
getDragInWater()
protected EntityHitResult
getEntityCollision(Vec3d currentPosition, Vec3d nextPosition)
protected float
getEyeHeight(EntityPose pose, EntityDimensions dimensions)
protected SoundEvent
getHitSound()
byte
getPierceLevel()
protected SoundEvent
getSound()
protected void
initDataTracker()
boolean
isAttackable()
boolean
isCritical()
boolean
isNoClip()
boolean
isShotFromCrossbow()
private boolean
method_26351()
private void
method_26352()
protected boolean
method_26958(Entity entity)
void
move(MovementType type, Vec3d movement)
protected void
onBlockHit(BlockHitResult blockHitResult)
protected void
onEntityHit(EntityHitResult entityHitResult)
protected void
onHit(LivingEntity target)
void
onPlayerCollision(PlayerEntity player)
void
readCustomDataFromTag(CompoundTag tag)
void
setCritical(boolean critical)
void
setDamage(double damage)
void
setNoClip(boolean noClip)
void
setOwner(Entity entity)
void
setPierceLevel(byte level)
private void
setProjectileFlag(int index, boolean flag)
void
setPunch(int punch)
void
setShotFromCrossbow(boolean shotFromCrossbow)
void
setSound(SoundEvent sound)
void
setVelocity(double x, double y, double z, float speed, float divergence)
void
setVelocityClient(double x, double y, double z)
boolean
shouldRender(double distance)
void
tick()
void
updateTrackedPositionAndAngles(double x, double y, double z, float yaw, float pitch, int interpolationSteps, boolean interpolate)
void
writeCustomDataToTag(CompoundTag tag)
Methods inherited from class net.minecraft.entity.projectile.ProjectileEntity
getOwner, method_26962, onCollision, setProperties, updateRotation
Methods inherited from class net.minecraft.entity.Entity
addPassenger, addScoreboardTag, addVelocity, adjustMovementForCollisions, adjustMovementForCollisions, adjustMovementForPiston, adjustMovementForSneaking, adjustSingleAxisMovementForCollisions, afterSpawn, animateDamage, applyMirror, applyRotation, baseTick, bypassesLandingEffects, bypassesSteppingEffects, calculateBoundsForPose, calculateDimensions, calculateNextStepSoundDistance, canAddPassenger, canAvoidTraps, canBeRiddenInWater, canBeSpectated, canExplosionDestroyBlock, canFly, canStartRiding, canUsePortals, changeLookDirection, checkBlockCollision, checkDespawn, collides, collidesWith, copyFrom, copyPositionAndRotation, damage, dealDamage, destroy, detach, distanceTo, doesNotCollide, doesRenderOnFire, dropItem, dropItem, dropStack, dropStack, entityDataRequiresOperator, equals, equip, equipStack, extinguish, fall, fromTag, getAir, getArmorItems, getBlockPos, getBodyY, getBoundingBox, getBrightnessAtEyes, getBurningDuration, getCameraPosVec, getCommandSource, getCustomName, getDataTracker, getDefaultName, getDefaultNetherPortalCooldown, getDimensions, getDisplayName, getEffectiveExplosionResistance, getEntityId, getEntityName, getEntityWorld, getEyeHeight, getEyeY, getFireTicks, getFlag, getFluidHeight, getHeadYaw, getHeight, getHeightOffset, getHighSpeedSplashSound, getHorizontalFacing, getHoverEvent, getItemsEquipped, getItemsHand, getJumpVelocityMultiplier, getLandingBlockState, getLandingPos, getMaxAir, getMaxNetherPortalTime, getMountedHeightOffset, getMovementDirection, getName, getOppositeRotationVector, getOppositeRotationVector, getParticleX, getParticleZ, getPassengerDismountOffset, getPassengerList, getPassengersDeep, getPermissionLevel, getPistonBehavior, getPitch, getPos, getPose, getPrimaryPassenger, getRandomBodyY, getRenderDistanceMultiplier, getRootVehicle, getRotationClient, getRotationVec, getRotationVecClient, getRotationVector, getRotationVector, getSafeFallDistance, getSavedEntityId, getScoreboardTags, getScoreboardTeam, getServer, getSoundCategory, getSplashSound, getStandingEyeHeight, getSwimSound, getTargetingMargin, getTeamColorValue, getTeleportTarget, getTrackedPosition, getType, getUuid, getUuidAsString, getVehicle, getVelocity, getVelocityAffectingPos, getVelocityMultiplier, getVisibilityBoundingBox, getWidth, getX, getY, getYaw, getZ, handleAttack, handleFallDamage, handleStatus, hasCustomName, hashCode, hasNetherPortalCooldown, hasNoGravity, hasPassenger, hasPassengerDeep, hasPassengers, hasPassengerType, hasPermissionLevel, hasPlayerRider, hasVehicle, hasWings, interact, interactAt, isAlive, isChunkPosUpdateRequested, isCollidable, isConnectedThroughVehicle, isCustomNameVisible, isDescending, isFireImmune, isGlowing, isImmuneToExplosion, isInLava, isInRange, isInsideWall, isInsideWaterOrBubbleColumn, isInSneakingPose, isInSwimmingPose, isInvisible, isInvisibleTo, isInvulnerable, isInvulnerableTo, isLiving, isLogicalSideForUpdatingMovement, isOnFire, isOnGround, isPartOf, isPushable, isSilent, isSneaking, isSneaky, isSpectator, isSprinting, isSubmergedIn, isSubmergedInWater, isSwimming, isTeammate, isTeamPlayer, isTouchingWater, isTouchingWaterOrRain, isWet, kill, lookAt, method_29239, method_29241, method_29919, method_30076, method_30330, method_30632, method_30633, method_30634, method_30950, method_30951, method_31166, moveToBoundingBoxCenter, moveToWorld, offsetX, offsetZ, onBlockCollision, onBubbleColumnCollision, onBubbleColumnSurfaceCollision, onKilledOther, onPassengerLookAround, onStartedTrackingBy, onStoppedTrackingBy, onStruckByLightning, onSwimmingStart, onTrackedDataSet, playFlySound, playSound, playStepSound, playSwimSound, populateCrashReport, pushAwayFrom, pushOutOfBlocks, raycast, refreshPosition, refreshPositionAfterTeleport, refreshPositionAfterTeleport, refreshPositionAndAngles, refreshPositionAndAngles, remove, removeAllPassengers, removePassenger, removeScoreboardTag, requestTeleport, resetNetherPortalCooldown, resetPosition, saveSelfToTag, saveToTag, scheduleVelocityUpdate, sendSystemMessage, setAir, setBoundingBox, setCustomName, setCustomNameVisible, setEntityId, setFireTicks, setFlag, setGlowing, setHeadYaw, setInNetherPortal, setInvisible, setInvulnerable, setNoGravity, setOnFireFor, setOnFireFromLava, setOnGround, setPos, setPose, setRenderDistanceMultiplier, setRotation, setSilent, setSneaking, setSprinting, setSwimming, setUuid, setVelocity, setVelocity, setWorld, setYaw, shouldBroadcastConsoleToOps, shouldLeaveSwimmingPose, shouldReceiveFeedback, shouldRender, shouldRenderName, shouldSetPositionOnLoad, shouldSpawnSprintingParticles, shouldTrackOutput, slowMovement, spawnSprintingParticles, squaredDistanceTo, squaredDistanceTo, squaredDistanceTo, squaredHorizontalLength, startRiding, startRiding, stopRiding, streamPassengersRecursively, teleport, teleportRequested, tickNetherPortal, tickNetherPortalCooldown, tickRiding, toListTag, toListTag, toString, toTag, updateKilledAdvancementCriterion, updateMovementInFluid, updatePassengerForDismount, updatePassengerPosition, updatePosition, updatePositionAndAngles, updateSwimming, updateTrackedHeadRotation, updateTrackedPosition, updateTrackedPosition, updateVelocity, updateWaterState, wouldPoseNotCollide
-
Field Details
-
PROJECTILE_FLAGS
-
PIERCE_LEVEL
-
inBlockState
-
inGround
protected boolean inGround -
inGroundTime
protected int inGroundTime -
pickupType
-
shake
public int shake -
life
private int life -
damage
private double damage -
punch
private int punch -
sound
-
piercedEntities
-
piercingKilledEntities
-
-
Constructor Details
-
PersistentProjectileEntity
protected PersistentProjectileEntity(EntityType<? extends PersistentProjectileEntity> type, World world) -
PersistentProjectileEntity
protected PersistentProjectileEntity(EntityType<? extends PersistentProjectileEntity> type, double x, double y, double z, World world) -
PersistentProjectileEntity
protected PersistentProjectileEntity(EntityType<? extends PersistentProjectileEntity> type, LivingEntity owner, World world)
-
-
Method Details
-
setSound
-
shouldRender
@Environment(CLIENT) public boolean shouldRender(double distance)- Overrides:
shouldRender
in classEntity
-
initDataTracker
protected void initDataTracker()- Specified by:
initDataTracker
in classEntity
-
setVelocity
public void setVelocity(double x, double y, double z, float speed, float divergence)- Overrides:
setVelocity
in classProjectileEntity
-
updateTrackedPositionAndAngles
@Environment(CLIENT) public void updateTrackedPositionAndAngles(double x, double y, double z, float yaw, float pitch, int interpolationSteps, boolean interpolate)- Overrides:
updateTrackedPositionAndAngles
in classEntity
-
setVelocityClient
@Environment(CLIENT) public void setVelocityClient(double x, double y, double z)- Overrides:
setVelocityClient
in classProjectileEntity
-
tick
public void tick()- Overrides:
tick
in classProjectileEntity
-
method_26351
private boolean method_26351() -
method_26352
private void method_26352() -
move
-
age
protected void age() -
clearPiercingStatus
private void clearPiercingStatus() -
onEntityHit
- Overrides:
onEntityHit
in classProjectileEntity
-
onBlockHit
- Overrides:
onBlockHit
in classProjectileEntity
-
getHitSound
-
getSound
-
onHit
-
getEntityCollision
-
method_26958
- Overrides:
method_26958
in classProjectileEntity
-
writeCustomDataToTag
- Overrides:
writeCustomDataToTag
in classProjectileEntity
-
readCustomDataFromTag
- Overrides:
readCustomDataFromTag
in classProjectileEntity
-
setOwner
- Overrides:
setOwner
in classProjectileEntity
-
onPlayerCollision
- Overrides:
onPlayerCollision
in classEntity
-
asItemStack
-
canClimb
protected boolean canClimb() -
setDamage
public void setDamage(double damage) -
getDamage
public double getDamage() -
setPunch
public void setPunch(int punch) -
isAttackable
public boolean isAttackable()- Overrides:
isAttackable
in classEntity
-
getEyeHeight
- Overrides:
getEyeHeight
in classEntity
-
setCritical
public void setCritical(boolean critical) -
setPierceLevel
public void setPierceLevel(byte level) -
setProjectileFlag
private void setProjectileFlag(int index, boolean flag) -
isCritical
public boolean isCritical() -
isShotFromCrossbow
public boolean isShotFromCrossbow() -
getPierceLevel
public byte getPierceLevel() -
applyEnchantmentEffects
-
getDragInWater
protected float getDragInWater() -
setNoClip
public void setNoClip(boolean noClip) -
isNoClip
public boolean isNoClip() -
setShotFromCrossbow
public void setShotFromCrossbow(boolean shotFromCrossbow) -
createSpawnPacket
- Specified by:
createSpawnPacket
in classEntity
-