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, targetSelectorFields 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, upwardSpeedFields 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, yawFields 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 booleanaddStatusEffect(StatusEffectInstance effect)private voidawardExperience(int amount)protected booleancanStartRiding(Entity entity)booleancanUsePortals()voidcheckDespawn()booleancollides()static DefaultAttributeContainer.BuildercreateEnderDragonAttributes()voidcrystalDestroyed(EndCrystalEntity crystal, BlockPos pos, DamageSource source)booleandamage(DamageSource source, float amount)private voiddamageLivingEntities(List<Entity> entities)booleandamagePart(EnderDragonPart part, DamageSource source, float amount)private booleandestroyBlocks(Box box)PathfindPath(int from, int to, PathNode pathNode)protected SoundEventgetAmbientSound()EnderDragonPart[]getBodyParts()EnderDragonFightgetFight()protected SoundEventgetHurtSound(DamageSource source)intgetNearestPathNodeIndex()intgetNearestPathNodeIndex(double x, double y, double z)private PathgetPathOfAllPredecessors(PathNode unused, PathNode node)PhaseManagergetPhaseManager()double[]getSegmentProperties(int segmentNumber, float tickDelta)SoundCategorygetSoundCategory()protected floatgetSoundVolume()protected voidinitDataTracker()voidkill()private voidlaunchLivingEntities(List<Entity> entities)private floatmethod_6820()floatmethod_6823(int segmentOffset, double[] segment1, double[] segment2)Vec3dmethod_6834(float tickDelta)private voidmovePart(EnderDragonPart enderDragonPart, double dx, double dy, double dz)voidonTrackedDataSet(TrackedData<?> data)protected booleanparentDamage(DamageSource source, float amount)voidreadCustomDataFromTag(CompoundTag tag)voidtickMovement()private voidtickWithEndCrystals()Things to do every tick related to end crystals.protected voidupdatePostDeath()private floatwrapYawChange(double yawDegrees)voidwriteCustomDataToTag(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, updateLeashMethods 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, wakeUpMethods 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:
initDataTrackerin classMobEntity
-
getSegmentProperties
public double[] getSegmentProperties(int segmentNumber, float tickDelta) -
tickMovement
public void tickMovement()- Overrides:
tickMovementin 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:
damagein classLivingEntity
-
parentDamage
-
kill
public void kill()- Overrides:
killin classLivingEntity
-
updatePostDeath
protected void updatePostDeath()- Overrides:
updatePostDeathin 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:
writeCustomDataToTagin classMobEntity
-
readCustomDataFromTag
- Overrides:
readCustomDataFromTagin classMobEntity
-
checkDespawn
public void checkDespawn()- Overrides:
checkDespawnin classMobEntity
-
getBodyParts
-
collides
public boolean collides()- Overrides:
collidesin classLivingEntity
-
getSoundCategory
- Overrides:
getSoundCategoryin classEntity
-
getAmbientSound
- Overrides:
getAmbientSoundin classMobEntity
-
getHurtSound
- Overrides:
getHurtSoundin classLivingEntity
-
getSoundVolume
protected float getSoundVolume()- Overrides:
getSoundVolumein classLivingEntity
-
method_6823
@Environment(CLIENT) public float method_6823(int segmentOffset, double[] segment1, double[] segment2) -
method_6834
-
crystalDestroyed
-
onTrackedDataSet
- Overrides:
onTrackedDataSetin classLivingEntity
-
getPhaseManager
-
getFight
-
addStatusEffect
- Overrides:
addStatusEffectin classLivingEntity
-
canStartRiding
- Overrides:
canStartRidingin classEntity
-
canUsePortals
public boolean canUsePortals()- Overrides:
canUsePortalsin classEntity
-