Cuberite
A lightweight, fast and extensible game server for Minecraft
|
#include <Giant.h>
Public Member Functions | |
cGiant (void) | |
virtual void | GetDrops (cItems &a_Drops, cEntity *a_Killer=nullptr) override |
Returns the list of drops for this pawn when it is killed. More... | |
Public Member Functions inherited from cAggressiveMonster | |
virtual bool | Attack (std::chrono::milliseconds a_Dt) |
Try to perform attack returns true if attack was deemed successful (hit player, fired projectile, creeper exploded, etc.) even if it didn't actually do damage return false if e.g. More... | |
cAggressiveMonster (const AString &a_ConfigName, eMonsterType a_MobType, const AString &a_SoundHurt, const AString &a_SoundDeath, const AString &a_SoundAmbient, float a_Width, float a_Height) | |
virtual void | EventSeePlayer (cPlayer *a_Player, cChunk &a_Chunk) override |
cMonster * | GetMonsterOfTypeInSight (eMonsterType a_mobtype, unsigned int SightDistance=16) |
Check if a monster of certain type is in sight. More... | |
virtual void | InStateChasing (std::chrono::milliseconds a_Dt, cChunk &a_Chunk) override |
virtual void | Tick (std::chrono::milliseconds a_Dt, cChunk &a_Chunk) override |
Public Member Functions inherited from cMonster | |
bool | BurnsInDaylight () const |
bool | CanBeLeashed () const |
Returns whether the mob can be leashed. More... | |
bool | CanPickUpLoot () |
virtual void | CheckEventLostPlayer (std::chrono::milliseconds a_Dt) |
virtual void | CheckEventSeePlayer (cChunk &a_Chunk) |
cMonster (const AString &a_ConfigName, eMonsterType a_MobType, const AString &a_SoundHurt, const AString &a_SoundDeath, const AString &a_SoundAmbient, float a_Width, float a_Height) | |
Creates the mob object. More... | |
virtual bool | DoTakeDamage (TakeDamageInfo &a_TDI) override |
Makes this entity take damage specified in the a_TDI. More... | |
void | EngageLoveMode (cMonster *a_Partner) |
Start the mating process. More... | |
virtual void | EventLosePlayer (void) |
int | GetAge (void) const |
double | GetAttackRate () |
virtual void | GetBreedingItems (cItems &a_Items) |
Returns the items that make the animal breed - this is usually the same as the ones that make the animal follow, but not necessarily. More... | |
const AString & | GetCustomName (void) const |
Gets the custom name of the monster. More... | |
float | GetDropChanceBoots () |
float | GetDropChanceChestplate () |
float | GetDropChanceHelmet () |
float | GetDropChanceLeggings () |
float | GetDropChanceWeapon () |
virtual void | GetFollowedItems (cItems &a_Items) |
Returns the items that the animal of this class follows when a player holds it in hand. More... | |
cEntity * | GetLeashedTo () const |
Returns the entity to where this mob is leashed, returns nullptr if it's not leashed. More... | |
Vector3d * | GetLeashToPos () const |
Gets entity position to where mob should be leashed. More... | |
eFamily | GetMobFamily (void) const |
eMonsterType | GetMobType (void) const |
void | GetMonsterConfig (const AString &a_Name) |
Reads the monster configuration for the specified monster name and assigns it to this object. More... | |
cMonster * | GetPartner (void) const |
Returns the partner which the monster is currently mating with. More... | |
double | GetRelativeWalkSpeed (void) const |
cPawn * | GetTarget () |
Returns the current target. More... | |
virtual void | HandleFalling (void) override |
bool | HasCustomName (void) const |
Returns true if the monster has a custom name. More... | |
virtual void | InheritFromParents (cMonster *a_Parent1, cMonster *a_Parent2) |
Called after the baby is born, allows the baby to inherit the parents' properties (color, etc.) More... | |
virtual void | InStateEscaping (std::chrono::milliseconds a_Dt, cChunk &a_Chunk) |
virtual void | InStateIdle (std::chrono::milliseconds a_Dt, cChunk &a_Chunk) |
bool | IsBaby (void) const |
bool | IsCustomNameAlwaysVisible (void) const |
Is the custom name of this monster always visible? If not, you only see the name when you sight the mob. More... | |
bool | IsInLove () const |
Returns whether the monster has just been fed and is ready to mate. More... | |
bool | IsInLoveCooldown () const |
Returns whether the monster is tired of breeding and is in the cooldown state. More... | |
bool | IsLeashed () const |
Returns whether the monster is leashed to an entity. More... | |
virtual bool | IsNetherNative (void) |
Returns whether this mob spawns in the Nether in Vanilla. More... | |
virtual bool | IsSitting (void) const |
virtual bool | IsTame (void) const |
virtual bool | IsUndead (void) |
Returns whether this mob is undead (skeleton, zombie, etc.) More... | |
virtual void | KilledBy (TakeDamageInfo &a_TDI) override |
Called when the health drops below zero. More... | |
void | LeashTo (cEntity &a_Entity, bool a_ShouldBroadcast=true) |
Leash the monster to an entity. More... | |
void | LoveTick (void) |
Does the whole love and breeding processing. More... | |
virtual void | MoveToPosition (const Vector3d &a_Position) |
Engage pathfinder and tell it to calculate a path to a given position, and move the mob accordingly. More... | |
virtual void | OnRemoveFromWorld (cWorld &a_World) override |
Called when the entity is removed from a world. More... | |
virtual void | OnRightClicked (cPlayer &a_Player) override |
Called when the specified player right-clicks this entity. More... | |
void | ResetAttackCooldown () |
void | ResetLoveMode () |
Finish the mating process. More... | |
void | RightClickFeed (cPlayer &a_Player) |
Right click call to process feeding. More... | |
void | SetAge (int a_Age) |
void | SetAttackDamage (int a_AttackDamage) |
void | SetAttackRange (double a_AttackRange) |
void | SetAttackRate (double a_AttackRate) |
void | SetBurnsInDaylight (bool a_BurnsInDaylight) |
void | SetCanBeLeashed (bool a_CanBeLeashed) |
Sets whether the mob can be leashed, for extensibility in plugins. More... | |
void | SetCanPickUpLoot (bool a_CanPickUpLoot) |
void | SetCustomName (const AString &a_CustomName) |
Sets the custom name of the monster. More... | |
void | SetCustomNameAlwaysVisible (bool a_CustomNameAlwaysVisible) |
Sets the custom name visiblity of this monster. More... | |
void | SetDropChanceBoots (float a_DropChanceBoots) |
void | SetDropChanceChestplate (float a_DropChanceChestplate) |
void | SetDropChanceHelmet (float a_DropChanceHelmet) |
void | SetDropChanceLeggings (float a_DropChanceLeggings) |
void | SetDropChanceWeapon (float a_DropChanceWeapon) |
void | SetLeashToPos (Vector3d *pos) |
Sets entity position to where is leashed this mob. More... | |
void | SetRelativeWalkSpeed (double a_WalkSpeed) |
void | SetSightDistance (int a_SightDistance) |
void | SetTarget (cPawn *a_NewTarget) |
Sets the target that this mob will chase. More... | |
virtual void | SpawnOn (cClientHandle &a_ClientHandle) override |
Descendants override this function to send a command to the specified client to spawn the entity on the client. More... | |
void | Unleash (bool a_ShouldDropLeashPickup) |
Unleash the monster. More... | |
void | Unleash (bool a_ShouldDropLeashPickup, bool a_ShouldBroadcast) |
Unleash the monster. More... | |
void | UnsafeUnsetTarget () |
Unset the target without notifying the target entity. More... | |
bool | WasLastTargetAPlayer () const |
Returns if this mob last target was a player to avoid destruction on player quit. More... | |
Public Member Functions inherited from cPawn | |
void | AddEntityEffect (cEntityEffect::eType a_EffectType, int a_EffectDurationTicks, short a_EffectIntensity, double a_DistanceModifier=1) |
Applies an entity effect. More... | |
void | ClearEntityEffects (void) |
Removes all currently applied entity effects (used when drinking milk) More... | |
cPawn (eEntityType a_EntityType, float a_Width, float a_Height) | |
cEntityEffect * | GetEntityEffect (cEntityEffect::eType a_EffectType) const |
Returns the entity effect, if it is currently applied or nullptr if not. More... | |
std::map< cEntityEffect::eType, cEntityEffect * > | GetEntityEffects () const |
Returns all entity effects. More... | |
virtual void | HandleAir (void) override |
Called in each tick to handle air-related processing i.e. More... | |
void | HandleFarmlandTrampling (double a_FallHeight, BLOCKTYPE a_BlockAtFoot, BLOCKTYPE a_BlockBelow) |
Handles farmland trampling when hitting the ground. More... | |
bool | HasEntityEffect (cEntityEffect::eType a_EffectType) const |
Returns true, if the entity effect is currently applied. More... | |
virtual bool | IsFireproof (void) const override |
virtual bool | IsInvisible () const override |
void | NoLongerTargetingMe (cMonster *a_Monster) |
Remove the monster from the list of monsters targeting this pawn. More... | |
void | RemoveEntityEffect (cEntityEffect::eType a_EffectType) |
Removes a currently applied entity effect. More... | |
void | StopEveryoneFromTargetingMe () |
Tells all pawns which are targeting us to stop targeting us. More... | |
void | TargetingMe (cMonster *a_Monster) |
Add the monster to the list of monsters targeting this pawn. 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... | |
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 |
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 | 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 | 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 = cAggressiveMonster |
Additional Inherited Members | |
Public Types inherited from cMonster | |
enum | eFamily { mfHostile = 0 , mfPassive = 1 , mfAmbient = 2 , mfWater = 3 , mfNoSpawn } |
enum | MPersonality { PASSIVE , AGGRESSIVE , COWARDLY } |
enum | MState { ATTACKING , IDLE , CHASING , ESCAPING } |
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 cMonster | |
static eFamily | FamilyFromType (eMonsterType a_MobType) |
Returns the mob family based on the type. More... | |
static cTickTime | GetSpawnDelay (cMonster::eFamily a_MobFamily) |
Returns the spawn delay (number of game ticks between spawn attempts) for the given mob family. More... | |
static AString | MobTypeToString (eMonsterType a_MobType) |
Translates MobType enum to a string, empty string if unknown. More... | |
static AString | MobTypeToVanillaName (eMonsterType a_MobType) |
Translates MobType enum to the vanilla name of the mob, empty string if unknown. More... | |
static AString | MobTypeToVanillaNBT (eMonsterType a_MobType) |
Translates the MobType enum to the vanilla nbt name. More... | |
static std::unique_ptr< cMonster > | NewMonsterFromType (eMonsterType a_MobType) |
Creates a new object of the specified mob. More... | |
static eMonsterType | StringToMobType (const AString &a_MobTypeName) |
Translates MobType string to the enum, mtInvalidType if not recognized. More... | |
Static Public Member Functions inherited from cPawn | |
static bool | FindTeleportDestination (cWorld &a_World, const int a_HeightRequired, const unsigned int a_NumTries, Vector3d &a_Destination, const cBoundingBox a_BoundingBox) |
static bool | FindTeleportDestination (cWorld &a_World, const int a_HeightRequired, const unsigned int a_NumTries, Vector3d &a_Destination, const Vector3i a_MinBoxCorner, const Vector3i a_MaxBoxCorner) |
static bool | FindTeleportDestination (cWorld &a_World, const int a_HeightRequired, const unsigned int a_NumTries, Vector3d &a_Destination, Vector3i a_Centre, const int a_HalfCubeWidth) |
Used by enderman and chorus fruit. More... | |
Static Public Member Functions inherited from cEntity | |
static const char * | GetClassStatic (void) |
Returns the class name of this class. More... | |
Public Attributes inherited from cMonster | |
enum cMonster::MPersonality | m_EMPersonality |
enum cMonster::MState | m_EMState |
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 Types inherited from cPawn | |
typedef std::map< cEntityEffect::eType, std::unique_ptr< cEntityEffect > > | tEffectMap |
Protected Member Functions inherited from cMonster | |
void | AddRandomArmorDropItem (cItems &a_Drops, unsigned int a_LootingLevel) |
Adds armor that is equipped with the chance saved in m_DropChance... to the drop. More... | |
void | AddRandomDropItem (cItems &a_Drops, unsigned int a_Min, unsigned int a_Max, short a_Item, short a_ItemHealth=0) |
Adds a random number of a_Item between a_Min and a_Max to itemdrops a_Drops. More... | |
void | AddRandomRareDropItem (cItems &a_Drops, cItems &a_Items, unsigned int a_LootingLevel) |
Adds one rare item out of the list of rare items a_Items modified by the looting level a_LootingLevel(I-III or custom) to the itemdrop a_Drops. More... | |
void | AddRandomUncommonDropItem (cItems &a_Drops, float a_Chance, short a_Item, short a_ItemHealth=0) |
Adds a item a_Item with the chance of a_Chance (in percent) to itemdrops a_Drops. More... | |
void | AddRandomWeaponDropItem (cItems &a_Drops, unsigned int a_LootingLevel) |
Adds weapon that is equipped with the chance saved in m_DropChance... to the drop. More... | |
bool | DoesPosYRequireJump (double a_PosY) |
Returns whether the monster needs to jump to reach a given height. More... | |
int | FindFirstNonAirBlockPosition (double a_PosX, double a_PosZ) |
Finds the lowest non-air block position (not the highest, as cWorld::GetHeight does) If current Y is nonsolid, goes down to try to find a solid block, then returns that + 1 If current Y is solid, goes up to find first nonsolid block, and returns that. More... | |
void | HandleDaylightBurning (cChunk &a_Chunk, bool WouldBurn) |
void | MoveToWayPoint (cChunk &a_Chunk) |
Move in a straight line to the next waypoint in the path, will jump if needed. More... | |
bool | ReachedFinalDestination (void) |
Returns if the ultimate, final destination has been reached. More... | |
void | SetPitchAndYawFromDestination (bool a_IsFollowingPath) |
Sets the body yaw and head yaw. More... | |
void | StopMovingToPosition () |
Stops pathfinding. More... | |
bool | TargetIsInRange (void) |
Returns whether or not the target is close enough for attack. More... | |
bool | WouldBurnAt (Vector3d a_Location, cChunk &a_Chunk) |
Protected Member Functions inherited from cPawn | |
virtual void | ResetPosition (Vector3d a_NewPosition) override |
Set the entities position and last sent position. More... | |
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 | OnDetach () |
Called when this entity dismounts from m_AttachedTo. 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 cEntity | |
static void | ApplyFriction (Vector3d &a_Speed, double a_SlowdownMultiplier, float a_Dt) |
Applies friction to an entity. More... | |
Protected Attributes inherited from cMonster | |
int | m_Age |
int | m_AgingTimer |
int | m_AmbientSoundTimer |
int | m_AttackCoolDownTicksLeft |
int | m_AttackDamage |
double | m_AttackRange |
double | m_AttackRate |
bool | m_BurnsInDaylight |
bool | m_CanBeLeashed |
Determines whether a monster can be leashed. More... | |
bool | m_CanPickUpLoot |
AString | m_CustomName |
bool | m_CustomNameAlwaysVisible |
std::chrono::milliseconds | m_DestroyTimer |
float | m_DropChanceBoots |
float | m_DropChanceChestplate |
float | m_DropChanceHelmet |
float | m_DropChanceLeggings |
float | m_DropChanceWeapon |
cUUID | m_Feeder |
Remembers the player is was last fed by for statistics tracking. More... | |
Vector3d | m_FinalDestination |
Coordinates for the ultimate, final destination. More... | |
std::chrono::milliseconds | m_IdleInterval |
bool | m_IsLeashActionJustDone |
Mob has ben leashed or unleashed in current player action. More... | |
int | m_JumpCoolDown |
cEntity * | m_LeashedTo |
Entity leashed to. More... | |
std::unique_ptr< Vector3d > | m_LeashToPos |
Entity pos where this mob was leashed to. More... | |
std::chrono::milliseconds | m_LoseSightAbandonTargetTimer |
int | m_LoveCooldown |
If above 0, the monster is in cooldown mode and will refuse to breed. More... | |
cMonster * | m_LovePartner |
The monster's breeding partner. More... | |
int | m_LoveTimer |
If above 0, the monster is in love mode, and will breed if a nearby monster is also in love mode. More... | |
int | m_MatingTimer |
The monster is engaged in mating, once this reaches zero, a baby will be born. More... | |
eMonsterType | m_MobType |
Vector3d | m_NextWayPointPosition |
Coordinates of the next position that should be reached. More... | |
cPathFinder | m_PathFinder |
The pathfinder instance handles pathfinding for this monster. More... | |
bool | m_PathfinderActivated |
Stores if pathfinder is being used - set when final destination is set, and unset when stopped moving to final destination. More... | |
double | m_RelativeWalkSpeed |
int | m_SightDistance |
AString | m_SoundAmbient |
AString | m_SoundDeath |
AString | m_SoundHurt |
int | m_TicksSinceLastDamaged |
bool | m_WasLastTargetAPlayer |
Protected Attributes inherited from cPawn | |
bool | m_bTouchGround |
tEffectMap | m_EntityEffects |
double | m_LastGroundHeight |
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... | |
|
private |
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.