public class EntityDragon extends EntityLiving implements IEntityMultiPart, IMob
EntityLiving.SpawnPlacementType
Modifier and Type | Field and Description |
---|---|
float |
animTime |
int |
deathTicks |
MultiPartEntityPart[] |
dragonPartArray |
MultiPartEntityPart |
dragonPartBody |
MultiPartEntityPart |
dragonPartHead |
MultiPartEntityPart |
dragonPartNeck |
MultiPartEntityPart |
dragonPartTail1 |
MultiPartEntityPart |
dragonPartTail2 |
MultiPartEntityPart |
dragonPartTail3 |
MultiPartEntityPart |
dragonPartWing1 |
MultiPartEntityPart |
dragonPartWing2 |
private DragonFightManager |
fightManager |
private int |
growlTime |
EntityEnderCrystal |
healingEnderCrystal |
private static org.apache.logging.log4j.Logger |
LOGGER |
private int[] |
neighbors |
private PathHeap |
pathFindQueue |
private PathPoint[] |
pathPoints |
static DataParameter<java.lang.Integer> |
PHASE |
private PhaseManager |
phaseManager |
float |
prevAnimTime |
double[][] |
ringBuffer |
int |
ringBufferIndex |
private int |
sittingDamageReceived |
boolean |
slowed |
experienceValue, inventoryArmorDropChances, inventoryHandsDropChances, jumpHelper, livingSoundTime, moveHelper, navigator, targetTasks, tasks
activeItemStack, activeItemStackUseCount, arrowHitTimer, attackedAtYaw, attackingPlayer, cameraPitch, dead, deathTime, HAND_STATES, hurtTime, idleTime, interpTargetPitch, interpTargetX, interpTargetY, interpTargetYaw, interpTargetZ, isJumping, isSwingInProgress, jumpMovementFactor, lastDamage, limbSwing, limbSwingAmount, maxHurtResistantTime, maxHurtTime, movedDistance, moveForward, moveStrafing, moveVertical, newPosRotationIncrements, onGroundSpeedFactor, prevCameraPitch, prevLimbSwingAmount, prevMovedDistance, prevOnGroundSpeedFactor, prevRenderYawOffset, prevRotationYawHead, prevSwingProgress, randomUnused1, randomUnused2, randomYawVelocity, recentlyHit, renderYawOffset, rotationYawHead, scoreValue, SWIM_SPEED, swingingHand, swingProgress, swingProgressInt, ticksElytraFlying, ticksSinceLastSwing, unused180
addedToChunk, cachedUniqueIdString, capturedDrops, captureDrops, chunkCoordX, chunkCoordY, chunkCoordZ, collided, collidedHorizontally, collidedVertically, dataManager, dimension, distanceWalkedModified, distanceWalkedOnStepModified, entityCollisionReduction, entityUniqueID, fallDistance, firstUpdate, FLAGS, forceSpawn, glowing, height, hurtResistantTime, ignoreFrustumCheck, inPortal, inWater, isAirBorne, isDead, isImmuneToFire, isInWeb, lastPortalPos, lastPortalVec, lastTickPosX, lastTickPosY, lastTickPosZ, motionX, motionY, motionZ, noClip, onGround, portalCounter, posX, posY, posZ, prevDistanceWalkedModified, preventEntitySpawning, prevPosX, prevPosY, prevPosZ, prevRotationPitch, prevRotationYaw, rand, rideCooldown, rotationPitch, rotationYaw, serverPosX, serverPosY, serverPosZ, stepHeight, teleportDirection, ticksExisted, timeUntilPortal, updateBlocked, velocityChanged, width, world
MOB_SELECTOR, VISIBLE_MOB_SELECTOR
Constructor and Description |
---|
EntityDragon(World worldIn) |
Modifier and Type | Method and Description |
---|---|
void |
addPotionEffect(PotionEffect potioneffectIn) |
protected void |
applyEntityAttributes() |
protected boolean |
attackDragonFrom(DamageSource source,
float amount) |
private void |
attackEntitiesInList(java.util.List<Entity> p_70971_1_) |
boolean |
attackEntityFrom(DamageSource source,
float amount) |
boolean |
attackEntityFromPart(MultiPartEntityPart dragonPart,
DamageSource source,
float damage) |
boolean |
canBeCollidedWith() |
protected boolean |
canBeRidden(Entity entityIn) |
private void |
collideWithEntities(java.util.List<Entity> p_70970_1_) |
protected void |
despawnEntity() |
private boolean |
destroyBlocksInAABB(AxisAlignedBB p_70972_1_) |
private void |
dropExperience(int p_184668_1_) |
protected void |
entityInit() |
Path |
findPath(int startIdx,
int finishIdx,
PathPoint andThen) |
protected SoundEvent |
getAmbientSound() |
DragonFightManager |
getFightManager() |
Vec3d |
getHeadLookVec(float p_184665_1_) |
float |
getHeadPartYOffset(int p_184667_1_,
double[] p_184667_2_,
double[] p_184667_3_) |
private float |
getHeadYOffset(float p_184662_1_) |
protected SoundEvent |
getHurtSound(DamageSource damageSourceIn) |
protected ResourceLocation |
getLootTable() |
double[] |
getMovementOffsets(int p_70974_1_,
float p_70974_2_) |
int |
getNearestPpIdx(double x,
double y,
double z) |
Entity[] |
getParts() |
PhaseManager |
getPhaseManager() |
SoundCategory |
getSoundCategory() |
protected float |
getSoundVolume() |
World |
getWorld() |
int |
initPathPoints() |
boolean |
isNonBoss() |
private Path |
makePath(PathPoint start,
PathPoint finish) |
void |
notifyDataManagerChange(DataParameter<?> key) |
void |
onCrystalDestroyed(EntityEnderCrystal crystal,
BlockPos pos,
DamageSource dmgSrc) |
protected void |
onDeathUpdate() |
void |
onKillCommand() |
void |
onLivingUpdate() |
void |
readEntityFromNBT(NBTTagCompound compound) |
static void |
registerFixesDragon(DataFixer fixer) |
private float |
simplifyAngle(double p_70973_1_) |
private void |
updateDragonEnderCrystal() |
void |
writeEntityToNBT(NBTTagCompound compound) |
canAttackClass, canBeLeashedTo, canBeSteered, canDespawn, canEquipItem, canPassengerSteer, canPickUpLoot, clearLeashed, createBodyHelper, createNavigator, dropEquipment, dropFewItems, dropLoot, eatGrassBonus, enablePersistence, faceEntity, getArmorByChance, getArmorInventoryList, getAttackTarget, getCanSpawnHere, getDropItem, getEntitySenses, getExperiencePoints, getHeldEquipment, getHorizontalFaceSpeed, getItemStackFromSlot, getJumpHelper, getLeashed, getLeashHolder, getLookHelper, getMaxFallHeight, getMaxSpawnedInChunk, getMoveHelper, getNavigator, getPathPriority, getPrimaryHand, getRenderSizeModifier, getSlotForItemStack, getTalkInterval, getVerticalFaceSpeed, handleStatusUpdate, initEntityAI, isAIDisabled, isItemStackInSlot, isLeftHanded, isNoDespawnRequired, isNotColliding, isServerWorld, onEntityUpdate, onInitialSpawn, onUpdate, playHurtSound, playLivingSound, processInitialInteract, processInteract, registerFixesMob, replaceItemInInventory, setAIMoveSpeed, setAttackTarget, setCanPickUpLoot, setDropChance, setEnchantmentBasedOnDifficulty, setEquipmentBasedOnDifficulty, setItemStackToSlot, setLeashHolder, setLeftHanded, setMoveForward, setMoveStrafing, setMoveVertical, setNoAI, setPathPriority, spawnExplosionParticle, startRiding, updateAITasks, updateDistance, updateEntityActionState, updateEquipmentIfNeeded, updateLeashedState
applyArmorCalculations, applyPotionDamageCalculations, areAllPotionsAmbient, attackable, attackEntityAsMob, attemptTeleport, blockUsingShield, canBeHitWithPotion, canBePushed, canBreatheUnderwater, canDropLoot, canEntityBeSeen, clearActivePotions, collideWithEntity, collideWithNearbyEntities, curePotionEffects, damageArmor, damageEntity, damageShield, decreaseAirSupply, dismountEntity, dismountRidingEntity, fall, frostWalk, getAbsorptionAmount, getActiveHand, getActiveItemStack, getActivePotionEffect, getActivePotionEffects, getActivePotionMap, getAIMoveSpeed, getAlwaysRenderNameTagForRender, getArrowCountInEntity, getAttackingEntity, getAttributeMap, getCapability, getCombatTracker, getCreatureAttribute, getDeathSound, getEntityAttribute, getFallSound, getHealth, getHeldItem, getHeldItemMainhand, getHeldItemOffhand, getIdleTime, getItemInUseCount, getItemInUseMaxCount, getJumpUpwardsMotion, getLastAttackedEntity, getLastAttackedEntityTime, getLastDamageSource, getLook, getMaxHealth, getRevengeTarget, getRevengeTimer, getRNG, getRotationYawHead, getSoundPitch, getSwingProgress, getTicksElytraFlying, getTotalArmorValue, getWaterSlowDown, handleJumpLava, handleJumpWater, hasCapability, hasItemInSlot, heal, isActiveItemStackBlocking, isChild, isElytraFlying, isEntityAlive, isEntityUndead, isHandActive, isMovementBlocked, isOnLadder, isPlayer, isPlayerSleeping, isPotionActive, isPotionApplicable, jump, knockBack, markPotionsDirty, markVelocityChanged, moveRelative, onChangedPotionEffect, onDeath, onFinishedPotionEffect, onItemPickup, onItemUseFinish, onNewPotionEffect, outOfWorld, performHurtAnimation, playEquipSound, removeActivePotionEffect, removePotionEffect, renderBrokenItemStack, resetActiveHand, resetPotionEffectMetadata, sendEndCombat, sendEnterCombat, setAbsorptionAmount, setActiveHand, setArrowCountInEntity, setHealth, setHeldItem, setJumping, setLastAttackedEntity, setPartying, setPositionAndRotationDirect, setRenderYawOffset, setRevengeTarget, setRotationYawHead, setSprinting, shouldRiderFaceForward, stopActiveHand, swingArm, travel, updateActiveHand, updateArmSwingProgress, updateFallState, updateItemUse, updatePotionEffects, updatePotionMetadata, updateRidden
addEntityCrashInfo, addPassenger, addTag, addTrackingPlayer, addVelocity, applyEnchantments, applyEntityCollision, applyOrientationToEntity, applyPlayerInteraction, awardKillScore, canBeAttackedWithItem, canExplosionDestroyBlock, canFitPassenger, canRenderOnFire, canRiderInteract, canTrample, canTriggerWalking, canUseCommand, changeDimension, changeDimension, copyLocationAndAnglesFrom, createRunningParticles, dealFireDamage, decrementTimeUntilPortal, deserializeNBT, doBlockCollisions, doesEntityNotTriggerPressurePlate, doWaterSplashEffect, dropItem, dropItemWithOffset, entityDropItem, equals, extinguish, getAdjustedHorizontalFacing, getAir, getAlwaysRenderNameTag, getBrightness, getBrightnessForRender, getCachedUniqueIdString, getCollisionBorderSize, getCollisionBoundingBox, getCollisionBox, getCommandSenderEntity, getCommandStats, getControllingPassenger, getCustomNameTag, getDataManager, getDisplayName, getDistance, getDistance, getDistanceSq, getDistanceSq, getDistanceSq, getDistanceSqToCenter, getEntityBoundingBox, getEntityData, getEntityId, getEntityString, getEntityWorld, getEquipmentAndArmor, getExplosionResistance, getEyeHeight, getFireImmuneTicks, getFlag, getForward, getHorizontalFacing, getHoverEvent, getIsInvulnerable, getLastPortalVec, getLookVec, getLowestRidingEntity, getMaxInPortalTime, getMirroredYaw, getMountedYOffset, getName, getPassengers, getPersistentID, getPickedResult, getPitchYaw, getPortalCooldown, getPosition, getPositionEyes, getPositionVector, getPushReaction, getRecursivePassengers, getRecursivePassengersByType, getRenderBoundingBox, getRenderDistanceWeight, getRidingEntity, getRotatedYaw, getServer, getSplashSound, getSwimSound, getTags, getTeam, getTeleportDirection, getUniqueID, getVectorForRotation, getYOffset, handleWaterMovement, hasCustomName, hashCode, hasNoGravity, hitByEntity, ignoreItemEntityData, isAddedToWorld, isBeingRidden, isBurning, isCreatureType, isEntityEqual, isEntityInsideOpaqueBlock, isEntityInvulnerable, isGlowing, isImmuneToExplosions, isImmuneToFire, isInLava, isInRangeToRender3d, isInRangeToRenderDist, isInsideOfMaterial, isInvisible, isInvisibleToPlayer, isInWater, isOffsetPositionInLiquid, isOnSameTeam, isOnScoreboardTeam, isOutsideBorder, isOverWater, isPassenger, isPushedByWater, isRiding, isRidingOrBeingRiddenBy, isRidingSameEntity, isSilent, isSneaking, isSpectatedByPlayer, isSprinting, isWet, makeFlySound, move, moveToBlockPosAndAngles, newDoubleNBTList, newFloatNBTList, onAddedToWorld, onCollideWithPlayer, onInsideBlock, onKillEntity, onRemovedFromWorld, onStruckByLightning, playFlySound, playSound, playStepSound, preparePlayerToSpawn, pushOutOfBlocks, rayTrace, readFromNBT, registerFixes, removePassenger, removePassengers, removeTag, removeTrackingPlayer, resetEntityId, resetPositionToBB, sendCommandFeedback, sendMessage, serializeNBT, setAir, setAlwaysRenderNameTag, setCommandStat, setCommandStats, setCustomNameTag, setDead, setDropItemsWhenDead, setEntityBoundingBox, setEntityId, setEntityInvulnerable, setFire, setFlag, setGlowing, setInvisible, setInWeb, setLocationAndAngles, setNoGravity, setOnFireFromLava, setOutsideBorder, setPortal, setPosition, setPositionAndRotation, setPositionAndUpdate, setPositionNonDirty, setRenderDistanceWeight, setRotation, setSilent, setSize, setSneaking, setUniqueId, setVelocity, setWorld, shouldDismountInWater, shouldRenderInPass, shouldRiderSit, shouldSetPosAfterLoading, spawnRunningParticles, startRiding, toString, turn, updatePassenger, writeToNBT, writeToNBTAtomically, writeToNBTOptional
private static final org.apache.logging.log4j.Logger LOGGER
public static final DataParameter<java.lang.Integer> PHASE
public double[][] ringBuffer
public int ringBufferIndex
public MultiPartEntityPart[] dragonPartArray
public MultiPartEntityPart dragonPartHead
public MultiPartEntityPart dragonPartNeck
public MultiPartEntityPart dragonPartBody
public MultiPartEntityPart dragonPartTail1
public MultiPartEntityPart dragonPartTail2
public MultiPartEntityPart dragonPartTail3
public MultiPartEntityPart dragonPartWing1
public MultiPartEntityPart dragonPartWing2
public float prevAnimTime
public float animTime
public boolean slowed
public int deathTicks
public EntityEnderCrystal healingEnderCrystal
private final DragonFightManager fightManager
private final PhaseManager phaseManager
private int growlTime
private int sittingDamageReceived
private final PathPoint[] pathPoints
private final int[] neighbors
private final PathHeap pathFindQueue
public EntityDragon(World worldIn)
protected void applyEntityAttributes()
applyEntityAttributes
in class EntityLiving
protected void entityInit()
entityInit
in class EntityLiving
public double[] getMovementOffsets(int p_70974_1_, float p_70974_2_)
public void onLivingUpdate()
onLivingUpdate
in class EntityLiving
private float getHeadYOffset(float p_184662_1_)
private void updateDragonEnderCrystal()
private void collideWithEntities(java.util.List<Entity> p_70970_1_)
private void attackEntitiesInList(java.util.List<Entity> p_70971_1_)
private float simplifyAngle(double p_70973_1_)
private boolean destroyBlocksInAABB(AxisAlignedBB p_70972_1_)
public boolean attackEntityFromPart(MultiPartEntityPart dragonPart, DamageSource source, float damage)
attackEntityFromPart
in interface IEntityMultiPart
public boolean attackEntityFrom(DamageSource source, float amount)
attackEntityFrom
in class EntityLivingBase
protected boolean attackDragonFrom(DamageSource source, float amount)
public void onKillCommand()
onKillCommand
in class EntityLivingBase
protected void onDeathUpdate()
onDeathUpdate
in class EntityLivingBase
private void dropExperience(int p_184668_1_)
public int initPathPoints()
public int getNearestPpIdx(double x, double y, double z)
public static void registerFixesDragon(DataFixer fixer)
public void writeEntityToNBT(NBTTagCompound compound)
writeEntityToNBT
in class EntityLiving
public void readEntityFromNBT(NBTTagCompound compound)
readEntityFromNBT
in class EntityLiving
protected void despawnEntity()
despawnEntity
in class EntityLiving
public boolean canBeCollidedWith()
canBeCollidedWith
in class EntityLivingBase
public World getWorld()
getWorld
in interface IEntityMultiPart
public SoundCategory getSoundCategory()
getSoundCategory
in class Entity
protected SoundEvent getAmbientSound()
getAmbientSound
in class EntityLiving
protected SoundEvent getHurtSound(DamageSource damageSourceIn)
getHurtSound
in class EntityLivingBase
protected float getSoundVolume()
getSoundVolume
in class EntityLivingBase
@Nullable protected ResourceLocation getLootTable()
getLootTable
in class EntityLiving
public float getHeadPartYOffset(int p_184667_1_, double[] p_184667_2_, double[] p_184667_3_)
public Vec3d getHeadLookVec(float p_184665_1_)
public void onCrystalDestroyed(EntityEnderCrystal crystal, BlockPos pos, DamageSource dmgSrc)
public void notifyDataManagerChange(DataParameter<?> key)
notifyDataManagerChange
in class EntityLivingBase
public PhaseManager getPhaseManager()
@Nullable public DragonFightManager getFightManager()
public void addPotionEffect(PotionEffect potioneffectIn)
addPotionEffect
in class EntityLivingBase
protected boolean canBeRidden(Entity entityIn)
canBeRidden
in class Entity