Class ProjectileEntity
- All Implemented Interfaces:
Ownable
,CommandOutput
,Nameable
,EntityLike
- Direct Known Subclasses:
ExplosiveProjectileEntity
,FireworkRocketEntity
,FishingBobberEntity
,LlamaSpitEntity
,PersistentProjectileEntity
,ShulkerBulletEntity
,ThrownEntity
- Mappings:
Namespace Name official ccm
intermediary net/minecraft/class_1676
named net/minecraft/entity/projectile/ProjectileEntity
-
Nested Class Summary
Nested classes/interfaces inherited from class net.minecraft.entity.Entity
Entity.MoveEffect, Entity.PositionUpdater, Entity.RemovalReason
-
Field Summary
Modifier and TypeFieldDescriptionprivate boolean
private @Nullable Entity
private @Nullable UUID
private boolean
Fields inherited from class net.minecraft.entity.Entity
age, collidedSoftly, dataTracker, DEFAULT_FRICTION, DEFAULT_MIN_FREEZE_DAMAGE_TICKS, DEFAULT_PORTAL_COOLDOWN, distanceTraveled, FALL_FLYING_FLAG_INDEX, fallDistance, field_29991, field_44870, field_44871, field_44872, firstUpdate, FLAGS, fluidHeight, FREEZING_DAMAGE_INTERVAL, GLOWING_FLAG_INDEX, groundCollision, horizontalCollision, horizontalSpeed, ID_KEY, ignoreCameraFrustum, inNetherPortal, inPowderSnow, intersectionChecked, lastNetherPortalPosition, lastRenderX, lastRenderY, lastRenderZ, MAX_COMMAND_TAGS, MAX_RIDING_COOLDOWN, MIN_RISING_BUBBLE_COLUMN_SPEED, movementMultiplier, netherPortalTime, noClip, ON_FIRE_FLAG_INDEX, PASSENGERS_KEY, POSE, prevHorizontalSpeed, prevPitch, prevX, prevY, prevYaw, prevZ, random, ridingCooldown, speed, submergedInWater, supportingBlockPos, timeUntilRegen, touchingWater, uuid, UUID_KEY, uuidString, velocityDirty, velocityModified, verticalCollision, wasInPowderSnow, wasOnFire
Fields inherited from interface net.minecraft.server.command.CommandOutput
DUMMY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
boolean
canModifyAt
(World world, BlockPos pos) Returns whether the entity can modify the world atpos
.Returns a packet to notify the clients of the entity's spawning.Returns the cause entity of any effect applied by this projectile.@Nullable Entity
getOwner()
protected boolean
protected void
onBlockHit
(BlockHitResult blockHitResult) protected void
onCollision
(HitResult hitResult) protected void
onEntityHit
(EntityHitResult entityHitResult) void
onSpawnPacket
(EntitySpawnS2CPacket packet) Called on the client when the entity receives a spawn packet.protected void
Reads custom data fromnbt
.void
void
setVelocity
(double x, double y, double z, float speed, float divergence) Sets velocity and updates rotation accordingly.void
setVelocity
(Entity shooter, float pitch, float yaw, float roll, float speed, float divergence) Sets velocity and updates rotation accordingly.void
setVelocityClient
(double x, double y, double z) private boolean
void
tick()
Ticks this entity.protected void
protected static float
updateRotation
(float prevRot, float newRot) protected void
Writes custom data tonbt
.Methods inherited from class net.minecraft.entity.Entity
addAirTravelEffects, addCommandTag, addFlapEffects, addPassenger, addVelocity, addVelocity, adjustMovementForCollisions, adjustMovementForPiston, adjustMovementForSneaking, animateDamage, applyDamageEffects, applyMirror, applyRotation, attemptTickInVoid, baseTick, bypassesLandingEffects, bypassesSteppingEffects, calculateBoundingBox, calculateDimensions, calculateNextStepSoundDistance, canAddPassenger, canAvoidTraps, canBeHitByProjectile, canBeSpectated, canExplosionDestroyBlock, canFreeze, canHit, canMoveVoluntarily, canSprintAsVehicle, canStartRiding, canUsePortals, changeLookDirection, checkBlockCollision, checkDespawn, collidesWith, collidesWithStateAtPos, copyFrom, copyPositionAndRotation, couldAcceptPassenger, damage, detach, discard, dismountVehicle, distanceTo, doesNotCollide, doesRenderOnFire, dropItem, dropItem, dropStack, dropStack, emitGameEvent, emitGameEvent, entityDataRequiresOperator, equals, equipStack, extinguish, extinguishWithSound, fall, getAir, getArmorItems, getBlockPos, getBlockStateAtPos, getBlockX, getBlockY, getBlockZ, getBodyY, getBodyYaw, getBoundingBox, getBrightnessAtEyes, getBurningDuration, getCameraPosVec, getChunkPos, getClientCameraPosVec, getCommandSource, getCommandTags, getControllingPassenger, getControllingVehicle, getCustomName, getDamageSources, getDataTracker, getDefaultName, getDefaultPortalCooldown, getDimensions, getDisplayName, getEffectiveExplosionResistance, getEntityName, getEntityWorld, getEyeHeight, getEyeHeight, getEyePos, getEyeY, getFireTicks, getFirstPassenger, getFlag, getFluidHeight, getFreezingScale, getFrozenTicks, getHandItems, getHandPosOffset, getHeadYaw, getHeight, getHighSpeedSplashSound, getHorizontalFacing, getHoverEvent, getId, getItemsEquipped, getJumpVelocityMultiplier, getLandingBlockState, getLandingPos, getLeashOffset, getLeashOffset, getLeashPos, getLerpedPos, getLerpTargetPitch, getLerpTargetX, getLerpTargetY, getLerpTargetYaw, getLerpTargetZ, getMaxAir, getMaxNetherPortalTime, getMinFreezeDamageTicks, getMoveEffect, getMovementDirection, getName, getNameLabelHeight, getOppositeRotationVector, getOppositeRotationVector, getParticleX, getParticleZ, getPassengerAttachmentPos, getPassengerDismountOffset, getPassengerList, getPassengerRidingPos, getPassengersDeep, getPermissionLevel, getPickBlockStack, getPistonBehavior, getPitch, getPitch, getPortalCooldown, getPortalRect, getPos, getPose, getPosWithYOffset, getRandomBodyY, getRemovalReason, getRenderDistanceMultiplier, getRidingOffset, getRootVehicle, getRotationClient, getRotationVec, getRotationVecClient, getRotationVector, getRotationVector, getSafeFallDistance, getSavedEntityId, getScoreboardTeam, getServer, getSoundCategory, getSplashSound, getStackReference, getStandingEyeHeight, getStepHeight, getSteppingBlockState, getSteppingPos, getStepSoundPos, getSwimHeight, getSwimSound, getSyncedPos, getTargetingMargin, getTeamColorValue, getTeleportTarget, getTrackedPosition, getType, getUnscaledRidingOffset, getUuid, getUuidAsString, getVehicle, getVelocity, getVelocityAffectingPos, getVelocityMultiplier, getVisibilityBoundingBox, getWidth, getWorld, getX, getY, getYaw, getYaw, getZ, handleAttack, handleFallDamage, handleStatus, hasCollidedSoftly, hasControllingPassenger, hasCustomName, hashCode, hasNoGravity, hasPassenger, hasPassenger, hasPassengerDeep, hasPassengers, hasPermissionLevel, hasPlayerRider, hasPortalCooldown, hasVehicle, initDataTracker, interact, interactAt, isAlive, isAttackable, isCollidable, isConnectedThroughVehicle, isCrawling, isCustomNameVisible, isDescending, isFireImmune, isFlappingWings, isFrozen, isGlowing, isGlowingLocal, isImmuneToExplosion, isInFluid, isInLava, isInPose, isInRange, isInRange, isInsideWall, isInsideWaterOrBubbleColumn, isInSneakingPose, isInSwimmingPose, isInvisible, isInvisibleTo, isInvulnerable, isInvulnerableTo, isLiving, isLogicalSideForUpdatingMovement, isOnFire, isOnGround, isOnRail, isPartOf, isPlayer, isPushable, isPushedByFluids, isRegionUnloaded, isRemoved, isSilent, isSneaking, isSneaky, isSpectator, isSprinting, isSubmergedIn, isSubmergedInWater, isSupportedBy, isSwimming, isTeammate, isTeamPlayer, isTouchingWater, isTouchingWaterOrRain, isWet, kill, lerpPosAndRotation, limitFallDistance, lookAt, move, moveToWorld, occludeVibrationSignals, offsetX, offsetZ, onBlockCollision, onBubbleColumnCollision, onBubbleColumnSurfaceCollision, onDamaged, onDataTrackerUpdate, onKilledOther, onLanding, onPassengerLookAround, onPlayerCollision, onRemoved, onStartedTrackingBy, onStoppedTrackingBy, onStruckByLightning, onSwimmingStart, onTrackedDataSet, playCombinationStepSounds, playExtinguishSound, playSecondaryStepSound, playSound, playSoundIfNotSilent, playStepSound, playSwimSound, playSwimSound, populateCrashReport, positionInPortal, pushAwayFrom, pushOutOfBlocks, raycast, readNbt, refreshPosition, refreshPositionAfterTeleport, refreshPositionAfterTeleport, refreshPositionAndAngles, refreshPositionAndAngles, reinitDimensions, remove, removeAllPassengers, removeFromDimension, removePassenger, removeScoreboardTag, requestTeleport, requestTeleportAndDismount, requestTeleportOffset, resetPortalCooldown, resetPosition, saveNbt, saveSelfNbt, scheduleVelocityUpdate, sendMessage, setAir, setBodyYaw, setBoundingBox, setChangeListener, setCustomName, setCustomNameVisible, setFireTicks, setFlag, setFrozenTicks, setGlowing, setHeadYaw, setId, setInNetherPortal, setInPowderSnow, setInvisible, setInvulnerable, setNoGravity, setOnFire, setOnFireFor, setOnFireFromLava, setOnGround, setOnGround, setPitch, setPortalCooldown, setPos, setPose, setPosition, setPosition, setRemoved, setRenderDistanceMultiplier, setRotation, setSilent, setSneaking, setSprinting, setStepHeight, setSwimming, setUuid, setVelocity, setVelocity, setWorld, setYaw, shouldBroadcastConsoleToOps, shouldControlVehicles, shouldDismountUnderwater, shouldEscapePowderSnow, shouldReceiveFeedback, shouldRender, shouldRender, shouldRenderName, shouldSave, shouldSetPositionOnLoad, shouldSpawnSprintingParticles, shouldTrackOutput, slowMovement, spawnSprintingParticles, squaredDistanceTo, squaredDistanceTo, squaredDistanceTo, startRiding, startRiding, stopRiding, streamPassengersAndSelf, streamSelfAndPassengers, teleport, teleport, tickInVoid, tickPortal, tickPortalCooldown, tickRiding, toNbtList, toNbtList, toString, tryCheckBlockCollision, unsetRemoved, updateEventHandler, updateKilledAdvancementCriterion, updateMovementInFluid, updatePassengerForDismount, updatePassengerPosition, updatePassengerPosition, updatePosition, updatePositionAndAngles, updateSupportingBlockPos, updateSwimming, updateTrackedHeadRotation, updateTrackedPosition, updateTrackedPositionAndAngles, updateVelocity, updateWaterState, writeNbt
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface net.minecraft.server.command.CommandOutput
cannotBeSilenced
-
Field Details
-
ownerUuid
- Mappings:
Namespace Name Mixin selector official b
Lccm;b:Ljava/util/UUID;
intermediary field_22478
Lnet/minecraft/class_1676;field_22478:Ljava/util/UUID;
named ownerUuid
Lnet/minecraft/entity/projectile/ProjectileEntity;ownerUuid:Ljava/util/UUID;
-
owner
- Mappings:
Namespace Name Mixin selector official c
Lccm;c:Lbiq;
intermediary field_33399
Lnet/minecraft/class_1676;field_33399:Lnet/minecraft/class_1297;
named owner
Lnet/minecraft/entity/projectile/ProjectileEntity;owner:Lnet/minecraft/entity/Entity;
-
leftOwner
private boolean leftOwner- Mappings:
Namespace Name Mixin selector official d
Lccm;d:Z
intermediary field_23740
Lnet/minecraft/class_1676;field_23740:Z
named leftOwner
Lnet/minecraft/entity/projectile/ProjectileEntity;leftOwner:Z
-
shot
private boolean shot- Mappings:
Namespace Name Mixin selector official e
Lccm;e:Z
intermediary field_28646
Lnet/minecraft/class_1676;field_28646:Z
named shot
Lnet/minecraft/entity/projectile/ProjectileEntity;shot:Z
-
-
Constructor Details
-
ProjectileEntity
ProjectileEntity(EntityType<? extends ProjectileEntity> type, World world) - Mappings:
Namespace Name Mixin selector official <init>
Lbiq;<init>(Lbiu;Lcpv;)V
intermediary <init>
Lnet/minecraft/class_1297;<init>(Lnet/minecraft/class_1299;Lnet/minecraft/class_1937;)V
named <init>
Lnet/minecraft/entity/Entity;<init>(Lnet/minecraft/entity/EntityType;Lnet/minecraft/world/World;)V
-
-
Method Details
-
setOwner
- Mappings:
Namespace Name Mixin selector official b
Lccm;b(Lbiq;)V
intermediary method_7432
Lnet/minecraft/class_1676;method_7432(Lnet/minecraft/class_1297;)V
named setOwner
Lnet/minecraft/entity/projectile/ProjectileEntity;setOwner(Lnet/minecraft/entity/Entity;)V
-
getOwner
-
getEffectCause
Returns the cause entity of any effect applied by this projectile. If this projectile has an owner, the effect is attributed to the owner; otherwise, it is attributed to this projectile itself.- Returns:
- the cause entity of any effect applied by this projectile
- Mappings:
Namespace Name Mixin selector official G
Lccm;G()Lbiq;
intermediary method_37225
Lnet/minecraft/class_1676;method_37225()Lnet/minecraft/class_1297;
named getEffectCause
Lnet/minecraft/entity/projectile/ProjectileEntity;getEffectCause()Lnet/minecraft/entity/Entity;
-
writeCustomDataToNbt
Writes custom data tonbt
. Subclasses have to implement this.NBT is a storage format; therefore, a data from NBT is loaded to an entity instance's fields, which are used for other operations instead of the NBT. The data is written back to NBT when saving the entity.
- Specified by:
writeCustomDataToNbt
in classEntity
- See Also:
- Mappings:
Namespace Name Mixin selector official b
Lbiq;b(Lqw;)V
intermediary method_5652
Lnet/minecraft/class_1297;method_5652(Lnet/minecraft/class_2487;)V
named writeCustomDataToNbt
Lnet/minecraft/entity/Entity;writeCustomDataToNbt(Lnet/minecraft/nbt/NbtCompound;)V
-
isOwner
- Mappings:
Namespace Name Mixin selector official d
Lccm;d(Lbiq;)Z
intermediary method_34714
Lnet/minecraft/class_1676;method_34714(Lnet/minecraft/class_1297;)Z
named isOwner
Lnet/minecraft/entity/projectile/ProjectileEntity;isOwner(Lnet/minecraft/entity/Entity;)Z
-
readCustomDataFromNbt
Reads custom data fromnbt
. Subclasses have to implement this.NBT is a storage format; therefore, a data from NBT is loaded to an entity instance's fields, which are used for other operations instead of the NBT. The data is written back to NBT when saving the entity.
nbt
might not have all expected keys, or might have a key whose value does not meet the requirement (such as the type or the range). This method should fall back to a reasonable default value instead of throwing an exception.- Specified by:
readCustomDataFromNbt
in classEntity
- See Also:
- Mappings:
Namespace Name Mixin selector official a
Lbiq;a(Lqw;)V
intermediary method_5749
Lnet/minecraft/class_1297;method_5749(Lnet/minecraft/class_2487;)V
named readCustomDataFromNbt
Lnet/minecraft/entity/Entity;readCustomDataFromNbt(Lnet/minecraft/nbt/NbtCompound;)V
-
tick
public void tick()Ticks this entity. -
shouldLeaveOwner
private boolean shouldLeaveOwner()- Mappings:
Namespace Name Mixin selector official s
Lccm;s()Z
intermediary method_26961
Lnet/minecraft/class_1676;method_26961()Z
named shouldLeaveOwner
Lnet/minecraft/entity/projectile/ProjectileEntity;shouldLeaveOwner()Z
-
setVelocity
public void setVelocity(double x, double y, double z, float speed, float divergence) Sets velocity and updates rotation accordingly.The velocity and rotation will be set to the same direction.
The direction is calculated as follows: Based on the direction vector
(x, y, z)
, a random vector is added, then multiplied by thespeed
.- Parameters:
x
- the X component of the direction vectory
- the Y component of the direction vectorz
- the Z component of the direction vectorspeed
- the speeddivergence
- the fuzziness added to the direction; player usages have 1.0 and other mobs/tools have higher values; some mobs have difficulty-adjusted values- Mappings:
Namespace Name Mixin selector official c
Lccm;c(DDDFF)V
intermediary method_7485
Lnet/minecraft/class_1676;method_7485(DDDFF)V
named setVelocity
Lnet/minecraft/entity/projectile/ProjectileEntity;setVelocity(DDDFF)V
-
setVelocity
public void setVelocity(Entity shooter, float pitch, float yaw, float roll, float speed, float divergence) Sets velocity and updates rotation accordingly.- Parameters:
shooter
- the entity who shot this projectile; used to add the shooter's velocity to this projectilepitch
- the pitchyaw
- the yawroll
- the rollspeed
- the speeddivergence
- the fuzziness added to the direction; player usages have 1.0 and other mobs/tools have higher values; some mobs have difficulty-adjusted values- Mappings:
Namespace Name Mixin selector official a
Lccm;a(Lbiq;FFFFF)V
intermediary method_24919
Lnet/minecraft/class_1676;method_24919(Lnet/minecraft/class_1297;FFFFF)V
named setVelocity
Lnet/minecraft/entity/projectile/ProjectileEntity;setVelocity(Lnet/minecraft/entity/Entity;FFFFF)V
-
onCollision
- Mappings:
Namespace Name Mixin selector official a
Lccm;a(Lehl;)V
intermediary method_7488
Lnet/minecraft/class_1676;method_7488(Lnet/minecraft/class_239;)V
named onCollision
Lnet/minecraft/entity/projectile/ProjectileEntity;onCollision(Lnet/minecraft/util/hit/HitResult;)V
-
onEntityHit
- Mappings:
Namespace Name Mixin selector official a
Lccm;a(Lehk;)V
intermediary method_7454
Lnet/minecraft/class_1676;method_7454(Lnet/minecraft/class_3966;)V
named onEntityHit
Lnet/minecraft/entity/projectile/ProjectileEntity;onEntityHit(Lnet/minecraft/util/hit/EntityHitResult;)V
-
onBlockHit
- Mappings:
Namespace Name Mixin selector official a
Lccm;a(Lehj;)V
intermediary method_24920
Lnet/minecraft/class_1676;method_24920(Lnet/minecraft/class_3965;)V
named onBlockHit
Lnet/minecraft/entity/projectile/ProjectileEntity;onBlockHit(Lnet/minecraft/util/hit/BlockHitResult;)V
-
setVelocityClient
public void setVelocityClient(double x, double y, double z) - Overrides:
setVelocityClient
in classEntity
- Mappings:
Namespace Name Mixin selector official l
Lbiq;l(DDD)V
intermediary method_5750
Lnet/minecraft/class_1297;method_5750(DDD)V
named setVelocityClient
Lnet/minecraft/entity/Entity;setVelocityClient(DDD)V
-
canHit
- Mappings:
Namespace Name Mixin selector official a
Lccm;a(Lbiq;)Z
intermediary method_26958
Lnet/minecraft/class_1676;method_26958(Lnet/minecraft/class_1297;)Z
named canHit
Lnet/minecraft/entity/projectile/ProjectileEntity;canHit(Lnet/minecraft/entity/Entity;)Z
-
updateRotation
protected void updateRotation()- Mappings:
Namespace Name Mixin selector official H
Lccm;H()V
intermediary method_26962
Lnet/minecraft/class_1676;method_26962()V
named updateRotation
Lnet/minecraft/entity/projectile/ProjectileEntity;updateRotation()V
-
updateRotation
protected static float updateRotation(float prevRot, float newRot) - Mappings:
Namespace Name Mixin selector official d
Lccm;d(FF)F
intermediary method_26960
Lnet/minecraft/class_1676;method_26960(FF)F
named updateRotation
Lnet/minecraft/entity/projectile/ProjectileEntity;updateRotation(FF)F
-
createSpawnPacket
Returns a packet to notify the clients of the entity's spawning.- Overrides:
createSpawnPacket
in classEntity
- Returns:
- a packet to notify the clients of the entity's spawning
- Mappings:
Namespace Name Mixin selector official di
Lbiq;di()Lvd;
intermediary method_18002
Lnet/minecraft/class_1297;method_18002()Lnet/minecraft/class_2596;
named createSpawnPacket
Lnet/minecraft/entity/Entity;createSpawnPacket()Lnet/minecraft/network/packet/Packet;
-
onSpawnPacket
Called on the client when the entity receives a spawn packet.This sets the entity's position, angles, ID, and UUID. Subclasses can override this to initialize additional fields.
- Overrides:
onSpawnPacket
in classEntity
- Mappings:
Namespace Name Mixin selector official a
Lbiq;a(Lwx;)V
intermediary method_31471
Lnet/minecraft/class_1297;method_31471(Lnet/minecraft/class_2604;)V
named onSpawnPacket
Lnet/minecraft/entity/Entity;onSpawnPacket(Lnet/minecraft/network/packet/s2c/play/EntitySpawnS2CPacket;)V
-
canModifyAt
Returns whether the entity can modify the world atpos
.This returns
true
for most entities. Players checkWorld.canPlayerModifyAt(net.minecraft.entity.player.PlayerEntity, net.minecraft.util.math.BlockPos)
to prevent them from modifying entities in the spawn protection or outside the world border.ProjectileEntity
delegates it to the owner if the owner is a player; if the owner is a non-player entity, this returns the value ofGameRules.DO_MOB_GRIEFING
, and ownerless projectiles are always allowed to modify the world.- Overrides:
canModifyAt
in classEntity
- Returns:
- whether the entity can modify the world at
pos
- See Also:
- Mappings:
Namespace Name Mixin selector official a
Lbiq;a(Lcpv;Lgw;)Z
intermediary method_36971
Lnet/minecraft/class_1297;method_36971(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;)Z
named canModifyAt
Lnet/minecraft/entity/Entity;canModifyAt(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;)Z
-