Package net.minecraft.entity.boss.dragon
Class EnderDragonEntity
java.lang.Object
net.minecraft.entity.Entity
net.minecraft.entity.LivingEntity
net.minecraft.entity.mob.MobEntity
net.minecraft.entity.boss.dragon.EnderDragonEntity
- All Implemented Interfaces:
Monster
,CommandOutput
,Nameable
public class EnderDragonEntity extends MobEntity implements Monster
-
Nested Class Summary
Nested classes/interfaces inherited from class net.minecraft.entity.Entity
Entity.PositionUpdater
-
Field Summary
Fields inherited from class net.minecraft.entity.mob.MobEntity
ambientSoundChance, armorDropChances, experiencePoints, goalSelector, handDropChances, jumpControl, lookControl, moveControl, navigation, targetSelector
Fields inherited from class net.minecraft.entity.LivingEntity
activeItemStack, attackingPlayer, bodyTrackingIncrements, bodyYaw, brain, dead, deathTime, defaultMaxHealth, despawnCounter, field_6215, flyingSpeed, forwardSpeed, handSwinging, handSwingProgress, handSwingTicks, headTrackingIncrements, headYaw, hurtTime, itemUseTimeLeft, jumping, knockbackVelocity, lastAttackedTicks, lastDamageTaken, lastHandSwingProgress, lastLimbDistance, limbAngle, limbDistance, LIVING_FLAGS, lookDirection, maxHurtTime, playerHitTimer, preferredHand, prevBodyYaw, prevHeadYaw, prevLookDirection, prevStepBobbingAmount, randomLargeSeed, randomSmallSeed, riptideTicks, roll, scoreAmount, serverHeadYaw, serverPitch, serverX, serverY, serverYaw, serverZ, sidewaysSpeed, SLEEPING_DIMENSIONS, stepBobbingAmount, stuckArrowTimer, stuckStingerTimer, upwardSpeed
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, 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 Constructor Description EnderDragonEntity(EntityType<? extends EnderDragonEntity> type, World world)
-
Method Summary
Modifier and Type Method Description boolean
addStatusEffect(StatusEffectInstance effect)
private void
awardExperience(int amount)
protected boolean
canStartRiding(Entity entity)
boolean
canUsePortals()
void
checkDespawn()
boolean
collides()
static DefaultAttributeContainer.Builder
createEnderDragonAttributes()
void
crystalDestroyed(EndCrystalEntity crystal, BlockPos pos, DamageSource source)
boolean
damage(DamageSource source, float amount)
private void
damageLivingEntities(List<Entity> entities)
boolean
damagePart(EnderDragonPart part, DamageSource source, float amount)
private boolean
destroyBlocks(Box box)
Path
findPath(int from, int to, PathNode pathNode)
protected SoundEvent
getAmbientSound()
EnderDragonPart[]
getBodyParts()
EnderDragonFight
getFight()
protected SoundEvent
getHurtSound(DamageSource source)
int
getNearestPathNodeIndex()
int
getNearestPathNodeIndex(double x, double y, double z)
private Path
getPathOfAllPredecessors(PathNode unused, PathNode node)
PhaseManager
getPhaseManager()
double[]
getSegmentProperties(int segmentNumber, float tickDelta)
SoundCategory
getSoundCategory()
protected float
getSoundVolume()
protected void
initDataTracker()
void
kill()
private void
launchLivingEntities(List<Entity> entities)
private float
method_6820()
float
method_6823(int segmentOffset, double[] segment1, double[] segment2)
Vec3d
method_6834(float tickDelta)
private void
movePart(EnderDragonPart enderDragonPart, double dx, double dy, double dz)
void
onTrackedDataSet(TrackedData<?> data)
protected boolean
parentDamage(DamageSource source, float amount)
void
readCustomDataFromTag(CompoundTag tag)
void
tickMovement()
private void
tickWithEndCrystals()
Things to do every tick related to end crystals.protected void
updatePostDeath()
private float
wrapYawChange(double yawDegrees)
void
writeCustomDataToTag(CompoundTag tag)
Methods inherited from class net.minecraft.entity.mob.MobEntity
attachLeash, baseTick, canBeControlledByRider, canBeLeashedBy, canEquip, canEquipmentSlotContain, canGather, canImmediatelyDespawn, canMobSpawn, canMoveVoluntarily, cannotDespawn, canPickupItem, canPickUpLoot, canSpawn, canSpawn, canTarget, canTarget, canUseRangedWeapon, createBodyControl, createMobAttributes, createNavigation, detachLeash, dropEquipment, dropLoot, equip, equipLootStack, equipStack, getArmorItems, getBodyYawSpeed, getCurrentExperience, getDropChance, getEquipmentForSlot, getEquippedStack, getHoldingEntity, getItemsHand, getJumpControl, getLimitPerChunk, getLookControl, getLookPitchSpeed, getLookYawSpeed, getLootContextBuilder, getLootTable, getLootTableId, getMainArm, getMinAmbientSoundDelay, getMoveControl, getNavigation, getPathfindingPenalty, getPositionTarget, getPositionTargetRange, getPreferredEquipmentSlot, getSafeFallDistance, getTarget, getVisibilityCache, handleStatus, hasPositionTarget, initEquipment, initGoals, initialize, interact, interactMob, isAffectedByDaylight, isAiDisabled, isAttacking, isDisallowedInPeaceful, isInWalkTargetRange, isInWalkTargetRange, isLeashed, isLeftHanded, isLogicalSideForUpdatingMovement, isPersistent, lookAtEntity, loot, method_29243, method_29244, method_30076, method_30758, method_30759, mobTick, movesIndependently, onEatingGrass, onPlayerSpawnedChild, playAmbientSound, playHurtSound, playSpawnEffects, prefersNewDamageableItem, prefersNewEquipment, sendAiDebugData, setAiDisabled, setAttacking, setBaby, setCanPickUpLoot, setEquipmentDropChance, setForwardSpeed, setHoldingEntityId, setLeftHanded, setMovementSpeed, setPathfindingPenalty, setPersistent, setPositionTarget, setSidewaysSpeed, setTarget, setUpwardSpeed, spawnsTooManyForEachTry, startRiding, swimUpward, tick, tickNewAi, tryAttack, tryEquip, turnHead, updateDropChances, updateEnchantments, updateGoalControls, updateLeash
Methods inherited from class net.minecraft.entity.LivingEntity
addSoulSpeedBoostIfNeeded, animateDamage, applyArmorToDamage, applyDamage, applyEnchantmentsToDamage, applyMovementEffects, applyStatusEffect, attackLivingEntity, canBeRiddenInWater, canBreatheInWater, canDropLootAndXp, canHaveStatusEffect, canSee, canWalkOnFluid, clearActiveItem, clearPotionSwirls, clearSleepingPosition, clearStatusEffects, computeFallDamage, consumeItem, containsOnlyAmbientEffects, createBrainProfile, createLivingAttributes, createSpawnPacket, damageArmor, damageShield, deserializeBrain, destroy, displaySoulSpeedEffects, drop, dropInventory, dropXp, eatFood, endCombat, enterCombat, fall, getAbsorptionAmount, getActiveEyeHeight, getActiveHand, getActiveItem, getActiveStatusEffects, getArmor, getArmorVisibility, getArrowType, getAttackDistanceScalingFactor, getAttacker, getAttacking, getAttributeBaseValue, getAttributeInstance, getAttributes, getAttributeValue, getBaseMovementSpeedMultiplier, getBlockState, getBoundingBox, getBrain, getClimbingPos, getDamageTracker, getDeathSound, getDespawnCounter, getDimensions, getDrinkSound, getEatSound, getEyeHeight, getFallSound, getGroup, getHandSwingProgress, getHeadYaw, getHealth, getItemUseTime, getItemUseTimeLeft, getJumpVelocity, getLastAttackedTime, getLastAttackTime, getLeaningPitch, getMainHandStack, getMaxHealth, getMovementSpeed, getNextAirOnLand, getNextAirUnderwater, getOffHandStack, getPoses, getPrimeAdversary, getRandom, getRecentDamageSource, getRoll, getScaleFactor, getSleepingDirection, getSleepingPosition, getSoundPitch, getStackInHand, getStatusEffect, getStatusEffects, getStingerCount, getStuckArrowCount, getVelocityMultiplier, getVisibilityBoundingBox, getYaw, handleFallDamage, hasStackEquipped, hasStatusEffect, heal, hurtByWater, isAffectedBySplashPotions, isAlive, isBaby, isBlocking, isClimbing, isDead, isFallFlying, isHolding, isHolding, isHoldingOntoLadder, isImmobile, isInsideWall, isInSwimmingPose, isMobOrPlayer, isOnSoulSpeedBlock, isPushable, isSleeping, isTarget, isUndead, isUsingItem, isUsingRiptide, jump, knockback, knockDownwards, lookAt, markEffectsDirty, method_26317, method_26318, method_29242, method_29499, method_29500, method_29920, method_30633, method_31079, onAttacking, onDeath, onEquipStack, onKilledBy, onStatusEffectApplied, onStatusEffectRemoved, onStatusEffectUpgraded, playBlockFallSound, pushAway, pushAwayFrom, removeSoulSpeedBoost, removeStatusEffect, removeStatusEffectInternal, scheduleVelocityUpdate, sendEquipmentBreakStatus, sendPickup, sendToolBreakStatus, setAbsorptionAmount, setAttacker, setAttacking, setCurrentHand, setDespawnCounter, setHeadYaw, setHealth, setJumping, setLivingFlag, setNearbySongPlaying, setOnGround, setRiptideTicks, setSleepingPosition, setSprinting, setStackInHand, setStingerCount, setStuckArrowCount, setYaw, shouldAlwaysDropXp, shouldDisplaySoulSpeedEffects, shouldDropLoot, shouldRenderName, sleep, spawnConsumptionEffects, stopRiding, stopUsingItem, swingHand, swingHand, takeKnockback, takeShieldHit, teleport, tickCramming, tickHandSwing, tickRiding, tickRiptide, tickStatusEffects, travel, updatePotionVisibility, updateTrackedHeadRotation, updateTrackedPositionAndAngles, wakeUp
Methods inherited from class net.minecraft.entity.Entity
addPassenger, addScoreboardTag, addVelocity, adjustMovementForCollisions, adjustMovementForCollisions, adjustMovementForPiston, adjustMovementForSneaking, adjustSingleAxisMovementForCollisions, afterSpawn, applyMirror, applyRotation, bypassesLandingEffects, bypassesSteppingEffects, calculateBoundsForPose, calculateDimensions, calculateNextStepSoundDistance, canAddPassenger, canAvoidTraps, canBeSpectated, canClimb, canExplosionDestroyBlock, canFly, changeLookDirection, checkBlockCollision, collidesWith, copyFrom, copyPositionAndRotation, dealDamage, detach, distanceTo, doesNotCollide, doesRenderOnFire, dropItem, dropItem, dropStack, dropStack, entityDataRequiresOperator, equals, extinguish, fromTag, getAir, getBlockPos, getBodyY, getBoundingBox, getBrightnessAtEyes, getBurningDuration, getCameraPosVec, getCommandSource, getCustomName, getDataTracker, getDefaultName, getDefaultNetherPortalCooldown, getDisplayName, getEffectiveExplosionResistance, getEntityId, getEntityName, getEntityWorld, getEyeHeight, getEyeY, getFireTicks, getFlag, getFluidHeight, getHeight, getHeightOffset, getHighSpeedSplashSound, getHorizontalFacing, getHoverEvent, getItemsEquipped, 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, getSavedEntityId, getScoreboardTags, getScoreboardTeam, getServer, getSplashSound, getStandingEyeHeight, getSwimSound, getTargetingMargin, getTeamColorValue, getTeleportTarget, getTrackedPosition, getType, getUuid, getUuidAsString, getVehicle, getVelocity, getVelocityAffectingPos, getWidth, getX, getY, getZ, handleAttack, hasCustomName, hashCode, hasNetherPortalCooldown, hasNoGravity, hasPassenger, hasPassengerDeep, hasPassengers, hasPassengerType, hasPermissionLevel, hasPlayerRider, hasVehicle, hasWings, interactAt, isAttackable, isChunkPosUpdateRequested, isCollidable, isConnectedThroughVehicle, isCustomNameVisible, isDescending, isFireImmune, isGlowing, isImmuneToExplosion, isInLava, isInRange, isInsideWaterOrBubbleColumn, isInSneakingPose, isInvisible, isInvisibleTo, isInvulnerable, isInvulnerableTo, isLiving, isOnFire, isOnGround, isPartOf, isSilent, isSneaking, isSneaky, isSpectator, isSprinting, isSubmergedIn, isSubmergedInWater, isSwimming, isTeammate, isTeamPlayer, isTouchingWater, isTouchingWaterOrRain, isWet, method_29239, method_29241, method_29919, method_30330, method_30632, method_30634, method_30950, method_30951, method_31166, move, moveToBoundingBoxCenter, moveToWorld, offsetX, offsetZ, onBlockCollision, onBubbleColumnCollision, onBubbleColumnSurfaceCollision, onKilledOther, onPassengerLookAround, onPlayerCollision, onStartedTrackingBy, onStoppedTrackingBy, onStruckByLightning, onSwimmingStart, playFlySound, playSound, playStepSound, playSwimSound, populateCrashReport, pushOutOfBlocks, raycast, refreshPosition, refreshPositionAfterTeleport, refreshPositionAfterTeleport, refreshPositionAndAngles, refreshPositionAndAngles, remove, removeAllPassengers, removePassenger, removeScoreboardTag, requestTeleport, resetNetherPortalCooldown, resetPosition, saveSelfToTag, saveToTag, sendSystemMessage, setAir, setBoundingBox, setCustomName, setCustomNameVisible, setEntityId, setFireTicks, setFlag, setGlowing, setInNetherPortal, setInvisible, setInvulnerable, setNoGravity, setOnFireFor, setOnFireFromLava, setPos, setPose, setRenderDistanceMultiplier, setRotation, setSilent, setSneaking, setSwimming, setUuid, setVelocity, setVelocity, setVelocityClient, setWorld, shouldBroadcastConsoleToOps, shouldLeaveSwimmingPose, shouldReceiveFeedback, shouldRender, shouldRender, shouldSetPositionOnLoad, shouldSpawnSprintingParticles, shouldTrackOutput, slowMovement, spawnSprintingParticles, squaredDistanceTo, squaredDistanceTo, squaredDistanceTo, squaredHorizontalLength, startRiding, streamPassengersRecursively, teleport, teleportRequested, tickNetherPortal, tickNetherPortalCooldown, toListTag, toListTag, toString, toTag, updateKilledAdvancementCriterion, updateMovementInFluid, updatePassengerForDismount, updatePassengerPosition, updatePosition, updatePositionAndAngles, updateSwimming, updateTrackedPosition, updateTrackedPosition, updateVelocity, updateWaterState, wouldPoseNotCollide
-
Field Details
-
LOGGER
-
PHASE_TYPE
-
CLOSE_PLAYER_PREDICATE
-
segmentCircularBuffer
public final double[][] segmentCircularBuffer(yaw, y, ?) -
latestSegment
public int latestSegment -
parts
-
partHead
-
partNeck
-
partBody
-
partTail1
-
partTail2
-
partTail3
-
partWingRight
-
partWingLeft
-
prevWingPosition
public float prevWingPosition -
wingPosition
public float wingPosition -
slowedDownByBlock
public boolean slowedDownByBlock -
ticksSinceDeath
public int ticksSinceDeath -
field_20865
public float field_20865 -
connectedCrystal
-
fight
-
phaseManager
-
ticksUntilNextGrowl
private int ticksUntilNextGrowl -
field_7029
private int field_7029 -
pathNodes
The first 12 path nodes are used for end crystals; the others are not tied to them. -
pathNodeConnections
private final int[] pathNodeConnectionsAn array of 24 bitflags, where node #i leads to #j if and only if(pathNodeConnections[i] & (1 << j)) != 0
. -
pathHeap
-
-
Constructor Details
-
EnderDragonEntity
-
-
Method Details
-
createEnderDragonAttributes
-
initDataTracker
protected void initDataTracker()- Overrides:
initDataTracker
in classMobEntity
-
getSegmentProperties
public double[] getSegmentProperties(int segmentNumber, float tickDelta) -
tickMovement
public void tickMovement()- Overrides:
tickMovement
in classMobEntity
-
movePart
-
method_6820
private float method_6820() -
tickWithEndCrystals
private void tickWithEndCrystals()Things to do every tick related to end crystals. The Ender Dragon: * Disconnects from its crystal if it is removed * If it is connected to a crystal, then heals every 10 ticks * With a 1 in 10 chance each tick, searches for the nearest crystal and connects to it if present -
launchLivingEntities
-
damageLivingEntities
-
wrapYawChange
private float wrapYawChange(double yawDegrees) -
destroyBlocks
-
damagePart
-
damage
- Overrides:
damage
in classLivingEntity
-
parentDamage
-
kill
public void kill()- Overrides:
kill
in classLivingEntity
-
updatePostDeath
protected void updatePostDeath()- Overrides:
updatePostDeath
in classLivingEntity
-
awardExperience
private void awardExperience(int amount) -
getNearestPathNodeIndex
public int getNearestPathNodeIndex() -
getNearestPathNodeIndex
public int getNearestPathNodeIndex(double x, double y, double z) -
findPath
-
getPathOfAllPredecessors
-
writeCustomDataToTag
- Overrides:
writeCustomDataToTag
in classMobEntity
-
readCustomDataFromTag
- Overrides:
readCustomDataFromTag
in classMobEntity
-
checkDespawn
public void checkDespawn()- Overrides:
checkDespawn
in classMobEntity
-
getBodyParts
-
collides
public boolean collides()- Overrides:
collides
in classLivingEntity
-
getSoundCategory
- Overrides:
getSoundCategory
in classEntity
-
getAmbientSound
- Overrides:
getAmbientSound
in classMobEntity
-
getHurtSound
- Overrides:
getHurtSound
in classLivingEntity
-
getSoundVolume
protected float getSoundVolume()- Overrides:
getSoundVolume
in classLivingEntity
-
method_6823
@Environment(CLIENT) public float method_6823(int segmentOffset, double[] segment1, double[] segment2) -
method_6834
-
crystalDestroyed
-
onTrackedDataSet
- Overrides:
onTrackedDataSet
in classLivingEntity
-
getPhaseManager
-
getFight
-
addStatusEffect
- Overrides:
addStatusEffect
in classLivingEntity
-
canStartRiding
- Overrides:
canStartRiding
in classEntity
-
canUsePortals
public boolean canUsePortals()- Overrides:
canUsePortals
in classEntity
-