Cuberite
A lightweight, fast and extensible game server for Minecraft
|
#include <Entity.h>
Classes | |
struct | sPortalCooldownData |
Structure storing the portal delay timer and cooldown boolean. More... | |
struct | sWorldChangeInfo |
State variables for MoveToWorld. More... | |
Public Types | |
enum | eEntityType { etEntity , etEnderCrystal , etPlayer , etPickup , etMonster , etFallingBlock , etMinecart , etBoat , etTNT , etProjectile , etExpOrb , etFloater , etItemFrame , etPainting , etLeashKnot , etMob = etMonster } |
Public Member Functions | |
void | AddLeashedMob (cMonster *a_Monster) |
Adds a mob to the leashed list of mobs. More... | |
void | AddPosition (const Vector3d &a_AddPos) |
void | AddPosition (double a_AddPosX, double a_AddPosY, double a_AddPosZ) |
void | AddPosX (double a_AddPosX) |
void | AddPosY (double a_AddPosY) |
void | AddPosZ (double a_AddPosZ) |
void | AddSpeed (const Vector3d &a_AddSpeed) |
void | AddSpeed (double a_AddSpeedX, double a_AddSpeedY, double a_AddSpeedZ) |
void | AddSpeedX (double a_AddSpeedX) |
void | AddSpeedY (double a_AddSpeedY) |
void | AddSpeedZ (double a_AddSpeedZ) |
virtual void | ApplyArmorDamage (int DamageBlocked) |
Applies damage to the armor after the armor blocked the given amount. More... | |
virtual bool | ArmorCoversAgainst (eDamageType a_DamageType) |
Returns whether armor will protect against the specified damage type. More... | |
void | AttachTo (cEntity &a_AttachTo) |
Attaches to the specified entity; detaches from any previous one first. More... | |
void | BroadcastDeathMessage (TakeDamageInfo &a_TDI) |
Announces a death message on chat about killing the entity. More... | |
virtual void | BroadcastMovementUpdate (const cClientHandle *a_Exclude=nullptr) |
Updates clients of changes in the entity. More... | |
cEntity (eEntityType a_EntityType, Vector3d a_Pos, float a_Width, float a_Height) | |
void | Destroy () |
Destroys the entity, schedules it for memory freeing and broadcasts the DestroyEntity packet. More... | |
void | Detach (void) |
Detaches from the currently attached entity, if any. More... | |
virtual void | DetectCacti (void) |
Detects the time for application of cacti damage. More... | |
virtual void | DetectMagma (void) |
Detects the time for application of magma block damage. More... | |
virtual bool | DetectPortal (void) |
Detects whether we are in a portal block and begins teleportation procedures if so Returns true if MoveToWorld() was called, false if not. More... | |
virtual bool | DoesPreventBlockPlacement (void) const |
Returns whether blocks can be placed intersecting this entities' hitbox. More... | |
virtual bool | DoTakeDamage (TakeDamageInfo &a_TDI) |
Makes this entity take damage specified in the a_TDI. More... | |
float | GetAirDrag (void) const |
int | GetAirLevel (void) const |
Gets remaining air of a monster. More... | |
virtual float | GetArmorCoverAgainst (const cEntity *a_Attacker, eDamageType a_DamageType, int a_RawDamage) |
Returns the hitpoints out of a_RawDamage that the currently equipped armor would cover. More... | |
cEntity * | GetAttached () |
Gets entity (vehicle) attached to this entity. More... | |
cBoundingBox | GetBoundingBox () const |
int | GetChunkX (void) const |
int | GetChunkZ (void) const |
virtual const char * | GetClass (void) const |
Returns the topmost class name for the object. More... | |
virtual void | GetDrops (cItems &a_Drops, cEntity *a_Killer=nullptr) |
Returns the list of drops for this pawn when it is killed. More... | |
virtual float | GetEnchantmentBlastKnockbackReduction () |
Returns explosion knock back reduction percent from blast protection level. More... | |
virtual float | GetEnchantmentCoverAgainst (const cEntity *a_Attacker, eDamageType a_DamageType, int a_Damage) |
Returns the hitpoints that the currently equipped armor's enchantments would cover. More... | |
eEntityType | GetEntityType (void) const |
virtual cItem | GetEquippedBoots (void) const |
Returns the currently equipped boots; empty item if none. More... | |
virtual cItem | GetEquippedChestplate (void) const |
Returns the currently equipped chestplate; empty item if none. More... | |
virtual cItem | GetEquippedHelmet (void) const |
Returns the currently equipped helmet; empty item if none. More... | |
virtual cItem | GetEquippedLeggings (void) const |
Returns the currently equipped leggings; empty item if none. More... | |
virtual cItem | GetEquippedWeapon (void) const |
Returns the curently equipped weapon; empty item if none. More... | |
float | GetGravity (void) const |
double | GetHeadYaw (void) const |
float | GetHealth (void) const |
Returns the health of this entity. More... | |
float | GetHeight (void) const |
int | GetInvulnerableTicks (void) const |
Gets the invulnerable ticks from the entity. More... | |
virtual double | GetKnockbackAmountAgainst (const cEntity &a_Receiver) |
Returns the knockback amount that the currently equipped items would cause to a_Receiver on a hit. More... | |
Vector3d | GetLastSentPosition (void) const |
Returns the last position we sent to all the clients. More... | |
Vector3d | GetLookVector (void) const |
double | GetMass (void) const |
float | GetMaxHealth (void) const |
virtual cItem | GetOffHandEquipedItem (void) const |
Returns the currently offhand equipped item; empty item if none. More... | |
cChunk * | GetParentChunk () |
Returns the chunk responsible for ticking this entity. More... | |
const cChunk * | GetParentChunk () const |
virtual const char * | GetParentClass (void) const |
Returns the topmost class's parent class name for the object. More... | |
double | GetPitch (void) const |
const Vector3d & | GetPosition (void) const |
Exported in ManualBindings. More... | |
double | GetPosX (void) const |
double | GetPosY (void) const |
double | GetPosZ (void) const |
virtual int | GetRawDamageAgainst (const cEntity &a_Receiver) |
Returns the hitpoints that this pawn can deal to a_Receiver using its equipped items. More... | |
double | GetRoll (void) const |
const Vector3d & | GetSpeed (void) const |
Exported in ManualBindings. More... | |
double | GetSpeedX (void) const |
double | GetSpeedY (void) const |
double | GetSpeedZ (void) const |
long int | GetTicksAlive (void) const |
Gets number of ticks this entity has been alive for. More... | |
UInt32 | GetUniqueID (void) const |
float | GetWidth (void) const |
cWorld * | GetWorld (void) const |
double | GetYaw (void) const |
virtual void | HandlePhysics (std::chrono::milliseconds a_Dt, cChunk &a_Chunk) |
Handles the physics of the entity - updates position based on speed, updates speed based on environment. More... | |
virtual void | HandleSpeedFromAttachee (float a_Forward, float a_Sideways) |
bool | HasAnyMobLeashed () const |
Returs whether the entity has any mob leashed to it. More... | |
virtual void | Heal (int a_HitPoints) |
Heals the specified amount of HPs. More... | |
bool | Initialize (OwnedEntity a_Self, cWorld &a_EntityWorld) |
Spawns the entity in the world; returns true if spawned, false if not (plugin disallowed). More... | |
virtual bool | IsA (const char *a_ClassName) const |
Returns true if the entity is of the specified class or a subclass (cPawn's IsA("cEntity") returns true) More... | |
bool | IsArrow (void) const |
bool | IsAttachedTo (const cEntity *a_Entity) const |
Returns true if this entity is attached to the specified entity. More... | |
bool | IsBoat (void) const |
virtual bool | IsCrouched (void) const |
bool | IsDestroyed () const |
Deprecated. More... | |
virtual bool | IsElytraFlying (void) const |
bool | IsEnderCrystal (void) const |
bool | IsExpOrb (void) const |
bool | IsFallingBlock (void) const |
virtual bool | IsFireproof (void) const |
bool | IsFloater (void) const |
virtual bool | IsHeadInWater (void) const |
Returns true if any part of the entity is in a water block. More... | |
virtual bool | IsInFire (void) const |
Returns true if any part of the entity is in a fire block. More... | |
virtual bool | IsInLava (void) const |
Returns true if any part of the entity is in a lava block. More... | |
virtual bool | IsInvisible (void) const |
virtual bool | IsInWater (void) const |
Returns true if any part of the entity is in a water block. More... | |
bool | IsItemFrame (void) const |
bool | IsLeashKnot (void) const |
bool | IsMinecart (void) const |
bool | IsMob (void) const |
virtual bool | IsOnFire (void) const |
virtual bool | IsOnGround (void) const |
Returns whether the entity is on ground or not. More... | |
bool | IsOrientationDirty () const |
Returns whether the entity's orientation has been set manually. More... | |
bool | IsPainting (void) const |
bool | IsPawn (void) const |
bool | IsPickup (void) const |
bool | IsPlayer (void) const |
bool | IsProjectile (void) const |
virtual bool | IsRclking (void) const |
virtual bool | IsRiding (void) const |
virtual bool | IsSprinting (void) const |
bool | IsTicking (void) const |
Returns true if the entity is valid and ticking. More... | |
bool | IsTNT (void) const |
bool | IsWorldChangeScheduled () const |
Returns true if a world change is scheduled to happen. More... | |
virtual void | Killed (const cEntity &a_Victim, eDamageType a_DamageType) |
Called when the entity kills another entity. More... | |
virtual void | KilledBy (TakeDamageInfo &a_TDI) |
Called when the health drops below zero. More... | |
bool | MoveToWorld (const AString &a_WorldName, bool a_ShouldSendRespawn=true) |
Moves entity to specified world, taking a world name. More... | |
bool | MoveToWorld (cWorld &a_World, bool a_ShouldSendRespawn, Vector3d a_NewPosition) |
bool | MoveToWorld (cWorld &a_World, bool a_ShouldSendRespawn=true) |
Moves entity to specified world, taking a world pointer. More... | |
bool | MoveToWorld (cWorld &a_World, Vector3d a_NewPosition, bool a_ShouldSetPortalCooldown=false, bool a_ShouldSendRespawn=true) |
void | OnAcquireSpectator (cPlayer &a_Player) |
Called when a player begins spectating this entity. More... | |
virtual void | OnAddToWorld (cWorld &a_World) |
Called when the entity is added to a world. More... | |
virtual void | OnFinishedBurning (void) |
Called when the entity finishes burning. More... | |
void | OnLoseSpectator (cPlayer &a_Player) |
Called when a player stops spectating this entity. More... | |
virtual void | OnRemoveFromWorld (cWorld &a_World) |
Called when the entity is removed from a world. More... | |
virtual void | OnRightClicked (cPlayer &a_Player) |
Called when the specified player right-clicks this entity. More... | |
virtual void | OnStartedBurning (void) |
Called when the entity starts burning. More... | |
void | RemoveLeashedMob (cMonster *a_Monster) |
Removes a mob from the leashed list of mobs. More... | |
void | SetAirDrag (float a_AirDrag) |
void | SetGravity (float a_Gravity) |
void | SetHeadYaw (double a_HeadYaw) |
void | SetHealth (float a_Health) |
Sets the health of this entity; doesn't broadcast any hurt animation. More... | |
void | SetInvulnerableTicks (int a_InvulnerableTicks) |
Set the invulnerable ticks from the entity. More... | |
void | SetIsFireproof (bool a_IsFireproof) |
Sets whether the entity is fireproof. More... | |
void | SetIsTicking (bool a_IsTicking) |
Set the entity's status to either ticking or not ticking. More... | |
void | SetMass (double a_Mass) |
void | SetMaxHealth (float a_MaxHealth) |
Sets the maximum value for the health. More... | |
void | SetParentChunk (cChunk *a_Chunk) |
Sets the parent chunk, which is the chunk responsible for ticking this entity. More... | |
void | SetPitch (double a_Pitch) |
void | SetPitchFromSpeed (void) |
Sets the pitch to match the speed vector (entity gies "face-forward") More... | |
void | SetPosition (const Vector3d &a_Position) |
void | SetPosition (double a_PosX, double a_PosY, double a_PosZ) |
void | SetPosX (double a_PosX) |
void | SetPosY (double a_PosY) |
void | SetPosZ (double a_PosZ) |
void | SetRoll (double a_Roll) |
void | SetSize (float a_Width, float a_Height) |
Update an entity's size, for example, on body stance changes. More... | |
void | SetSpeed (double a_SpeedX, double a_SpeedY, double a_SpeedZ) |
Sets the speed of the entity, measured in m / sec. More... | |
void | SetSpeed (Vector3d a_Speed) |
Sets the speed of the entity, measured in m / sec. More... | |
void | SetSpeedX (double a_SpeedX) |
Sets the speed in the X axis, leaving the other speed components intact. More... | |
void | SetSpeedY (double a_SpeedY) |
Sets the speed in the Y axis, leaving the other speed components intact. More... | |
void | SetSpeedZ (double a_SpeedZ) |
Sets the speed in the Z axis, leaving the other speed components intact. More... | |
void | SetWorld (cWorld *a_World) |
Sets the internal world pointer to a new cWorld, doesn't update anything else. More... | |
void | SetYaw (double a_Yaw) |
void | SetYawFromSpeed (void) |
Sets the rotation to match the speed vector (entity goes "face-forward") More... | |
virtual void | SpawnOn (cClientHandle &a_Client)=0 |
Descendants override this function to send a command to the specified client to spawn the entity on the client. More... | |
void | StartBurning (int a_TicksLeftBurning) |
Puts the entity on fire for the specified amount of ticks. More... | |
void | SteerVehicle (float a_Forward, float a_Sideways) |
void | StopBurning (void) |
Stops the entity from burning, resets all burning timers. More... | |
void | TakeDamage (cEntity &a_Attacker) |
Makes this pawn take damage from an attack by a_Attacker. More... | |
void | TakeDamage (eDamageType a_DamageType, cEntity *a_Attacker, int a_RawDamage, double a_KnockbackAmount) |
Makes this entity take the specified damage. More... | |
void | TakeDamage (eDamageType a_DamageType, cEntity *a_Attacker, int a_RawDamage, float a_FinalDamage, double a_KnockbackAmount) |
Makes this entity take the specified damage. More... | |
void | TakeDamage (eDamageType a_DamageType, UInt32 a_Attacker, int a_RawDamage, double a_KnockbackAmount) |
Makes this entity take the specified damage. More... | |
virtual void | TeleportToCoords (double a_PosX, double a_PosY, double a_PosZ) |
Teleports to the coordinates specified. More... | |
virtual void | TeleportToEntity (cEntity &a_Entity) |
Teleports to the entity specified. More... | |
virtual void | Tick (std::chrono::milliseconds a_Dt, cChunk &a_Chunk) |
virtual void | TickBurning (cChunk &a_Chunk) |
Updates the state related to this entity being on fire. More... | |
virtual void | TickInVoid (cChunk &a_Chunk) |
Handles when the entity is in the void. More... | |
void | WrapHeadYaw () |
Makes sure head yaw is not over the specified range. More... | |
void | WrapRotation () |
Makes sure rotation is not over the specified range. More... | |
void | WrapSpeed () |
Makes speed is not over 20. More... | |
virtual | ~cEntity ()=default |
Static Public Member Functions | |
static const char * | GetClassStatic (void) |
Returns the class name of this class. More... | |
Static Public Attributes | |
static const int | BURN_DAMAGE = 1 |
Damage to deal when the entity is burning. More... | |
static const int | BURN_TICKS = 160 |
Ticks to keep an entity burning after it has stood in lava / fire. More... | |
static const int | BURN_TICKS_PER_DAMAGE = 20 |
Ticks to wait between damaging an entity when it is burning. More... | |
static const int | DROWNING_TICKS = 20 |
Number of ticks per heart of damage. More... | |
static const int | FALL_DAMAGE_HEIGHT = 4 |
Y difference after which fall damage is applied. More... | |
static const int | FIRE_DAMAGE = 1 |
Damage to deal when standing in fire. More... | |
static const int | FIRE_TICKS_PER_DAMAGE = 10 |
Ticks to wait between damaging an entity when it stands in fire. More... | |
static const UInt32 | INVALID_ID = 0 |
Special ID that is considered an "invalid value", signifying no entity. More... | |
static const int | LAVA_DAMAGE = 4 |
Damage to deal when standing in lava. More... | |
static const int | LAVA_TICKS_PER_DAMAGE = 10 |
Ticks to wait between damaging an entity when it stands in lava. More... | |
static const int | MAX_AIR_LEVEL = 300 |
Maximum air an entity can have. More... | |
static const int | VOID_BOUNDARY = -64 |
Y position to begin applying void damage. More... | |
Protected Member Functions | |
void | BroadcastLeashedMobs () |
If has any mobs are leashed, broadcasts every leashed entity to this. More... | |
void | DoMoveToWorld (const sWorldChangeInfo &a_WorldChangeInfo) |
Handles the moving of this entity between worlds. More... | |
virtual void | HandleAir (void) |
Called in each tick to handle air-related processing i.e. More... | |
virtual void | OnDetach () |
Called when this entity dismounts from m_AttachedTo. More... | |
virtual void | ResetPosition (Vector3d a_NewPos) |
Set the entities position and last sent position. More... | |
virtual void | SetSwimState (cChunk &a_Chunk) |
Called once per tick to set m_IsInFire, m_IsInLava, m_IsInWater and m_IsHeadInWater. More... | |
Static Protected Member Functions | |
static void | ApplyFriction (Vector3d &a_Speed, double a_SlowdownMultiplier, float a_Dt) |
Applies friction to an entity. More... | |
Protected Attributes | |
float | m_AirDrag |
Stores the air drag that is applied to the entity every tick, measured in speed ratio per tick Acts as air friction and slows down flight Will be interpolated if the server tick rate varies Data: https://minecraft.wiki/w/Entity#Motion_of_entities. More... | |
int | m_AirLevel |
Air level of a mobile. More... | |
int | m_AirTickTimer |
cEntity * | m_AttachedTo |
The entity to which this entity is attached (vehicle), nullptr if none. More... | |
cEntity * | m_Attachee |
The entity which is attached to this entity (rider), nullptr if none. More... | |
bool | m_bDirtyHead |
Stores whether head yaw has been set manually. More... | |
bool | m_bDirtyOrientation |
Stores whether our yaw / pitch / roll (body orientation) has been set manually. More... | |
bool | m_bHasSentNoSpeed |
Stores whether we have sent a Velocity packet with a speed of zero (no speed) to the client Ensures that said packet is sent only once. More... | |
bool | m_bOnGround |
Stores if the entity is on the ground. More... | |
eEntityType | m_EntityType |
float | m_Gravity |
Stores gravity that is applied to an entity every tick For realistic effects, this should be negative. More... | |
float | m_Health |
bool | m_IsFireproof |
Whether the entity is capable of taking fire or lava damage. More... | |
bool | m_IsHeadInWater |
If the entity's head is in a water block. More... | |
bool | m_IsInFire |
If any part of the entity is in a fire block. More... | |
bool | m_IsInLava |
If any part of the entity is in a lava block. More... | |
bool | m_IsInWater |
If any part of the entity is in a water block. More... | |
Vector3d | m_LastPosition |
Vector3d | m_LastSentPosition |
Last position sent to client via the Relative Move or Teleport packets (not Velocity) Only updated if cEntity::BroadcastMovementUpdate() is called! More... | |
float | m_MaxHealth |
sPortalCooldownData | m_PortalCooldownData |
Portal delay timer and cooldown boolean data. More... | |
Vector3d | m_Speed |
Measured in meters / second (m / s) More... | |
long int | m_TicksAlive |
The number of ticks this entity has been alive for. More... | |
int | m_TicksLeftBurning |
Time, in ticks, until the entity extinguishes its fire. More... | |
int | m_TicksSinceLastBurnDamage |
Time, in ticks, since the last damage dealt by being on fire. More... | |
int | m_TicksSinceLastFireDamage |
Time, in ticks, since the last damage dealt by standing in fire. More... | |
int | m_TicksSinceLastLavaDamage |
Time, in ticks, since the last damage dealt by standing in lava. More... | |
int | m_TicksSinceLastVoidDamage |
Time, in ticks, since the last damage dealt by the void. More... | |
UInt32 | m_UniqueID |
The ID of the entity that is guaranteed to be unique within a single run of the server. More... | |
cWorld * | m_World |
sWorldChangeInfo | m_WorldChangeInfo |
If field m_NewWorld not nullptr, a world change is scheduled and a task is queued in the current world. More... | |
Private Types | |
typedef std::list< cMonster * > | cMonsterList |
Private Attributes | |
double | m_HeadYaw |
Measured in degrees, [-180, +180) More... | |
float | m_Height |
Height of the entity (Y axis). More... | |
int | m_InvulnerableTicks |
If a player hit a entity, the entity receive a invulnerable of 10 ticks. More... | |
bool | m_IsTicking |
Whether the entity is ticking or not. More... | |
cMonsterList | m_LeashedMobs |
List of leashed mobs to this entity. More... | |
double | m_Mass |
Measured in Kilograms (Kg) More... | |
cChunk * | m_ParentChunk |
The chunk which is responsible for ticking this entity. More... | |
Vector3d | m_Position |
Position of the entity's XZ center and Y bottom. More... | |
Vector3d | m_Rot |
Measured in degrees, [-180, +180) More... | |
std::vector< cPlayer * > | m_Spectators |
List of players who are spectating this entity. More... | |
Vector3d | m_WaterSpeed |
Measured in meter / second. More... | |
float | m_Width |
Width of the entity, in the XZ plane. More... | |
|
private |
enum cEntity::eEntityType |
cEntity::cEntity | ( | eEntityType | a_EntityType, |
Vector3d | a_Pos, | ||
float | a_Width, | ||
float | a_Height | ||
) |
Definition at line 37 of file Entity.cpp.
|
virtualdefault |
void cEntity::AddLeashedMob | ( | cMonster * | a_Monster | ) |
Adds a mob to the leashed list of mobs.
Definition at line 2299 of file Entity.cpp.
|
inline |
|
inline |
|
inline |
void cEntity::AddSpeed | ( | double | a_AddSpeedX, |
double | a_AddSpeedY, | ||
double | a_AddSpeedZ | ||
) |
Definition at line 2194 of file Entity.cpp.
void cEntity::AddSpeedX | ( | double | a_AddSpeedX | ) |
Definition at line 2203 of file Entity.cpp.
void cEntity::AddSpeedY | ( | double | a_AddSpeedY | ) |
Definition at line 2212 of file Entity.cpp.
void cEntity::AddSpeedZ | ( | double | a_AddSpeedZ | ) |
Definition at line 2221 of file Entity.cpp.
|
virtual |
Applies damage to the armor after the armor blocked the given amount.
Reimplemented in cPlayer.
Definition at line 652 of file Entity.cpp.
|
staticprotected |
Applies friction to an entity.
a_Speed | The speed vector to apply changes to |
a_SlowdownMultiplier | The factor to reduce the speed by |
Definition at line 1230 of file Entity.cpp.
|
virtual |
Returns whether armor will protect against the specified damage type.
Definition at line 661 of file Entity.cpp.
void cEntity::AttachTo | ( | cEntity & | a_AttachTo | ) |
Attaches to the specified entity; detaches from any previous one first.
Definition at line 2027 of file Entity.cpp.
void cEntity::BroadcastDeathMessage | ( | TakeDamageInfo & | a_TDI | ) |
Announces a death message on chat about killing the entity.
Definition at line 2349 of file Entity.cpp.
|
protected |
If has any mobs are leashed, broadcasts every leashed entity to this.
Definition at line 2325 of file Entity.cpp.
|
virtual |
Updates clients of changes in the entity.
Reimplemented in cPlayer, and cBoat.
Definition at line 1966 of file Entity.cpp.
void cEntity::Destroy | ( | void | ) |
Destroys the entity, schedules it for memory freeing and broadcasts the DestroyEntity packet.
Definition at line 243 of file Entity.cpp.
void cEntity::Detach | ( | void | ) |
Detaches from the currently attached entity, if any.
Definition at line 2052 of file Entity.cpp.
|
virtual |
Detects the time for application of cacti damage.
Definition at line 1363 of file Entity.cpp.
|
virtual |
Detects the time for application of magma block damage.
Definition at line 1392 of file Entity.cpp.
|
virtual |
Detects whether we are in a portal block and begins teleportation procedures if so Returns true if MoveToWorld() was called, false if not.
Definition at line 1421 of file Entity.cpp.
|
inlinevirtual |
Returns whether blocks can be placed intersecting this entities' hitbox.
Reimplemented in cPickup, and cArrowEntity.
|
protected |
Handles the moving of this entity between worlds.
Should handle degenerate cases such as moving to the same world.
Definition at line 1573 of file Entity.cpp.
|
virtual |
Makes this entity take damage specified in the a_TDI.
The TDI is sent through plugins first, then applied. If it returns false, the entity hasn't receive any damage.
Reimplemented in cPlayer, cMinecart, cBoat, cWolf, cWither, cVillager, cSpider, cSilverfish, cPig, cPassiveMonster, cPassiveAggressiveMonster, cOcelot, cMonster, cGhast, cEnderDragon, cCreeper, cChicken, cPickup, cItemFrame, and cExpOrb.
Definition at line 404 of file Entity.cpp.
|
inline |
|
virtual |
Returns the hitpoints out of a_RawDamage that the currently equipped armor would cover.
Definition at line 769 of file Entity.cpp.
cEntity * cEntity::GetAttached | ( | ) |
Gets entity (vehicle) attached to this entity.
Definition at line 2018 of file Entity.cpp.
|
inline |
|
virtual |
Returns the topmost class name for the object.
Definition at line 84 of file Entity.cpp.
|
static |
Returns the class name of this class.
Definition at line 93 of file Entity.cpp.
Returns the list of drops for this pawn when it is killed.
May check a_Killer for special handling (sword of looting etc.). Called from KilledBy().
Reimplemented in cPainting, cLeashKnot, cItemFrame, cZombieVillager, cZombiePigman, cZombie, cWitherSkeleton, cWither, cWitch, cSquid, cSpider, cSnowGolem, cSlime, cSkeleton, cSheep, cRabbit, cPig, cMooshroom, cMagmaCube, cIronGolem, cHorse, cGuardian, cGiant, cGhast, cEnderman, cEnderDragon, cCreeper, cCow, cChicken, cCaveSpider, cBlaze, cMinecartWithHopper, cMinecartWithTNT, cMinecartWithFurnace, cMinecartWithChest, and cRideableMinecart.
|
virtual |
Returns explosion knock back reduction percent from blast protection level.
Reimplemented in cPlayer.
Definition at line 744 of file Entity.cpp.
|
virtual |
Returns the hitpoints that the currently equipped armor's enchantments would cover.
Definition at line 701 of file Entity.cpp.
|
inline |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inline |
|
inline |
|
virtual |
Returns the knockback amount that the currently equipped items would cause to a_Receiver on a hit.
Definition at line 827 of file Entity.cpp.
|
inline |
Vector3d cEntity::GetLookVector | ( | void | ) | const |
Definition at line 2267 of file Entity.cpp.
|
inlinevirtual |
|
inline |
|
virtual |
Returns the topmost class's parent class name for the object.
cEntity returns an empty string (no parent).
Definition at line 102 of file Entity.cpp.
|
inline |
|
virtual |
Returns the hitpoints that this pawn can deal to a_Receiver using its equipped items.
Definition at line 614 of file Entity.cpp.
|
inline |
|
inline |
|
protectedvirtual |
Called in each tick to handle air-related processing i.e.
drowning
Reimplemented in cSquid, cIronGolem, cGuardian, and cPawn.
Definition at line 1798 of file Entity.cpp.
|
virtual |
Handles the physics of the entity - updates position based on speed, updates speed based on environment.
Reimplemented in cProjectileEntity, cMinecart, cFireworkEntity, cBoat, and cPlayer.
Definition at line 1001 of file Entity.cpp.
|
virtual |
Reimplemented in cHorse, cMinecart, and cBoat.
Definition at line 2230 of file Entity.cpp.
|
inline |
|
virtual |
Heals the specified amount of HPs.
Reimplemented in cPlayer.
Definition at line 890 of file Entity.cpp.
bool cEntity::Initialize | ( | OwnedEntity | a_Self, |
cWorld & | a_EntityWorld | ||
) |
Spawns the entity in the world; returns true if spawned, false if not (plugin disallowed).
Adds the entity to the world.
Definition at line 111 of file Entity.cpp.
|
virtual |
Returns true if the entity is of the specified class or a subclass (cPawn's IsA("cEntity") returns true)
Definition at line 2072 of file Entity.cpp.
bool cEntity::IsAttachedTo | ( | const cEntity * | a_Entity | ) | const |
Returns true if this entity is attached to the specified entity.
Definition at line 2081 of file Entity.cpp.
|
inlinevirtual |
|
inline |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
bool cEntity::IsOrientationDirty | ( | ) | const |
Returns whether the entity's orientation has been set manually.
Primarily inteded for protocol use.
Definition at line 2093 of file Entity.cpp.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
bool cEntity::IsTicking | ( | void | ) | const |
Returns true if the entity is valid and ticking.
Returns false if the entity is not ticking and is about to leave its current world either via teleportation or destruction. If this returns false, you must stop using the cEntity pointer you have.
Definition at line 2259 of file Entity.cpp.
|
inline |
|
inlinevirtual |
|
virtual |
Called when the health drops below zero.
a_TDI's Attacker may be nullptr (environmental damage)
Reimplemented in cZombiePigman, cWither, cVillager, cSlime, cMonster, cPlayer, cPawn, cPainting, cMinecart, cLeashKnot, cHangingEntity, and cEnderCrystal.
Definition at line 851 of file Entity.cpp.
bool cEntity::MoveToWorld | ( | const AString & | a_WorldName, |
bool | a_ShouldSendRespawn = true |
||
) |
Moves entity to specified world, taking a world name.
Definition at line 1686 of file Entity.cpp.
bool cEntity::MoveToWorld | ( | cWorld & | a_World, |
bool | a_ShouldSendRespawn = true |
||
) |
Moves entity to specified world, taking a world pointer.
Definition at line 1677 of file Entity.cpp.
bool cEntity::MoveToWorld | ( | cWorld & | a_World, |
Vector3d | a_NewPosition, | ||
bool | a_ShouldSetPortalCooldown = false , |
||
bool | a_ShouldSendRespawn = true |
||
) |
Definition at line 1616 of file Entity.cpp.
void cEntity::OnAcquireSpectator | ( | cPlayer & | a_Player | ) |
Called when a player begins spectating this entity.
Definition at line 138 of file Entity.cpp.
|
virtual |
Called when the entity is added to a world.
e.g after first spawning or after successfuly moving between worlds.
a_World | The world being added to. |
Reimplemented in cPlayer.
Definition at line 147 of file Entity.cpp.
|
protectedvirtual |
Called when this entity dismounts from m_AttachedTo.
Reimplemented in cPlayer.
Definition at line 2341 of file Entity.cpp.
|
virtual |
Called when the entity finishes burning.
Definition at line 1877 of file Entity.cpp.
void cEntity::OnLoseSpectator | ( | cPlayer & | a_Player | ) |
Called when a player stops spectating this entity.
Definition at line 159 of file Entity.cpp.
|
virtual |
Called when the entity is removed from a world.
e.g. When the entity is destroyed or moved to a different world.
a_World | The world being removed from. |
Reimplemented in cMonster, cHorse, cPlayer, cPawn, cMinecartWithChest, and cMinecart.
Definition at line 172 of file Entity.cpp.
|
inlinevirtual |
Called when the specified player right-clicks this entity.
Reimplemented in cZombieVillager, cWolf, cSheep, cPig, cPassiveMonster, cOcelot, cMooshroom, cMonster, cHorse, cCreeper, cCow, cMinecartWithFurnace, cMinecartWithChest, cRideableMinecart, cLeashKnot, cItemFrame, and cBoat.
|
virtual |
Called when the entity starts burning.
Definition at line 1867 of file Entity.cpp.
void cEntity::RemoveLeashedMob | ( | cMonster * | a_Monster | ) |
Removes a mob from the leashed list of mobs.
Definition at line 2311 of file Entity.cpp.
|
protectedvirtual |
Set the entities position and last sent position.
Only to be used when the caller will broadcast a teleport or equivalent to clients.
Reimplemented in cPawn.
Definition at line 1857 of file Entity.cpp.
void cEntity::SetHeadYaw | ( | double | a_HeadYaw | ) |
Definition at line 2102 of file Entity.cpp.
void cEntity::SetHealth | ( | float | a_Health | ) |
Sets the health of this entity; doesn't broadcast any hurt animation.
Definition at line 900 of file Entity.cpp.
|
inline |
void cEntity::SetIsFireproof | ( | bool | a_IsFireproof | ) |
Sets whether the entity is fireproof.
Definition at line 1899 of file Entity.cpp.
void cEntity::SetIsTicking | ( | bool | a_IsTicking | ) |
Set the entity's status to either ticking or not ticking.
Definition at line 1778 of file Entity.cpp.
void cEntity::SetMass | ( | double | a_Mass | ) |
Definition at line 2113 of file Entity.cpp.
void cEntity::SetMaxHealth | ( | float | a_MaxHealth | ) |
Sets the maximum value for the health.
Definition at line 1887 of file Entity.cpp.
void cEntity::SetParentChunk | ( | cChunk * | a_Chunk | ) |
Sets the parent chunk, which is the chunk responsible for ticking this entity.
Only cChunk::AddEntity and cChunk::RemoveEntity cChunk::~cChunk should ever call this.
Definition at line 234 of file Entity.cpp.
void cEntity::SetPitch | ( | double | a_Pitch | ) |
Definition at line 2136 of file Entity.cpp.
void cEntity::SetPitchFromSpeed | ( | void | ) |
Sets the pitch to match the speed vector (entity gies "face-forward")
Definition at line 387 of file Entity.cpp.
void cEntity::SetPosition | ( | const Vector3d & | a_Position | ) |
Definition at line 2281 of file Entity.cpp.
|
inline |
void cEntity::SetRoll | ( | double | a_Roll | ) |
Definition at line 2147 of file Entity.cpp.
void cEntity::SetSize | ( | float | a_Width, |
float | a_Height | ||
) |
Update an entity's size, for example, on body stance changes.
Definition at line 1788 of file Entity.cpp.
void cEntity::SetSpeed | ( | double | a_SpeedX, |
double | a_SpeedY, | ||
double | a_SpeedZ | ||
) |
Sets the speed of the entity, measured in m / sec.
Definition at line 2157 of file Entity.cpp.
|
inline |
void cEntity::SetSpeedX | ( | double | a_SpeedX | ) |
Sets the speed in the X axis, leaving the other speed components intact.
Measured in m / sec.
Definition at line 2167 of file Entity.cpp.
void cEntity::SetSpeedY | ( | double | a_SpeedY | ) |
Sets the speed in the Y axis, leaving the other speed components intact.
Measured in m / sec.
Definition at line 2176 of file Entity.cpp.
void cEntity::SetSpeedZ | ( | double | a_SpeedZ | ) |
Sets the speed in the Z axis, leaving the other speed components intact.
Measured in m / sec.
Definition at line 2185 of file Entity.cpp.
|
protectedvirtual |
Called once per tick to set m_IsInFire, m_IsInLava, m_IsInWater and m_IsHeadInWater.
Reimplemented in cIronGolem, and cGuardian.
Definition at line 1702 of file Entity.cpp.
|
inline |
void cEntity::SetYaw | ( | double | a_Yaw | ) |
Definition at line 2125 of file Entity.cpp.
void cEntity::SetYawFromSpeed | ( | void | ) |
Sets the rotation to match the speed vector (entity goes "face-forward")
Definition at line 371 of file Entity.cpp.
|
pure virtual |
Descendants override this function to send a command to the specified client to spawn the entity on the client.
To spawn on all eligible clients, use cChunkMap::BroadcastSpawnEntity()
Implemented in cZombiePigman, cWitherSkeleton, cSkeleton, cMonster, cTNTEntity, cPickup, cMinecart, cLeashKnot, cItemFrame, cHangingEntity, cFallingBlock, cEnderCrystal, cBoat, cWither, cEnderDragon, cPlayer, cPainting, cFloater, cExpOrb, and cProjectileEntity.
void cEntity::StartBurning | ( | int | a_TicksLeftBurning | ) |
Puts the entity on fire for the specified amount of ticks.
Definition at line 1908 of file Entity.cpp.
void cEntity::SteerVehicle | ( | float | a_Forward, |
float | a_Sideways | ||
) |
Definition at line 2243 of file Entity.cpp.
void cEntity::StopBurning | ( | void | ) |
Stops the entity from burning, resets all burning timers.
Definition at line 1925 of file Entity.cpp.
void cEntity::TakeDamage | ( | cEntity & | a_Attacker | ) |
Makes this pawn take damage from an attack by a_Attacker.
Damage values are calculated automatically and DoTakeDamage() called
Definition at line 272 of file Entity.cpp.
void cEntity::TakeDamage | ( | eDamageType | a_DamageType, |
cEntity * | a_Attacker, | ||
int | a_RawDamage, | ||
double | a_KnockbackAmount | ||
) |
Makes this entity take the specified damage.
The final damage is calculated using current armor, then DoTakeDamage() called
Definition at line 282 of file Entity.cpp.
void cEntity::TakeDamage | ( | eDamageType | a_DamageType, |
cEntity * | a_Attacker, | ||
int | a_RawDamage, | ||
float | a_FinalDamage, | ||
double | a_KnockbackAmount | ||
) |
Makes this entity take the specified damage.
The values are packed into a TDI, knockback calculated, then sent through DoTakeDamage()
Definition at line 320 of file Entity.cpp.
void cEntity::TakeDamage | ( | eDamageType | a_DamageType, |
UInt32 | a_Attacker, | ||
int | a_RawDamage, | ||
double | a_KnockbackAmount | ||
) |
Makes this entity take the specified damage.
The final damage is calculated using current armor, then DoTakeDamage() called
Definition at line 296 of file Entity.cpp.
|
virtual |
Teleports to the coordinates specified.
Reimplemented in cPlayer.
Definition at line 1953 of file Entity.cpp.
|
virtual |
Teleports to the entity specified.
Definition at line 1944 of file Entity.cpp.
|
virtual |
Reimplemented in cZombieVillager, cWolf, cWither, cVillager, cSquid, cSnowGolem, cSkeleton, cSheep, cPig, cPassiveMonster, cOcelot, cMonster, cHorse, cGuardian, cGhast, cEndermite, cEnderman, cCreeper, cChicken, cCaveSpider, cBlaze, cAggressiveMonster, cTNTEntity, cProjectileEntity, cPlayer, cPickup, cPawn, cMinecartWithTNT, cMinecartWithFurnace, cLeashKnot, cHangingEntity, cFloater, cFireworkEntity, cFallingBlock, cExpOrb, cEnderCrystal, cBoat, and cArrowEntity.
Definition at line 909 of file Entity.cpp.
|
virtual |
Updates the state related to this entity being on fire.
Definition at line 1251 of file Entity.cpp.
|
virtual |
Handles when the entity is in the void.
Definition at line 1346 of file Entity.cpp.
void cEntity::WrapHeadYaw | ( | void | ) |
Makes sure head yaw is not over the specified range.
Definition at line 204 of file Entity.cpp.
void cEntity::WrapRotation | ( | void | ) |
Makes sure rotation is not over the specified range.
Definition at line 213 of file Entity.cpp.
void cEntity::WrapSpeed | ( | void | ) |
Makes speed is not over 20.
Max speed is 20 blocks / second
Definition at line 223 of file Entity.cpp.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
protected |
Stores the air drag that is applied to the entity every tick, measured in speed ratio per tick Acts as air friction and slows down flight Will be interpolated if the server tick rate varies Data: https://minecraft.wiki/w/Entity#Motion_of_entities.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
private |
|
private |
|
private |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
private |
|
protected |
Last position sent to client via the Relative Move or Teleport packets (not Velocity) Only updated if cEntity::BroadcastMovementUpdate() is called!
|
private |
|
private |
|
protected |
|
private |
|
private |
|
private |
|
protected |
|
protected |
|
protected |
|
protected |
Time, in ticks, since the last damage dealt by being on fire.
Valid only if on fire (IsOnFire())
|
protected |
|
protected |
|
protected |
|
protected |
The ID of the entity that is guaranteed to be unique within a single run of the server.
Always nonzero (a zero UniqueID (cEntity::INVALID_ID) is used for error reporting). Note that the UniqueID is not persisted through storage.
|
private |
|
private |
|
protected |
|
static |
|
static |