58class Mob :
public ::Actor {
60 LLAPI
void refreshInventory();
62 LLAPI static ::Mob* tryGetFromEntity(
::EntityContext& entity,
bool includeRemoved);
64 LLNDAPI
ItemStack const& getItemSlot(::SharedTypes::Legacy::EquipmentSlot slot)
const;
69 ::ll::TypedStorage<4, 4, float> mHurtDir;
70 ::ll::TypedStorage<4, 4, float> mOTilt;
71 ::ll::TypedStorage<4, 4, float> mTilt;
72 ::ll::TypedStorage<8, 32, ::CompassSpriteCalculator> mCompassSpriteCalc;
73 ::ll::TypedStorage<8, 32, ::CompassSpriteCalculator> mRecoveryCompassSpriteCalc;
74 ::ll::TypedStorage<4, 12, ::ClockSpriteCalculator> mClockSpriteCalc;
75 ::ll::TypedStorage<4, 4, float> mAttackAnim;
76 ::ll::TypedStorage<4, 4, int> mSwingTime;
77 ::ll::TypedStorage<8, 32, ::BuiltInMobComponents> mBuiltInMobComponents;
78 ::ll::TypedStorage<4, 4, float> mMovementComponentCurrentSpeed;
79 ::ll::TypedStorage<1, 2, ::std::optional<::HandSlot>> mSwingingHand;
80 ::ll::TypedStorage<1, 1, bool> mSurfaceMob;
81 ::ll::TypedStorage<1, 1, bool> mNaturallySpawned;
82 ::ll::TypedStorage<1, 1, bool> mWantsToBeJockey;
83 ::ll::TypedStorage<1, 1, bool> mHasBoundOrigin;
84 ::ll::TypedStorage<1, 1, ::MobSpawnMethod> mSpawnMethod;
85 ::ll::TypedStorage<1, 1, bool> mCreateAiOnReload;
86 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mCaravanHead;
87 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mCaravanTail;
88 ::ll::TypedStorage<4, 4, float> mOAttackAnim;
89 ::ll::TypedStorage<4, 12, ::BlockPos> mBoundOrigin;
90 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mTargetCaptainId;
103 virtual void reloadHardcodedClient(::ActorInitializationMethod method) ;
109 virtual void knockback(::Actor* source,
float damage,
float xd,
float zd,
::KnockbackParameters const& parameters);
111 virtual void kill() ;
115 virtual bool shouldDropDeathLoot()
const ;
117 virtual void spawnAnim();
119 virtual bool isAlive()
const ;
121 virtual bool isSleeping()
const ;
123 virtual void setSleeping(
bool val) ;
125 virtual bool isBlocking()
const ;
127 virtual void setSprinting(
bool shouldSprint);
129 virtual bool canBePulledIntoVehicle()
const ;
131 virtual float getSpeed()
const;
133 virtual void setSpeed(
float speed);
135 virtual float getYawSpeedInDegreesPerSecond()
const ;
137 virtual void normalTick() ;
139 virtual void baseTick() ;
143 virtual void damageCarriedItemOnAttack(::Actor& target,
float damageDealtToTarget);
145 virtual ::ActorHurtResult doFireHurt(
int amount) ;
147 virtual void aiStep();
149 virtual void pushActors();
151 virtual bool checkSpawnRules(
bool fromSpawner);
153 virtual bool checkSpawnObstruction()
const;
155 virtual void addPassenger(::Actor& newPassenger) ;
157 virtual bool startRiding(::Actor& vehicle,
bool forceRiding) ;
159 virtual void handleEntityEvent(::ActorEvent
id,
int data) ;
161 virtual int getItemUseDuration()
const;
163 virtual float getItemUseStartupProgress()
const;
165 virtual float getItemUseIntervalProgress()
const;
167 virtual bool swing(::ActorSwingSource swingSource, ::HandSlot handSlot) ;
169 virtual float getMaxHeadXRot();
171 virtual bool isImmobile()
const ;
175 virtual void setTarget(::Actor* target) ;
177 virtual ::ActorHurtResult
178 attack(::Actor& target, ::SharedTypes::Legacy::ActorDamageCause
const& cause) ;
180 virtual bool isAlliedTo(::Mob* other);
182 virtual ::ActorHurtResult doHurtTarget(::Actor* target, ::SharedTypes::Legacy::ActorDamageCause
const& cause);
184 virtual ::SharedTypes::Legacy::ActorDamageCause getBlockDamageCause(
::Block const& block)
const ;
186 virtual bool inCaravan()
const ;
188 virtual int getArmorValue()
const;
190 virtual void hurtArmorSlots(
::ActorDamageSource const& source,
int damage, ::std::bitset<5>
const hurtSlots);
192 virtual void setDamagedArmor(::SharedTypes::Legacy::ArmorSlot slot,
::ItemStack const& item);
194 virtual void sendArmorDamage(::std::bitset<5>
const damagedSlots);
196 virtual void sendArmor(::std::bitset<5>
const armorSlots);
198 virtual ::ArmorMaterialType getArmorMaterialTypeInSlot(::SharedTypes::Legacy::ArmorSlot slot)
const ;
200 virtual int getArmorTextureIndexInSlot(::SharedTypes::Legacy::ArmorSlot slot)
const ;
202 virtual float getArmorColorInSlot(::SharedTypes::Legacy::ArmorSlot slot,
int channelRGBA)
const ;
204 virtual ::std::vector<::ItemStack const*> getAllHandEquipment()
const;
206 virtual ::std::vector<::ItemStack const*> getAllEquipment()
const;
208 virtual int getDeathTime()
const ;
212 virtual void dropEquipmentOnDeath();
214 virtual void clearVanishEnchantedItemsOnDeath();
216 virtual void sendInventory(
bool shouldSelectSlot);
218 virtual void buildDebugInfo(::std::string& out)
const ;
220 virtual float getInterpolatedBodyRot(
float a)
const ;
222 virtual float getInterpolatedHeadRot(
float a)
const ;
224 virtual float getInterpolatedBodyYaw(
float a)
const ;
226 virtual bool isSurfaceMob()
const ;
228 virtual float getDamageAfterEnchantReduction(
::ActorDamageSource const& source,
float damage)
const;
230 virtual bool createAIGoals();
232 virtual void onBorn(::Actor&, ::Actor&);
234 virtual bool setItemSlot(::SharedTypes::Legacy::EquipmentSlot slot,
::ItemStack const& item);
236 virtual void setTransitioningSitting(
bool value);
240 virtual bool canChangeDimensionsUsingPortal()
const ;
242 virtual void teleportTo(
244 bool shouldStopRiding,
246 int sourceEntityType,
250 virtual float _getWalkTargetValue(
::BlockPos const& pos);
252 virtual bool canExistWhenDisallowMob()
const;
254 virtual bool canPowerJump()
const ;
256 virtual void setEquippedSlot(::SharedTypes::Legacy::EquipmentSlot slot,
::ItemStack const& item) ;
260 virtual void addAdditionalSaveData(
::CompoundTag& entityTag)
const ;
264 virtual ::std::unique_ptr<::BodyControl> initBodyControl();
266 virtual float causeFallDamageToActor(
float distance,
float multiplier,
::ActorDamageSource source) ;
268 virtual void outOfWorld() ;
270 virtual ::ActorHurtResult
273 virtual void newServerAiStep();
275 virtual void _doInitialMove() ;
277 virtual ::AABB _getAdjustedAABBForSpawnCheck(
::AABB const& aabb,
::Vec3 const& mobPos)
const;
307 addSpeedModifier(
::mce::UUID const& attributeID, ::std::string
const& attributeName,
float speedModifier);
313 MCAPI ::std::optional<float> checkTotemDeathProtection(
::ActorDamageSource const& killingDamage);
315 MCAPI
void clearMainHandSlot();
319 MCNAPI
void createAI(::std::vector<::LegacyGoalDefinition> goals);
326 MCNAPI ::std::vector<int> getAllArmorID()
const;
333 MCAPI
float getDamageAfterArmorReduction(
::ActorDamageSource const& source,
float damage)
const;
348 MCNAPI
float getPassengerLockedBodyRot()
const;
350 MCNAPI
float getPassengerRotLimit()
const;
356 MCNAPI
float getSwimSpeedMultiplier()
const;
363 MCAPI
float getYBodyRotation()
const;
366 MCNAPI ::InterpolationPair getYBodyRotationsNewOld()
const;
377 MCAPI
void jumpFromGround();
381 MCAPI
void lookAt(::Actor* lookAt,
float yMax,
float xMax);
385 MCAPI
void resetAttributes();
393 MCAPI
void setSpeedModifier(
float speed);
395 MCAPI
void setYBodyRotation(
float rotation);
397 MCAPI
void setYBodyRotations(
float rotation,
float oldRotation);
405 MCAPI
void updateEquipment();
441 MCAPI
void $initializeComponents(::ActorInitializationMethod method,
::VariantParameterList const& params);
447 MCAPI
void $knockback(::Actor* source,
float damage,
float xd,
float zd,
::KnockbackParameters const& parameters);
465 MCAPI
void $setSprinting(
bool shouldSprint);
475 MCAPI
void $normalTick();
477 MCAPI
void $baseTick();
485 MCAPI
void $aiStep();
487 MCAPI
void $pushActors();
489 MCAPI
bool $checkSpawnRules(
bool fromSpawner);
491 MCAPI
bool $checkSpawnObstruction()
const;
493 MCAPI
void $addPassenger(::Actor& newPassenger);
495 MCAPI
bool $startRiding(::Actor& vehicle,
bool forceRiding);
505 MCNAPI
bool $swing(::ActorSwingSource swingSource, ::HandSlot handSlot);
513 MCAPI
void $setTarget(::Actor* target);
515 MCAPI ::ActorHurtResult $attack(::Actor& target, ::SharedTypes::Legacy::ActorDamageCause
const& cause);
519 MCAPI ::ActorHurtResult $doHurtTarget(::Actor* target, ::SharedTypes::Legacy::ActorDamageCause
const& cause);
549 MCAPI
void $dropEquipmentOnDeath();
565 MCAPI
float $getDamageAfterEnchantReduction(
::ActorDamageSource const& source,
float damage)
const;
569 MCFOLD
void $onBorn(::Actor&, ::Actor&);
571 MCAPI
bool $setItemSlot(::SharedTypes::Legacy::EquipmentSlot slot,
::ItemStack const& item);
580 $teleportTo(
::Vec3 const& pos,
bool shouldStopRiding,
int cause,
int sourceEntityType,
bool keepVelocity);
588 MCAPI
void $setEquippedSlot(::SharedTypes::Legacy::EquipmentSlot slot,
::ItemStack const& item);
598 MCAPI
float $causeFallDamageToActor(
float distance,
float multiplier,
::ActorDamageSource source);
602 MCAPI ::ActorHurtResult