50class Mob :
public ::Actor {
52 LLAPI
void refreshInventory();
54 LLAPI static ::Mob* tryGetFromEntity(
::EntityContext& entity,
bool includeRemoved);
59 ::ll::TypedStorage<4, 4, float> mHurtDir;
60 ::ll::TypedStorage<4, 4, float> mOTilt;
61 ::ll::TypedStorage<4, 4, float> mTilt;
62 ::ll::TypedStorage<8, 32, ::CompassSpriteCalculator> mCompassSpriteCalc;
63 ::ll::TypedStorage<8, 32, ::CompassSpriteCalculator> mRecoveryCompassSpriteCalc;
64 ::ll::TypedStorage<4, 12, ::ClockSpriteCalculator> mClockSpriteCalc;
65 ::ll::TypedStorage<4, 4, float> mAttackAnim;
66 ::ll::TypedStorage<4, 4, int> mSwingTime;
67 ::ll::TypedStorage<8, 24, ::BuiltInMobComponents> mBuiltInMobComponents;
68 ::ll::TypedStorage<4, 4, float> mMovementComponentCurrentSpeed;
69 ::ll::TypedStorage<1, 1, bool> mSwinging;
70 ::ll::TypedStorage<1, 1, bool> mSurfaceMob;
71 ::ll::TypedStorage<1, 1, bool> mNaturallySpawned;
72 ::ll::TypedStorage<1, 1, bool> mWantsToBeJockey;
73 ::ll::TypedStorage<1, 1, bool> mHasBoundOrigin;
74 ::ll::TypedStorage<1, 2, ::std::optional<bool>> mActuallyDoKnockbackOrNotReallyBadHackDoNotUse;
75 ::ll::TypedStorage<1, 1, ::MobSpawnMethod> mSpawnMethod;
76 ::ll::TypedStorage<1, 1, bool> mCreateAiOnReload;
77 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mCaravanHead;
78 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mCaravanTail;
79 ::ll::TypedStorage<4, 4, float> mOAttackAnim;
80 ::ll::TypedStorage<4, 12, ::BlockPos> mBoundOrigin;
81 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mTargetCaptainId;
94 virtual void reloadHardcodedClient(::ActorInitializationMethod method) ;
101 knockback(::Actor*,
int,
float xd,
float zd,
float horizontalPower,
float verticalPower,
float heightCap);
103 virtual void kill() ;
107 virtual bool shouldDropDeathLoot()
const ;
109 virtual void spawnAnim();
111 virtual bool isAlive()
const ;
113 virtual bool isSleeping()
const ;
115 virtual void setSleeping(
bool val) ;
117 virtual bool isBlocking()
const ;
119 virtual void setSprinting(
bool shouldSprint);
121 virtual bool canBePulledIntoVehicle()
const ;
123 virtual float getSpeed()
const;
125 virtual void setSpeed(
float speed);
127 virtual float getYawSpeedInDegreesPerSecond()
const ;
129 virtual void normalTick() ;
131 virtual void baseTick() ;
133 virtual void hurtEffects(
::ActorDamageSource const& source,
float damage,
bool knock,
bool ignite);
135 virtual void damageCarriedItemOnAttack(::Actor& target,
float);
137 virtual bool doFireHurt(
int amount) ;
139 virtual void aiStep();
141 virtual void pushActors();
143 virtual bool checkSpawnRules(
bool);
145 virtual bool checkSpawnObstruction()
const;
147 virtual void addPassenger(::Actor& newPassenger) ;
149 virtual bool startRiding(::Actor& vehicle,
bool forceRiding) ;
151 virtual void handleEntityEvent(::ActorEvent eventId,
int data) ;
153 virtual int getItemUseDuration()
const;
155 virtual float getItemUseStartupProgress()
const;
157 virtual float getItemUseIntervalProgress()
const;
159 virtual bool swing(::ActorSwingSource) ;
161 virtual float getMaxHeadXRot();
163 virtual bool isImmobile()
const ;
167 virtual void setTarget(::Actor* target) ;
169 virtual bool attack(::Actor& target, ::SharedTypes::Legacy::ActorDamageCause
const& cause) ;
171 virtual bool isAlliedTo(::Mob*);
173 virtual bool doHurtTarget(::Actor* target, ::SharedTypes::Legacy::ActorDamageCause
const& cause);
175 virtual ::SharedTypes::Legacy::ActorDamageCause getBlockDamageCause(
::Block const& block)
const ;
177 virtual bool inCaravan()
const ;
179 virtual int getArmorValue()
const;
181 virtual void hurtArmorSlots(
::ActorDamageSource const& source,
int damage, ::std::bitset<5>
const hurtSlots);
183 virtual void setDamagedArmor(::SharedTypes::Legacy::ArmorSlot slot,
::ItemStack const& item);
185 virtual void sendArmorDamage(::std::bitset<5>
const);
187 virtual void sendArmor(::std::bitset<5>
const armorSlots);
189 virtual ::ArmorMaterialType getArmorMaterialTypeInSlot(::SharedTypes::Legacy::ArmorSlot slot)
const ;
191 virtual int getArmorTextureIndexInSlot(::SharedTypes::Legacy::ArmorSlot slot)
const ;
193 virtual float getArmorColorInSlot(::SharedTypes::Legacy::ArmorSlot slot,
int channelRGBA)
const ;
195 virtual ::std::vector<::ItemStack const*> getAllHandEquipment()
const;
197 virtual ::std::vector<::ItemStack const*> getAllEquipment()
const;
199 virtual int getDeathTime()
const ;
203 virtual void dropEquipmentOnDeath();
205 virtual void clearVanishEnchantedItemsOnDeath();
207 virtual void sendInventory(
bool);
209 virtual void buildDebugInfo(::std::string& out)
const ;
211 virtual float getInterpolatedBodyRot(
float a)
const ;
213 virtual float getInterpolatedHeadRot(
float a)
const ;
215 virtual float getInterpolatedBodyYaw(
float a)
const ;
217 virtual bool isSurfaceMob()
const ;
219 virtual float getDamageAfterEnchantReduction(
::ActorDamageSource const& source,
float damage)
const;
221 virtual bool createAIGoals();
223 virtual void onBorn(::Actor&, ::Actor&);
225 virtual bool setItemSlot(::SharedTypes::Legacy::EquipmentSlot slot,
::ItemStack const& item);
227 virtual void setTransitioningSitting(
bool value);
231 virtual bool canChangeDimensionsUsingPortal()
const ;
233 virtual void teleportTo(
235 bool shouldStopRiding,
237 int sourceEntityType,
241 virtual float _getWalkTargetValue(
::BlockPos const&);
243 virtual bool canExistWhenDisallowMob()
const;
245 virtual bool canPowerJump()
const ;
247 virtual void setEquippedSlot(::SharedTypes::Legacy::EquipmentSlot slot,
::ItemStack const& item) ;
251 virtual bool canFreeze()
const ;
253 virtual void addAdditionalSaveData(
::CompoundTag& tag)
const ;
257 virtual ::std::unique_ptr<::BodyControl> initBodyControl();
259 virtual float causeFallDamageToActor(
float distance,
float multiplier,
::ActorDamageSource source) ;
261 virtual void outOfWorld() ;
265 virtual void newServerAiStep();
267 virtual void _doInitialMove() ;
269 virtual ::AABB _getAdjustedAABBForSpawnCheck(
::AABB const& aabb,
::Vec3 const&)
const;
280 MCAPI ::BuiltInMobComponents _addBuiltInMobComponents();
282 MCAPI
void _doSoulSpeedParticleEffect();
284 MCAPI
void _doSprintParticleEffect();
286 MCAPI
bool _initHardCodedComponents(
bool isClientSide);
288 MCAPI
void _initialize(
::EntityContext& entityContext,
bool isClientSide);
290 MCAPI
void _processSoulSpeed();
292 MCAPI
void _registerMobAttributes();
294 MCAPI ::std::unique_ptr<::ListTag> _saveArmor(
::SaveContext const& saveContext)
const;
296 MCAPI
void _verifyAttributes();
298 MCAPI
float calcMoveRelativeSpeed(::TravelType travelType);
302 MCAPI
bool checkForPostHitDamageImmunity(
float damageDifference,
::ActorDamageSource const& source);
306 MCAPI
void clearMainHandSlot();
308 MCAPI
void containerChanged(
int iSlot);
310 MCAPI
void createAI(::std::vector<::LegacyGoalDefinition> goals);
312 MCAPI
void dropBags();
314 MCAPI
void dropContainer();
316 MCAPI
void emitJumpPreventedEvent(
::BlockPos const& pos);
318 MCAPI
void frostWalk();
320 MCAPI_C ::std::vector<int> getAllArmorID()
const;
322 MCAPI
float getArmorCoverPercentage()
const;
324 MCAPI
int getArmorTypeHash();
326 MCAPI
float getAttackAnim(
float a);
328 MCAPI
int getCaravanSize()
const;
330 MCAPI
int getCarriedItemKnockbackBonus()
const;
332 MCAPI
float getDamageAfterDamageSensorComponentAdjustments(
::ActorDamageSource const& source,
float damage);
334 MCAPI
float getDamageAfterResistanceEffect(
::ActorDamageSource const& source,
float damage)
const;
336 MCAPI ::SharedTypes::Legacy::ActorDamageCause getDamageCause()
const;
338 MCAPI
int getEatCounter()
const;
340 MCAPI
float getExpectedFallDamage(
float distance,
float multiplier)
const;
342 MCAPI ::Mob* getFirstCaravanHead();
344 MCAPI ::SharedTypes::Legacy::LevelSoundEvent getHurtSound(::SharedTypes::Legacy::ActorDamageCause cause)
const;
346 MCAPI ::ItemStack
const& getItemSlot(::SharedTypes::Legacy::EquipmentSlot slot)
const;
348 MCAPI
float getJumpEffectAmplifierValue();
350 MCAPI ::JumpPreventionResult getJumpPrevention();
352 MCAPI
int getModifiedSwingDuration()
const;
354 MCAPI ::SharedTypes::Legacy::LevelSoundEvent getSpawnSound()
const;
356 MCAPI
int getToughnessValue()
const;
358 MCAPI ::TravelType getTravelType();
360 MCAPI
float getYBodyRotation()
const;
362 MCAPI_C ::InterpolationPair getYBodyRotationsNewOld()
const;
366 MCAPI
bool isAbleToMove()
const;
368 MCAPI_C
bool isGliding()
const;
370 MCAPI
void knockback(::Actor* source,
int damage,
float xd,
float zd,
float horizontalPower,
float verticalPower);
372 MCAPI
void lookAt(::Actor* lookAt,
float yMax,
float xMax);
374 MCAPI
void removeSpeedModifier(
::mce::UUID const& attributeID);
376 MCAPI
void resetAttributes();
378 MCAPI ::std::unique_ptr<::ListTag> saveOffhand(
::SaveContext const& saveContext)
const;
380 MCAPI
void sendArmorSlot(::SharedTypes::Legacy::ArmorSlot slot);
382 MCAPI
void setEatCounter(
int value);
384 MCAPI
void setEating(
bool value);
386 MCAPI
void setJumpTicks(
int ticks);
388 MCAPI
void setYBodyRotations(
float rotation,
float oldRotation);
390 MCAPI
bool shouldApplyWaterGravity();
392 MCAPI
void snapToYBodyRot(
float yBodyRot);
394 MCAPI
void snapToYHeadRot(
float yHeadRot);
396 MCAPI
void tickMobEffectsVisuals();
398 MCAPI
void updateEquipment();
400 MCAPI
void updateGlidingDurability();
412 MCAPI
static float const& ASCEND_BLOCK_BY_JUMPING_SPEED();
414 MCAPI
static float const& DEFAULT_GRAVITY();
416 MCAPI
static float const& FRICTION_CONSTANT();
418 MCAPI
static float const& FRICTION_CONSTANT_MODIFIED();
420 MCAPI
static float const& FRICTION_MODIFIER();
422 MCAPI
static float const& GLIDING_FALL_RESET_DELTA();
424 MCAPI
static float const& LADDER_CLIMB_SPEED();
426 MCAPI
static int const& REMOVE_PASSENGERS_DELAY();
428 MCAPI
static float const& SLOW_FALL_GRAVITY();
430 MCAPI
static int const& SPAWN_XP_DELAY();
452 MCAPI
void $initializeComponents(::ActorInitializationMethod method,
::VariantParameterList const& params);
454 MCAPI
void $reloadHardcodedClient(::ActorInitializationMethod method);
459 $knockback(::Actor*,
int,
float xd,
float zd,
float horizontalPower,
float verticalPower,
float heightCap);
465 MCAPI
bool $shouldDropDeathLoot()
const;
467 MCFOLD
void $spawnAnim();
469 MCAPI
bool $isAlive()
const;
471 MCAPI
bool $isSleeping()
const;
473 MCAPI
void $setSleeping(
bool val);
475 MCAPI
bool $isBlocking()
const;
477 MCAPI
void $setSprinting(
bool shouldSprint);
479 MCFOLD
bool $canBePulledIntoVehicle()
const;
481 MCAPI
float $getSpeed()
const;
483 MCAPI
void $setSpeed(
float speed);
485 MCAPI
float $getYawSpeedInDegreesPerSecond()
const;
487 MCAPI
void $normalTick();
489 MCAPI
void $baseTick();
491 MCAPI
void $hurtEffects(
::ActorDamageSource const& source,
float damage,
bool knock,
bool ignite);
493 MCAPI
void $damageCarriedItemOnAttack(::Actor& target,
float);
495 MCAPI
bool $doFireHurt(
int amount);
497 MCAPI
void $aiStep();
499 MCAPI
void $pushActors();
501 MCAPI
bool $checkSpawnRules(
bool);
503 MCAPI
bool $checkSpawnObstruction()
const;
505 MCAPI
void $addPassenger(::Actor& newPassenger);
507 MCAPI
bool $startRiding(::Actor& vehicle,
bool forceRiding);
509 MCAPI
void $handleEntityEvent(::ActorEvent eventId,
int data);
511 MCFOLD
int $getItemUseDuration()
const;
513 MCFOLD
float $getItemUseStartupProgress()
const;
515 MCFOLD
float $getItemUseIntervalProgress()
const;
517 MCAPI
float $getMaxHeadXRot();
519 MCAPI
bool $isImmobile()
const;
523 MCAPI
void $setTarget(::Actor* target);
526 MCAPI
bool $attack(::Actor& target, ::SharedTypes::Legacy::ActorDamageCause
const& cause);
529 MCFOLD
bool $isAlliedTo(::Mob*);
532 MCAPI
bool $doHurtTarget(::Actor* target, ::SharedTypes::Legacy::ActorDamageCause
const& cause);
534 MCAPI ::SharedTypes::Legacy::ActorDamageCause $getBlockDamageCause(
::Block const& block)
const;
537 MCAPI
bool $inCaravan()
const;
539 MCAPI
int $getArmorValue()
const;
541 MCAPI
void $hurtArmorSlots(
::ActorDamageSource const& source,
int damage, ::std::bitset<5>
const hurtSlots);
543 MCAPI
void $setDamagedArmor(::SharedTypes::Legacy::ArmorSlot slot,
::ItemStack const& item);
545 MCFOLD
void $sendArmorDamage(::std::bitset<5>
const);
547 MCAPI
void $sendArmor(::std::bitset<5>
const armorSlots);
549 MCAPI ::ArmorMaterialType $getArmorMaterialTypeInSlot(::SharedTypes::Legacy::ArmorSlot slot)
const;
551 MCAPI
int $getArmorTextureIndexInSlot(::SharedTypes::Legacy::ArmorSlot slot)
const;
553 MCAPI
float $getArmorColorInSlot(::SharedTypes::Legacy::ArmorSlot slot,
int channelRGBA)
const;
555 MCAPI ::std::vector<::ItemStack const*> $getAllHandEquipment()
const;
557 MCAPI ::std::vector<::ItemStack const*> $getAllEquipment()
const;
559 MCAPI
int $getDeathTime()
const;
563 MCAPI
void $dropEquipmentOnDeath();
565 MCAPI
void $clearVanishEnchantedItemsOnDeath();
567 MCAPI
void $sendInventory(
bool);
569 MCAPI
void $buildDebugInfo(::std::string& out)
const;
571 MCAPI
float $getInterpolatedBodyRot(
float a)
const;
573 MCAPI
float $getInterpolatedHeadRot(
float a)
const;
575 MCAPI
float $getInterpolatedBodyYaw(
float a)
const;
577 MCAPI
bool $isSurfaceMob()
const;
579 MCAPI
float $getDamageAfterEnchantReduction(
::ActorDamageSource const& source,
float damage)
const;
581 MCAPI
bool $createAIGoals();
583 MCFOLD
void $onBorn(::Actor&, ::Actor&);
585 MCAPI
bool $setItemSlot(::SharedTypes::Legacy::EquipmentSlot slot,
::ItemStack const& item);
587 MCAPI
void $setTransitioningSitting(
bool value);
591 MCAPI
bool $canChangeDimensionsUsingPortal()
const;
594 $teleportTo(
::Vec3 const& pos,
bool shouldStopRiding,
int cause,
int sourceEntityType,
bool keepVelocity);
596 MCFOLD
float $_getWalkTargetValue(
::BlockPos const&);
598 MCAPI
bool $canExistWhenDisallowMob()
const;
600 MCAPI
bool $canPowerJump()
const;
602 MCAPI
void $setEquippedSlot(::SharedTypes::Legacy::EquipmentSlot slot,
::ItemStack const& item);
606 MCAPI
bool $canFreeze()
const;
612 MCAPI ::std::unique_ptr<::BodyControl> $initBodyControl();
614 MCAPI
float $causeFallDamageToActor(
float distance,
float multiplier,
::ActorDamageSource source);
616 MCAPI
void $outOfWorld();
620 MCFOLD
void $newServerAiStep();
622 MCAPI
void $_doInitialMove();
624 MCAPI ::AABB $_getAdjustedAABBForSpawnCheck(
::AABB const& aabb,
::Vec3 const&)
const;
627 MCAPI
bool $swing(::ActorSwingSource);
636 MCAPI
static void** $vftable();