Cuberite
A lightweight, fast and extensible game server for Minecraft
|
#include <Painting.h>
Public Member Functions | |
cPainting (const AString &a_Name, eBlockFace a_Direction, Vector3d a_Pos) | |
const AString & | GetName (void) const |
Returns the protocol name of the painting. More... | |
Public Member Functions inherited from cHangingEntity | |
cHangingEntity (eEntityType a_EntityType, eBlockFace a_BlockFace, Vector3d a_Pos) | |
eBlockFace | GetFacing () const |
Returns the direction in which the entity is facing. More... | |
Byte | GetProtocolFacing () const |
Returns the direction in which the entity is facing. More... | |
void | SetFacing (eBlockFace a_Facing) |
Set the direction in which the entity is facing. More... | |
void | SetProtocolFacing (Byte a_Facing) |
Set the direction in which the entity is facing. More... | |
Public Member Functions inherited from cEntity | |
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 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... | |
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... | |
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 | 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 |
Private Types | |
using | Super = cHangingEntity |
Private Member Functions | |
virtual void | GetDrops (cItems &a_Items, cEntity *a_Killer) override |
Returns the list of drops for this pawn when it is killed. More... | |
virtual void | KilledBy (TakeDamageInfo &a_TDI) override |
Called when the health drops below zero. More... | |
virtual void | SpawnOn (cClientHandle &a_Client) override |
Descendants override this function to send a command to the specified client to spawn the entity on the client. More... | |
Private Attributes | |
AString | m_Name |
Additional Inherited Members | |
Public Types inherited from cEntity | |
enum | eEntityType { etEntity , etEnderCrystal , etPlayer , etPickup , etMonster , etFallingBlock , etMinecart , etBoat , etTNT , etProjectile , etExpOrb , etFloater , etItemFrame , etPainting , etLeashKnot , etMob = etMonster } |
Static Public Member Functions inherited from cHangingEntity | |
static bool | IsValidSupportBlock (BLOCKTYPE a_BlockType) |
Returns if the given block can support hanging entity placements. More... | |
Static Public Member Functions inherited from cEntity | |
static const char * | GetClassStatic (void) |
Returns the class name of this class. More... | |
Static Public Attributes inherited from cEntity | |
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 inherited from cHangingEntity | |
virtual void | Tick (std::chrono::milliseconds a_Dt, cChunk &a_Chunk) override |
Protected Member Functions inherited from cEntity | |
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 inherited from cHangingEntity | |
static Byte | BlockFaceToProtocolFace (eBlockFace a_BlockFace) |
Converts eBlockFace values to protocol hanging item faces. More... | |
static eBlockFace | ProtocolFaceToBlockFace (Byte a_ProtocolFace) |
Converts protocol hanging item facing to eBlockFace values. More... | |
Static Protected Member Functions inherited from cEntity | |
static void | ApplyFriction (Vector3d &a_Speed, double a_SlowdownMultiplier, float a_Dt) |
Applies friction to an entity. More... | |
Protected Attributes inherited from cHangingEntity | |
Byte | m_Facing |
Protected Attributes inherited from cEntity | |
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... | |
Definition at line 11 of file Painting.h.
|
private |
Definition at line 16 of file Painting.h.
cPainting::cPainting | ( | const AString & | a_Name, |
eBlockFace | a_Direction, | ||
Vector3d | a_Pos | ||
) |
Definition at line 13 of file Painting.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 from cEntity.
Definition at line 35 of file Painting.cpp.
|
inline |
Returns the protocol name of the painting.
Definition at line 25 of file Painting.h.
|
overrideprivatevirtual |
Called when the health drops below zero.
a_TDI's Attacker may be nullptr (environmental damage)
Reimplemented from cHangingEntity.
Definition at line 44 of file Painting.cpp.
|
overrideprivatevirtual |
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()
Reimplemented from cHangingEntity.
Definition at line 23 of file Painting.cpp.
|
private |
Definition at line 33 of file Painting.h.