Class BlockAttachedEntity
- All Implemented Interfaces:
ComponentsAccess,DataTracked,ScoreHolder,Nameable,EntityLike,UniquelyIdentifiable
- Direct Known Subclasses:
AbstractDecorationEntity,LeashKnotEntity
- Mappings:
Namespace Name named net/minecraft/entity/decoration/BlockAttachedEntityintermediary net/minecraft/class_9691official cod
-
Nested Class Summary
Nested classes/interfaces inherited from class net.minecraft.entity.Entity
Entity.MoveEffect, Entity.PositionUpdater, Entity.RemovalReason -
Field Summary
FieldsFields inherited from class net.minecraft.entity.Entity
age, collidedSoftly, dataTracker, DEFAULT_FRICTION, DEFAULT_MIN_FREEZE_DAMAGE_TICKS, DEFAULT_PORTAL_COOLDOWN, distanceTraveled, fallDistance, field_44870, field_44871, field_44872, field_49073, field_49791, firstUpdate, FLAGS, fluidHeight, FREEZING_DAMAGE_INTERVAL, GLIDING_FLAG_INDEX, GLOWING_FLAG_INDEX, groundCollision, horizontalCollision, ID_KEY, inPowderSnow, intersectionChecked, lastPitch, lastRenderX, lastRenderY, lastRenderZ, lastX, lastY, lastYaw, lastZ, MAX_COMMAND_TAGS, MAX_RIDING_COOLDOWN, MIN_RISING_BUBBLE_COLUMN_SPEED, movementMultiplier, noClip, ON_FIRE_FLAG_INDEX, PASSENGERS_KEY, portalManager, POSE, random, ridingCooldown, speed, submergedInWater, supportingBlockPos, timeUntilRegen, touchingWater, uuid, UUID_KEY, uuidString, velocityDirty, velocityModified, verticalCollision, wasInPowderSnowFields inherited from interface net.minecraft.scoreboard.ScoreHolder
WILDCARD, WILDCARD_NAME -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedBlockAttachedEntity(EntityType<? extends BlockAttachedEntity> type, World world) protectedBlockAttachedEntity(EntityType<? extends BlockAttachedEntity> type, World world, BlockPos attachedBlockPos) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddVelocity(double deltaX, double deltaY, double deltaZ) voidCalculates and sets the dimension (bounding box) of the entity and refreshes its position.booleancanHit()Returns whether the entity can be hit with a projectile or be targeted by the player crosshair.abstract booleanbooleanclientDamage(DamageSource source) booleandamage(ServerWorld world, DamageSource source, float amount) Applies a damage to this entity.booleanhandleAttack(Entity attacker) Handles a player attacking the entity.booleanisImmuneToExplosion(Explosion explosion) Returns whether the entity is immune from explosion knockback and damage.voidmove(MovementType type, Vec3d movement) abstract voidonBreak(ServerWorld world, @Nullable Entity breaker) voidonStruckByLightning(ServerWorld world, LightningEntity lightning) Called when the entity is struck by lightning.voidReads custom data fromnbt.voidsetPosition(double x, double y, double z) Sets the position and refreshes the bounding box.protected booleanvoidtick()Ticks this entity.protected abstract voidvoidWrites custom data tonbt.Methods inherited from class net.minecraft.entity.Entity
addAirTravelEffects, addCommandTag, addFlapEffects, addPassenger, addPortalChunkTicketAt, addVelocity, addVelocityInternal, adjustMovementForCollisions, adjustMovementForPiston, adjustMovementForSneaking, animateDamage, applyBubbleColumnEffects, applyBubbleColumnSurfaceEffects, applyGravity, applyMirror, applyRotation, attemptTickInVoid, baseTick, bypassesLandingEffects, bypassesSteppingEffects, calculateBoundingBox, calculateDefaultBoundingBox, calculateNextStepSoundDistance, canActVoluntarily, canAddPassenger, canAvoidTraps, canBeHitByProjectile, canBeSpectated, canExplosionDestroyBlock, canFreeze, canModifyAt, canMoveVoluntarily, canSprintAsVehicle, canStartRiding, canTeleportBetween, canUsePortals, castComponentValue, changeLookDirection, checkDespawn, collidesWith, collidesWithStateAtPos, copyComponentFrom, copyComponentsFrom, copyComponentsFrom, copyFrom, copyPositionAndRotation, couldAcceptPassenger, createSpawnPacket, defrost, detach, discard, dismountVehicle, distanceTo, doesNotCollide, doesRenderOnFire, dropItem, dropItem, dropStack, dropStack, emitGameEvent, emitGameEvent, equals, extinguish, extinguishWithSound, fall, get, getAir, getAttachments, getBlockPos, getBlockStateAtPos, getBlockX, getBlockY, getBlockZ, getBodyX, getBodyY, getBodyYaw, getBodyZ, getBoundingBox, getBrightnessAtEyes, getBurningDuration, getCameraPosVec, getChunkPos, getClientCameraPosVec, getCommandSource, getCommandTags, getControllingPassenger, getControllingVehicle, getCustomName, getDamageSources, getDataTracker, getDefaultName, getDefaultPortalCooldown, getDimensions, getDisplayName, getEffectiveExplosionResistance, getEntityWorld, getEyeHeight, getEyePos, getEyeY, getFacing, getFinalGravity, getFireTicks, getFirstPassenger, getFlag, getFluidHeight, getFreezingScale, getFrozenTicks, getGravity, getHandPosOffset, getHeadYaw, getHeight, getHighSpeedSplashSound, getHorizontalFacing, getHoverEvent, getId, getInterpolator, getJumpVelocityMultiplier, getLandingBlockState, getLandingPos, getLastRenderPos, getLeashOffset, getLeashOffset, getLeashPos, getLerpedPitch, getLerpedPos, getLerpedYaw, getLootTableKey, getMaxAir, getMinFreezeDamageTicks, getMoveEffect, getMovement, getMovementDirection, getName, getNameForScoreboard, getOppositeRotationVector, getOppositeRotationVector, getParticleX, getParticleZ, getPassengerAttachmentPos, getPassengerAttachmentPos, getPassengerDismountOffset, getPassengerList, getPassengerRidingPos, getPassengersDeep, getPickBlockStack, getPistonBehavior, getPitch, getPitch, getPlayerPassengers, getPortalCooldown, getPos, getPose, getPosWithYOffset, getProjectileDeflection, getRandom, getRandomBodyY, getRegistryManager, getRemovalReason, getRenderDistanceMultiplier, getRootVehicle, getRotationClient, getRotationVec, getRotationVecClient, getRotationVector, getRotationVector, getSafeFallDistance, getSavedEntityId, getScoreboardTeam, getServer, getSoundCategory, getSplashSound, getStackReference, getStandingEyeHeight, getStepHeight, getSteppingBlockState, getSteppingPos, getStepSoundPos, getSwimHeight, getSwimSound, getSyncedPos, getTargetingMargin, getTeamColorValue, getTrackedPosition, getType, getUuid, getUuidAsString, getVehicle, getVehicleAttachmentPos, getVelocity, getVelocityAffectingPos, getVelocityMultiplier, getWeaponStack, getWidth, getWorld, getWorldSpawnPos, getX, getY, getYaw, getYaw, getZ, handleFall, handleFallDamage, handleFallDamageForPassengers, handleStatus, hasCollidedSoftly, hasControllingPassenger, hasCustomName, hashCode, hasNoGravity, hasPassenger, hasPassenger, hasPassengerDeep, hasPassengers, hasPlayerRider, hasPortalCooldown, hasVehicle, igniteByLava, initDataTracker, interact, interactAt, isAlive, isAlwaysInvulnerableTo, isAttackable, isCollidable, isConnectedThroughVehicle, isControlledByMainPlayer, isControlledByPlayer, isCrawling, isCustomNameVisible, isDescending, isFireImmune, isFlappingWings, isFrozen, isGlowing, isGlowingLocal, isInFluid, isInLava, isInPose, isInRange, isInRange, isInSameTeam, isInsideWall, isInSneakingPose, isInSwimmingPose, isInterpolating, isInvisible, isInvisibleTo, isInvulnerable, isLiving, isLogicalSideForUpdatingMovement, isOnFire, isOnGround, isOnRail, isPartOf, isPlayer, isPushable, isPushedByFluids, isRegionUnloaded, isRemoved, isSilent, isSneaking, isSneaky, isSpectator, isSprinting, isSubmergedIn, isSubmergedInWater, isSupportedBy, isSwimming, isTeammate, isTeamPlayer, isTouchingWater, isTouchingWaterOrRain, kill, lerpPosAndRotation, lerpYaw, limitFallDistance, lookAt, movementInputToVelocity, occludeVibrationSignals, onBlockCollision, onBubbleColumnCollision, onBubbleColumnSurfaceCollision, onDamaged, onDataTrackerUpdate, onExplodedBy, onKilledOther, onLanding, onPassengerLookAround, onPlayerCollision, onRemove, onRemoved, onSpawnPacket, onStartedTrackingBy, onStoppedTrackingBy, onSwimmingStart, onTrackedDataSet, playCombinationStepSounds, playExtinguishSound, playSecondaryStepSound, playSound, playSoundIfNotSilent, playStepSound, playSwimSound, playSwimSound, popQueuedCollisionCheck, populateCrashReport, positionInPortal, pushAwayFrom, pushOutOfBlocks, raycast, readNbt, recalculateDimensions, refreshPosition, refreshPositionAfterTeleport, refreshPositionAfterTeleport, refreshPositionAndAngles, refreshPositionAndAngles, refreshPositionAndAngles, reinitDimensions, remove, removeAllPassengers, removeCommandTag, removeFromDimension, removePassenger, requestTeleport, requestTeleportAndDismount, requestTeleportOffset, resetPortalCooldown, resetPosition, rotate, saveNbt, saveSelfNbt, scheduleVelocityUpdate, serverDamage, setAir, setAngles, setApplicableComponent, setBodyYaw, setBoundingBox, setChangeListener, setComponent, setCustomName, setCustomNameVisible, setFireTicks, setFlag, setFrozenTicks, setGlowing, setHeadYaw, setId, setInPowderSnow, setInvisible, setInvulnerable, setLastPositionAndAngles, setMovement, setMovement, setNoGravity, setOnFire, setOnFireFor, setOnFireForTicks, setOnFireFromLava, setOnGround, setPitch, setPortalCooldown, setPos, setPose, setPosition, setPosition, setRemoved, setRenderDistanceMultiplier, setRotation, setSilent, setSneaking, setSprinting, setSwimming, setUuid, setVelocity, setVelocity, setVelocityClient, setWorld, setYaw, shouldControlVehicles, shouldDismountUnderwater, shouldEscapePowderSnow, shouldPlayBurnSoundInLava, shouldRender, shouldRender, shouldRenderName, shouldSave, shouldSpawnSprintingParticles, shouldTickBlockCollision, sidedDamage, slowMovement, spawnBubbleColumnParticles, spawnSprintingParticles, squaredDistanceTo, squaredDistanceTo, squaredDistanceTo, startRiding, startRiding, stopRiding, streamPassengersAndSelf, streamSelfAndPassengers, teleport, teleportTo, tickBlockCollision, tickBlockCollision, tickInVoid, tickPortalCooldown, tickPortalTeleportation, tickRiding, toString, tryUsePortal, unsetRemoved, updateEventHandler, updateKilledAdvancementCriterion, updateLastAngles, updateLastPosition, updateMovementInFluid, updatePassengerForDismount, updatePassengerPosition, updatePassengerPosition, updatePosition, updatePositionAndAngles, updateSupportingBlockPos, updateSwimming, updateTrackedHeadRotation, updateTrackedPosition, updateTrackedPositionAndAngles, updateVelocity, updateWaterState, writeNbtMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface net.minecraft.component.ComponentsAccess
getOrDefault, getTypedMethods inherited from interface net.minecraft.scoreboard.ScoreHolder
getStyledDisplayName
-
Field Details
-
LOGGER
- Mappings:
Namespace Name Mixin selector named LOGGERLnet/minecraft/entity/decoration/BlockAttachedEntity;LOGGER:Lorg/slf4j/Logger;intermediary field_51590Lnet/minecraft/class_9691;field_51590:Lorg/slf4j/Logger;official bLcod;b:Lorg/slf4j/Logger;
-
attachCheckTimer
private int attachCheckTimer- Mappings:
Namespace Name Mixin selector named attachCheckTimerLnet/minecraft/entity/decoration/BlockAttachedEntity;attachCheckTimer:Iintermediary field_51591Lnet/minecraft/class_9691;field_51591:Iofficial cLcod;c:I
-
attachedBlockPos
- Mappings:
Namespace Name Mixin selector named attachedBlockPosLnet/minecraft/entity/decoration/BlockAttachedEntity;attachedBlockPos:Lnet/minecraft/util/math/BlockPos;intermediary field_51589Lnet/minecraft/class_9691;field_51589:Lnet/minecraft/class_2338;official aLcod;a:Liw;
-
-
Constructor Details
-
BlockAttachedEntity
- Mappings:
Namespace Name Mixin selector named <init>Lnet/minecraft/entity/Entity;<init>(Lnet/minecraft/entity/EntityType;Lnet/minecraft/world/World;)Vintermediary <init>Lnet/minecraft/class_1297;<init>(Lnet/minecraft/class_1299;Lnet/minecraft/class_1937;)Vofficial <init>Lbxe;<init>(Lbxn;Ldkj;)V
-
BlockAttachedEntity
protected BlockAttachedEntity(EntityType<? extends BlockAttachedEntity> type, World world, BlockPos attachedBlockPos) - Mappings:
Namespace Name Mixin selector named <init>Lnet/minecraft/entity/decoration/BlockAttachedEntity;<init>(Lnet/minecraft/entity/EntityType;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;)Vintermediary <init>Lnet/minecraft/class_9691;<init>(Lnet/minecraft/class_1299;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;)Vofficial <init>Lcod;<init>(Lbxn;Ldkj;Liw;)V
-
-
Method Details
-
updateAttachmentPosition
protected abstract void updateAttachmentPosition()- Mappings:
Namespace Name Mixin selector named updateAttachmentPositionLnet/minecraft/entity/decoration/BlockAttachedEntity;updateAttachmentPosition()Vintermediary method_6895Lnet/minecraft/class_9691;method_6895()Vofficial eLcod;e()V
-
tick
public void tick()Ticks this entity.- Overrides:
tickin classEntity- See Also:
- API Note:
- This can be overridden to add additional logics.
super.tick();should be called in those cases. - Implementation Note:
- By default, this delegates all logics to
Entity.baseTick(). - Mappings:
Namespace Name Mixin selector named tickLnet/minecraft/entity/Entity;tick()Vintermediary method_5773Lnet/minecraft/class_1297;method_5773()Vofficial gLbxe;g()V
-
canStayAttached
public abstract boolean canStayAttached()- Mappings:
Namespace Name Mixin selector named canStayAttachedLnet/minecraft/entity/decoration/BlockAttachedEntity;canStayAttached()Zintermediary method_6888Lnet/minecraft/class_9691;method_6888()Zofficial fLcod;f()Z
-
canHit
public boolean canHit()Returns whether the entity can be hit with a projectile or be targeted by the player crosshair.- Overrides:
canHitin classEntity- Returns:
- whether the entity can be hit with a projectile or be targeted by the player crosshair
- Mappings:
Namespace Name Mixin selector named canHitLnet/minecraft/entity/Entity;canHit()Zintermediary method_5863Lnet/minecraft/class_1297;method_5863()Zofficial bFLbxe;bF()Z
-
handleAttack
Handles a player attacking the entity. This is called beforedamage(net.minecraft.server.world.ServerWorld, net.minecraft.entity.damage.DamageSource, float)and can be used to restrict players from attacking the entity by returningtrue.- Overrides:
handleAttackin classEntity- Returns:
- whether to stop handling the attack
- See Also:
- API Note:
- For example,
ArmorStandEntitychecks whether the player can modify blocks at the entity's position. - Mappings:
Namespace Name Mixin selector named handleAttackLnet/minecraft/entity/Entity;handleAttack(Lnet/minecraft/entity/Entity;)Zintermediary method_5698Lnet/minecraft/class_1297;method_5698(Lnet/minecraft/class_1297;)Zofficial vLbxe;v(Lbxe;)Z
-
clientDamage
- Overrides:
clientDamagein classEntity- Mappings:
Namespace Name Mixin selector named clientDamageLnet/minecraft/entity/Entity;clientDamage(Lnet/minecraft/entity/damage/DamageSource;)Zintermediary method_5643Lnet/minecraft/class_1297;method_5643(Lnet/minecraft/class_1282;)Zofficial bLbxe;b(Lbvt;)Z
-
damage
Applies a damage to this entity. The exact implementation differs between subclasses.LivingEntityhas health value, and damaging the entity decreases it. This also handles shields, extra damage to helmets for falling blocks, setting the attacker, playing hurt sound, etc.Some entities like
ItemEntityalso have health value, which the overridden method decrements. There also exist several entities, likeEndCrystalEntity, where any damage discards the entity (perhaps with an explosion).If this is overridden, it must check the result of
LivingEntity.isInvulnerableTo(net.minecraft.server.world.ServerWorld, net.minecraft.entity.damage.DamageSource)and return early.- Specified by:
damagein classEntity- Returns:
- whether the entity was actually damaged
- See Also:
- Mappings:
Namespace Name Mixin selector named damageLnet/minecraft/entity/Entity;damage(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/entity/damage/DamageSource;F)Zintermediary method_64397Lnet/minecraft/class_1297;method_64397(Lnet/minecraft/class_3218;Lnet/minecraft/class_1282;F)Zofficial aLbxe;a(Lasb;Lbvt;F)Z
-
isImmuneToExplosion
Returns whether the entity is immune from explosion knockback and damage.Invisible
ArmorStandEntityand emerging or diggingWardenEntityare immune from explosions.- Overrides:
isImmuneToExplosionin classEntity- Returns:
- whether the entity is immune from explosion knockback and damage
- Mappings:
Namespace Name Mixin selector named isImmuneToExplosionLnet/minecraft/entity/Entity;isImmuneToExplosion(Lnet/minecraft/world/explosion/Explosion;)Zintermediary method_5659Lnet/minecraft/class_1297;method_5659(Lnet/minecraft/class_1927;)Zofficial aLbxe;a(Ldkc;)Z
-
move
- Overrides:
movein classEntity- Mappings:
Namespace Name Mixin selector named moveLnet/minecraft/entity/Entity;move(Lnet/minecraft/entity/MovementType;Lnet/minecraft/util/math/Vec3d;)Vintermediary method_5784Lnet/minecraft/class_1297;method_5784(Lnet/minecraft/class_1313;Lnet/minecraft/class_243;)Vofficial aLbxe;a(Lbyj;Lfgc;)V
-
addVelocity
public void addVelocity(double deltaX, double deltaY, double deltaZ) - Overrides:
addVelocityin classEntity- Mappings:
Namespace Name Mixin selector named addVelocityLnet/minecraft/entity/Entity;addVelocity(DDD)Vintermediary method_5762Lnet/minecraft/class_1297;method_5762(DDD)Vofficial iLbxe;i(DDD)V
-
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:
writeCustomDataToNbtin classEntity- See Also:
- Mappings:
Namespace Name Mixin selector named writeCustomDataToNbtLnet/minecraft/entity/Entity;writeCustomDataToNbt(Lnet/minecraft/nbt/NbtCompound;)Vintermediary method_5652Lnet/minecraft/class_1297;method_5652(Lnet/minecraft/class_2487;)Vofficial bLbxe;b(Lua;)V
-
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.
nbtmight 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:
readCustomDataFromNbtin classEntity- See Also:
- Mappings:
Namespace Name Mixin selector named readCustomDataFromNbtLnet/minecraft/entity/Entity;readCustomDataFromNbt(Lnet/minecraft/nbt/NbtCompound;)Vintermediary method_5749Lnet/minecraft/class_1297;method_5749(Lnet/minecraft/class_2487;)Vofficial aLbxe;a(Lua;)V
-
onBreak
- Mappings:
Namespace Name Mixin selector named onBreakLnet/minecraft/entity/decoration/BlockAttachedEntity;onBreak(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/entity/Entity;)Vintermediary method_6889Lnet/minecraft/class_9691;method_6889(Lnet/minecraft/class_3218;Lnet/minecraft/class_1297;)Vofficial aLcod;a(Lasb;Lbxe;)V
-
shouldSetPositionOnLoad
protected boolean shouldSetPositionOnLoad()- Overrides:
shouldSetPositionOnLoadin classEntity- Mappings:
Namespace Name Mixin selector named shouldSetPositionOnLoadLnet/minecraft/entity/Entity;shouldSetPositionOnLoad()Zintermediary method_5638Lnet/minecraft/class_1297;method_5638()Zofficial bHLbxe;bH()Z
-
setPosition
public void setPosition(double x, double y, double z) Sets the position and refreshes the bounding box.This should be called after creating an instance of non-living entities. For living entities,
Entity.refreshPositionAndAngles(net.minecraft.util.math.BlockPos, float, float)should be used instead.- Overrides:
setPositionin classEntity- See Also:
- Mappings:
Namespace Name Mixin selector named setPositionLnet/minecraft/entity/Entity;setPosition(DDD)Vintermediary method_5814Lnet/minecraft/class_1297;method_5814(DDD)Vofficial a_Lbxe;a_(DDD)V
-
getAttachedBlockPos
- Mappings:
Namespace Name Mixin selector named getAttachedBlockPosLnet/minecraft/entity/decoration/BlockAttachedEntity;getAttachedBlockPos()Lnet/minecraft/util/math/BlockPos;intermediary method_59940Lnet/minecraft/class_9691;method_59940()Lnet/minecraft/class_2338;official iLcod;i()Liw;
-
onStruckByLightning
Called when the entity is struck by lightning. This sets the entity on fire and deals lightning damage by default; entities that do not take such damage should override this method to do nothing.- Overrides:
onStruckByLightningin classEntity- Mappings:
Namespace Name Mixin selector named onStruckByLightningLnet/minecraft/entity/Entity;onStruckByLightning(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/entity/LightningEntity;)Vintermediary method_5800Lnet/minecraft/class_1297;method_5800(Lnet/minecraft/class_3218;Lnet/minecraft/class_1538;)Vofficial aLbxe;a(Lasb;Lbye;)V
-
calculateDimensions
public void calculateDimensions()Calculates and sets the dimension (bounding box) of the entity and refreshes its position.- Overrides:
calculateDimensionsin classEntity- Mappings:
Namespace Name Mixin selector named calculateDimensionsLnet/minecraft/entity/Entity;calculateDimensions()Vintermediary method_18382Lnet/minecraft/class_1297;method_18382()Vofficial h_Lbxe;h_()V
-