51class Mob :
public ::Actor {
53 LLAPI
void refreshInventory();
55 LLAPI static ::Mob* tryGetFromEntity(
::EntityContext& entity,
bool includeRemoved);
60 ::ll::TypedStorage<4, 4, float> mHurtDir;
61 ::ll::TypedStorage<4, 4, float> mOTilt;
62 ::ll::TypedStorage<4, 4, float> mTilt;
63 ::ll::TypedStorage<8, 32, ::CompassSpriteCalculator> mCompassSpriteCalc;
64 ::ll::TypedStorage<8, 32, ::CompassSpriteCalculator> mRecoveryCompassSpriteCalc;
65 ::ll::TypedStorage<4, 12, ::ClockSpriteCalculator> mClockSpriteCalc;
66 ::ll::TypedStorage<4, 4, float> mAttackAnim;
67 ::ll::TypedStorage<4, 4, int> mSwingTime;
68 ::ll::TypedStorage<8, 24, ::BuiltInMobComponents> mBuiltInMobComponents;
69 ::ll::TypedStorage<4, 4, float> mMovementComponentCurrentSpeed;
70 ::ll::TypedStorage<1, 1, bool> mSwinging;
71 ::ll::TypedStorage<1, 1, bool> mSurfaceMob;
72 ::ll::TypedStorage<1, 1, bool> mNaturallySpawned;
73 ::ll::TypedStorage<1, 1, bool> mWantsToBeJockey;
74 ::ll::TypedStorage<1, 1, bool> mHasBoundOrigin;
75 ::ll::TypedStorage<1, 2, ::std::optional<bool>> mActuallyDoKnockbackOrNotReallyBadHackDoNotUse;
76 ::ll::TypedStorage<1, 1, ::MobSpawnMethod> mSpawnMethod;
77 ::ll::TypedStorage<1, 1, bool> mCreateAiOnReload;
78 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mCaravanHead;
79 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mCaravanTail;
80 ::ll::TypedStorage<4, 4, float> mOAttackAnim;
81 ::ll::TypedStorage<4, 12, ::BlockPos> mBoundOrigin;
82 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mTargetCaptainId;
95 virtual void reloadHardcodedClient(::ActorInitializationMethod method) ;
101 virtual void knockback(
106 float horizontalPower,
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() ;
141 virtual void hurtEffects(
::ActorDamageSource const& source,
float damage,
bool knock,
bool ignite);
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) ;
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 bool canFreeze()
const ;
262 virtual void addAdditionalSaveData(
::CompoundTag& entityTag)
const ;
266 virtual ::std::unique_ptr<::BodyControl> initBodyControl();
268 virtual float causeFallDamageToActor(
float distance,
float multiplier,
::ActorDamageSource source) ;
270 virtual void outOfWorld() ;
272 virtual ::ActorHurtResult
275 virtual void newServerAiStep();
277 virtual void _doInitialMove() ;
279 virtual ::AABB _getAdjustedAABBForSpawnCheck(
::AABB const& aabb,
::Vec3 const& mobPos)
const;
290 MCAPI ::BuiltInMobComponents _addBuiltInMobComponents();
292 MCAPI
void _doSoulSpeedParticleEffect();
294 MCAPI
void _doSprintParticleEffect();
296 MCAPI
bool _initHardCodedComponents(
bool isClientSide);
298 MCAPI
void _initialize(
::EntityContext& entityContext,
bool isClientSide);
300 MCAPI
void _processSoulSpeed();
302 MCAPI
void _registerMobAttributes();
304 MCAPI ::std::unique_ptr<::ListTag> _saveArmor(
::SaveContext const& saveContext)
const;
306 MCAPI
void _verifyAttributes();
308 MCAPI
float calcMoveRelativeSpeed(::TravelType travelType);
312 MCAPI
bool checkForPostHitDamageImmunity(
float damageDifference,
::ActorDamageSource const& source);
316 MCAPI
void clearMainHandSlot();
318 MCAPI
void containerChanged(
int iSlot);
320 MCAPI
void createAI(::std::vector<::LegacyGoalDefinition> goals);
322 MCAPI
void dropBags();
324 MCAPI
void dropContainer();
326 MCAPI
void emitJumpPreventedEvent(
::BlockPos const& pos);
328 MCAPI
void frostWalk();
331 MCAPI ::std::vector<int> getAllArmorID()
const;
334 MCAPI
float getArmorCoverPercentage()
const;
336 MCAPI
int getArmorTypeHash();
338 MCAPI
float getAttackAnim(
float a);
340 MCAPI
int getCaravanSize()
const;
342 MCAPI
int getCarriedItemKnockbackBonus()
const;
344 MCAPI
float getDamageAfterDamageSensorComponentAdjustments(
::ActorDamageSource const& source,
float damage);
346 MCAPI
float getDamageAfterResistanceEffect(
::ActorDamageSource const& source,
float damage)
const;
348 MCAPI ::SharedTypes::Legacy::ActorDamageCause getDamageCause()
const;
350 MCAPI
int getEatCounter()
const;
352 MCAPI
float getExpectedFallDamage(
float distance,
float multiplier)
const;
354 MCAPI ::Mob* getFirstCaravanHead();
356 MCAPI ::SharedTypes::Legacy::LevelSoundEvent getHurtSound(::SharedTypes::Legacy::ActorDamageCause cause)
const;
358 MCAPI ::ItemStack
const& getItemSlot(::SharedTypes::Legacy::EquipmentSlot slot)
const;
360 MCAPI
float getJumpEffectAmplifierValue();
362 MCAPI ::JumpPreventionResult getJumpPrevention();
364 MCAPI
int getModifiedSwingDuration()
const;
366 MCAPI ::SharedTypes::Legacy::LevelSoundEvent getSpawnSound()
const;
368 MCAPI
int getToughnessValue()
const;
370 MCAPI ::TravelType getTravelType();
372 MCAPI
float getYBodyRotation()
const;
375 MCAPI ::InterpolationPair getYBodyRotationsNewOld()
const;
380 MCAPI
bool isAbleToMove()
const;
383 MCAPI
bool isGliding()
const;
386 MCAPI
void knockback(::Actor* source,
int damage,
float xd,
float zd,
float horizontalPower,
float verticalPower);
388 MCAPI
void lookAt(::Actor* lookAt,
float yMax,
float xMax);
390 MCAPI
void removeSpeedModifier(
::mce::UUID const& attributeID);
392 MCAPI
void resetAttributes();
394 MCAPI ::std::unique_ptr<::ListTag> saveOffhand(
::SaveContext const& saveContext)
const;
396 MCAPI
void sendArmorSlot(::SharedTypes::Legacy::ArmorSlot slot);
398 MCAPI
void setEatCounter(
int value);
400 MCAPI
void setEating(
bool value);
402 MCAPI
void setJumpTicks(
int ticks);
404 MCAPI
void setYBodyRotations(
float rotation,
float oldRotation);
406 MCAPI
bool shouldApplyWaterGravity();
408 MCAPI
void snapToYBodyRot(
float yBodyRot);
410 MCAPI
void snapToYHeadRot(
float yHeadRot);
412 MCAPI
void tickMobEffectsVisuals();
414 MCAPI
void updateEquipment();
416 MCAPI
void updateGlidingDurability();
444 MCAPI
void $initializeComponents(::ActorInitializationMethod method,
::VariantParameterList const& params);
446 MCAPI
void $reloadHardcodedClient(::ActorInitializationMethod method);
450 MCAPI
void $knockback(
455 float horizontalPower,
464 MCAPI
bool $shouldDropDeathLoot()
const;
466 MCFOLD
void $spawnAnim();
468 MCAPI
bool $isAlive()
const;
470 MCAPI
bool $isSleeping()
const;
472 MCAPI
void $setSleeping(
bool val);
474 MCAPI
bool $isBlocking()
const;
476 MCAPI
void $setSprinting(
bool shouldSprint);
478 MCFOLD
bool $canBePulledIntoVehicle()
const;
480 MCAPI
float $getSpeed()
const;
482 MCAPI
void $setSpeed(
float speed);
484 MCAPI
float $getYawSpeedInDegreesPerSecond()
const;
486 MCAPI
void $normalTick();
488 MCAPI
void $baseTick();
490 MCAPI
void $hurtEffects(
::ActorDamageSource const& source,
float damage,
bool knock,
bool ignite);
492 MCAPI
void $damageCarriedItemOnAttack(::Actor& target,
float damageDealtToTarget);
494 MCAPI ::ActorHurtResult $doFireHurt(
int amount);
496 MCAPI
void $aiStep();
498 MCAPI
void $pushActors();
500 MCAPI
bool $checkSpawnRules(
bool fromSpawner);
502 MCAPI
bool $checkSpawnObstruction()
const;
504 MCAPI
void $addPassenger(::Actor& newPassenger);
506 MCAPI
bool $startRiding(::Actor& vehicle,
bool forceRiding);
508 MCAPI
void $handleEntityEvent(::ActorEvent
id,
int data);
510 MCFOLD
int $getItemUseDuration()
const;
512 MCFOLD
float $getItemUseStartupProgress()
const;
514 MCFOLD
float $getItemUseIntervalProgress()
const;
516 MCAPI
bool $swing(::ActorSwingSource swingSource);
518 MCAPI
float $getMaxHeadXRot();
520 MCAPI
bool $isImmobile()
const;
524 MCAPI
void $setTarget(::Actor* target);
526 MCFOLD
bool $isAlliedTo(::Mob* other);
528 MCAPI
bool $inCaravan()
const;
530 MCAPI
int $getArmorValue()
const;
532 MCAPI
void $hurtArmorSlots(
::ActorDamageSource const& source,
int damage, ::std::bitset<5>
const hurtSlots);
534 MCFOLD
void $sendArmorDamage(::std::bitset<5>
const damagedSlots);
536 MCAPI
void $sendArmor(::std::bitset<5>
const armorSlots);
538 MCAPI ::std::vector<::ItemStack const*> $getAllHandEquipment()
const;
540 MCAPI ::std::vector<::ItemStack const*> $getAllEquipment()
const;
542 MCAPI
int $getDeathTime()
const;
546 MCAPI
void $dropEquipmentOnDeath();
548 MCAPI
void $clearVanishEnchantedItemsOnDeath();
550 MCAPI
void $sendInventory(
bool shouldSelectSlot);
552 MCAPI
void $buildDebugInfo(::std::string& out)
const;
554 MCAPI
float $getInterpolatedBodyRot(
float a)
const;
556 MCAPI
float $getInterpolatedHeadRot(
float a)
const;
558 MCAPI
float $getInterpolatedBodyYaw(
float a)
const;
560 MCAPI
bool $isSurfaceMob()
const;
562 MCAPI
float $getDamageAfterEnchantReduction(
::ActorDamageSource const& source,
float damage)
const;
564 MCAPI
bool $createAIGoals();
566 MCFOLD
void $onBorn(::Actor&, ::Actor&);
568 MCAPI
bool $setItemSlot(::SharedTypes::Legacy::EquipmentSlot slot,
::ItemStack const& item);
570 MCAPI
void $setTransitioningSitting(
bool value);
574 MCAPI
bool $canChangeDimensionsUsingPortal()
const;
577 $teleportTo(
::Vec3 const& pos,
bool shouldStopRiding,
int cause,
int sourceEntityType,
bool keepVelocity);
579 MCFOLD
float $_getWalkTargetValue(
::BlockPos const& pos);
581 MCAPI
bool $canExistWhenDisallowMob()
const;
583 MCAPI
bool $canPowerJump()
const;
585 MCAPI
void $setEquippedSlot(::SharedTypes::Legacy::EquipmentSlot slot,
::ItemStack const& item);
589 MCAPI
bool $canFreeze()
const;
591 MCAPI
void $addAdditionalSaveData(
::CompoundTag& entityTag)
const;
595 MCAPI ::std::unique_ptr<::BodyControl> $initBodyControl();
597 MCAPI
float $causeFallDamageToActor(
float distance,
float multiplier,
::ActorDamageSource source);
599 MCAPI
void $outOfWorld();
601 MCAPI ::ActorHurtResult $_hurt(
::ActorDamageSource const& source,
float damage,
bool knock,
bool ignite);
603 MCFOLD
void $newServerAiStep();
605 MCAPI
void $_doInitialMove();
607 MCAPI ::AABB $_getAdjustedAABBForSpawnCheck(
::AABB const& aabb,
::Vec3 const& mobPos)
const;
610 MCAPI ::ActorHurtResult $attack(::Actor& target, ::SharedTypes::Legacy::ActorDamageCause
const& cause);
612 MCAPI ::ActorHurtResult $doHurtTarget(::Actor* target, ::SharedTypes::Legacy::ActorDamageCause
const& cause);
614 MCAPI ::SharedTypes::Legacy::ActorDamageCause $getBlockDamageCause(
::Block const& block)
const;
616 MCAPI
void $setDamagedArmor(::SharedTypes::Legacy::ArmorSlot slot,
::ItemStack const& item);
618 MCAPI ::ArmorMaterialType $getArmorMaterialTypeInSlot(::SharedTypes::Legacy::ArmorSlot slot)
const;
620 MCAPI
int $getArmorTextureIndexInSlot(::SharedTypes::Legacy::ArmorSlot slot)
const;
622 MCAPI
float $getArmorColorInSlot(::SharedTypes::Legacy::ArmorSlot slot,
int channelRGBA)
const;
631 MCAPI
static void** $vftable();