49 LLAPI
void refreshInventory();
51 LLAPI static ::Mob* tryGetFromEntity(
::EntityContext& entity,
bool includeRemoved);
56 ::ll::TypedStorage<4, 4, float> mHurtDir;
57 ::ll::TypedStorage<4, 4, float> mOTilt;
58 ::ll::TypedStorage<4, 4, float> mTilt;
59 ::ll::TypedStorage<8, 32, ::CompassSpriteCalculator> mCompassSpriteCalc;
60 ::ll::TypedStorage<8, 32, ::CompassSpriteCalculator> mRecoveryCompassSpriteCalc;
61 ::ll::TypedStorage<4, 12, ::ClockSpriteCalculator> mClockSpriteCalc;
62 ::ll::TypedStorage<4, 4, float> mAttackAnim;
63 ::ll::TypedStorage<4, 4, int> mSwingTime;
64 ::ll::TypedStorage<4, 4, int> mDeathTime;
65 ::ll::TypedStorage<8, 16, ::BuiltInMobComponents> mBuiltInMobComponents;
66 ::ll::TypedStorage<4, 4, float> mMovementComponentCurrentSpeed;
67 ::ll::TypedStorage<1, 1, bool> mSwinging;
68 ::ll::TypedStorage<1, 1, bool> mSurfaceMob;
69 ::ll::TypedStorage<1, 1, bool> mNaturallySpawned;
70 ::ll::TypedStorage<1, 1, bool> mWantsToBeJockey;
71 ::ll::TypedStorage<1, 1, bool> mSpawnedXP;
72 ::ll::TypedStorage<1, 1, bool> mHasBoundOrigin;
73 ::ll::TypedStorage<1, 2, ::std::optional<bool>> mActuallyDoKnockbackOrNotReallyBadHackDoNotUse;
74 ::ll::TypedStorage<1, 1, ::MobSpawnMethod> mSpawnMethod;
75 ::ll::TypedStorage<1, 1, bool> mCreateAiOnReload;
76 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mCaravanHead;
77 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mCaravanTail;
78 ::ll::TypedStorage<4, 4, float> mOAttackAnim;
79 ::ll::TypedStorage<4, 12, ::BlockPos> mBoundOrigin;
80 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mTargetCaptainId;
91 virtual void reloadHardcodedClient(::ActorInitializationMethod method) ;
101 knockback(
::Actor*,
int,
float xd,
float zd,
float horizontalPower,
float verticalPower,
float heightCap);
104 virtual void kill() ;
110 virtual bool shouldDropDeathLoot()
const ;
113 virtual void spawnAnim();
116 virtual bool isAlive()
const ;
119 virtual bool isSleeping()
const ;
122 virtual void setSleeping(
bool val) ;
125 virtual bool isBlocking()
const ;
128 virtual void setSprinting(
bool shouldSprint);
131 virtual bool canBePulledIntoVehicle()
const ;
134 virtual ::SharedTypes::Legacy::LevelSoundEvent getDeathSound();
137 virtual float getSpeed()
const;
140 virtual void setSpeed(
float speed);
143 virtual float getYawSpeedInDegreesPerSecond()
const ;
146 virtual void normalTick() ;
149 virtual void baseTick() ;
152 virtual void hurtEffects(
::ActorDamageSource const& source,
float damage,
bool knock,
bool ignite);
155 virtual bool doFireHurt(
int amount) ;
158 virtual void aiStep();
161 virtual void pushActors();
164 virtual bool checkSpawnRules(
bool);
167 virtual bool checkSpawnObstruction()
const;
170 virtual void addPassenger(
::Actor& passenger) ;
173 virtual bool startRiding(
::Actor& vehicle,
bool forceRiding) ;
176 virtual void handleEntityEvent(::ActorEvent eventId,
int data) ;
179 virtual int getItemUseDuration()
const;
182 virtual float getItemUseStartupProgress()
const;
185 virtual float getItemUseIntervalProgress()
const;
188 virtual void swing() ;
191 virtual float getMaxHeadXRot();
194 virtual bool isImmobile()
const ;
200 virtual void setTarget(
::Actor* entity) ;
203 virtual bool attack(
::Actor&, ::SharedTypes::Legacy::ActorDamageCause
const&) ;
206 virtual bool isAlliedTo(
::Mob*);
209 virtual bool doHurtTarget(
::Actor*, ::SharedTypes::Legacy::ActorDamageCause
const&);
212 virtual ::SharedTypes::Legacy::ActorDamageCause getBlockDamageCause(
::Block const&)
const ;
215 virtual bool inCaravan()
const ;
218 virtual int getArmorValue()
const;
221 virtual void hurtArmorSlots(
::ActorDamageSource const& source,
int dmg, ::std::bitset<5>
const hurtSlots);
224 virtual void setDamagedArmor(::SharedTypes::Legacy::ArmorSlot,
::ItemStack const&);
227 virtual void sendArmorDamage(::std::bitset<5>
const);
230 virtual void sendArmor(::std::bitset<5>
const armorSlots);
233 virtual ::ArmorMaterialType getArmorMaterialTypeInSlot(::SharedTypes::Legacy::ArmorSlot)
const ;
236 virtual int getArmorTextureIndexInSlot(::SharedTypes::Legacy::ArmorSlot)
const ;
239 virtual float getArmorColorInSlot(::SharedTypes::Legacy::ArmorSlot,
int)
const ;
242 virtual ::std::vector<::ItemStack const*> getAllHand()
const;
245 virtual ::std::vector<::ItemStack const*> getAllEquipment()
const;
248 virtual int getDeathTime()
const ;
254 virtual void dropEquipmentOnDeath();
257 virtual void clearVanishEnchantedItemsOnDeath();
260 virtual void sendInventory(
bool);
263 virtual void buildDebugInfo(::std::string& out)
const ;
266 virtual float getInterpolatedBodyRot(
float a)
const ;
269 virtual float getInterpolatedHeadRot(
float a)
const ;
272 virtual float getInterpolatedBodyYaw(
float a)
const ;
275 virtual bool isSurfaceMob()
const ;
278 virtual float getDamageAfterEnchantReduction(
::ActorDamageSource const& source,
float damage)
const;
281 virtual bool createAIGoals();
287 virtual bool setItemSlot(::SharedTypes::Legacy::EquipmentSlot slot,
::ItemStack const& item);
290 virtual void setTransitioningSitting(
bool value);
296 virtual bool canChangeDimensionsUsingPortal()
const ;
299 virtual void teleportTo(
301 bool shouldStopRiding,
303 int sourceEntityType,
308 virtual float _getWalkTargetValue(
::BlockPos const&);
311 virtual bool canExistWhenDisallowMob()
const;
314 virtual bool canPowerJump()
const ;
317 virtual void setEquippedSlot(::SharedTypes::Legacy::EquipmentSlot slot,
::ItemStack const& item) ;
320 virtual void renderDebugServerState(
::Options const& options) ;
323 virtual bool canFreeze()
const ;
326 virtual void tickDeath();
329 virtual void addAdditionalSaveData(
::CompoundTag& tag)
const ;
335 virtual ::std::unique_ptr<::BodyControl> initBodyControl();
338 virtual float causeFallDamageToActor(
float distance,
float multiplier,
::ActorDamageSource source) ;
341 virtual void outOfWorld() ;
347 virtual void newServerAiStep();
350 virtual void _doInitialMove() ;
353 virtual ::AABB _getAdjustedAABBForSpawnCheck(
::AABB const& aabb,
::Vec3 const&)
const;
364 MCAPI ::BuiltInMobComponents _addBuiltInMobComponents();
366 MCAPI
void _doSoulSpeedParticleEffect();
368 MCAPI
bool _initHardCodedComponents(
bool isClientSide);
370 MCAPI
void _initialize(
::EntityContext& entityContext,
bool isClientSide);
372 MCAPI
void _logMobComponentInitializationError(
373 ::std::string
const& typeName,
374 ::std::string
const& existingName,
375 char const* descriptionJsonName
378 MCAPI
void _processSoulSpeed();
380 MCAPI
void _registerMobAttributes();
382 MCAPI ::std::unique_ptr<::ListTag> _saveArmor(
::SaveContext const& saveContext)
const;
384 MCAPI
void _verifyAttributes();
386 MCAPI
float calcMoveRelativeSpeed(::TravelType travelType);
388 MCAPI
bool checkForPostHitDamageImmunity(
float damageDifference,
::ActorDamageSource const& source);
392 MCAPI
void clearMainHandSlot();
394 MCAPI
void containerChanged(
int iSlot);
396 MCAPI
void createAI(::std::vector<::LegacyGoalDefinition> goals);
398 MCAPI
void dropBags();
400 MCAPI
void dropContainer();
402 MCAPI
void emitJumpPreventedEvent(
::BlockPos const& pos);
404 MCAPI
void frostWalk();
406 MCAPI
float getArmorCoverPercentage()
const;
408 MCAPI
int getArmorTypeHash();
410 MCAPI
int getCaravanSize()
const;
412 MCAPI
int getCurrentSwingDuration();
414 MCAPI
float getDamageAfterArmorReduction(
::ActorDamageSource const& source,
float damage)
const;
416 MCAPI
float getDamageAfterDamageSensorComponentAdjustments(
::ActorDamageSource const& source,
float damage);
418 MCAPI
float getDamageAfterResistanceEffect(
::ActorDamageSource const& source,
float damage)
const;
420 MCAPI ::SharedTypes::Legacy::ActorDamageCause getDamageCause()
const;
422 MCAPI
int getEatCounter()
const;
424 MCAPI
float getExpectedFallDamage(
float distance,
float multiplier)
const;
426 MCAPI ::Mob* getFirstCaravanHead();
428 MCAPI ::SharedTypes::Legacy::LevelSoundEvent getHurtSound(::SharedTypes::Legacy::ActorDamageCause cause);
430 MCAPI ::ItemStack
const& getItemSlot(::SharedTypes::Legacy::EquipmentSlot slot)
const;
432 MCAPI
float getJumpEffectAmplifierValue();
434 MCAPI ::JumpPreventionResult getJumpPrevention();
436 MCAPI
int getMeleeKnockbackBonus();
438 MCAPI ::TravelType getTravelType();
440 MCAPI
float getYBodyRotation()
const;
444 MCAPI
void jumpFromGround();
446 MCAPI
void knockback(
::Actor* source,
int dmg,
float xd,
float zd,
float horizontalPower,
float verticalPower);
448 MCAPI
void lookAt(
::Actor* lookAt,
float yMax,
float xMax);
450 MCAPI
void onPlayerJump(
int jumpAmount);
452 MCAPI
void removeSpeedModifier(
::mce::UUID const& attributeID);
454 MCAPI
void resetAttributes();
456 MCAPI ::std::unique_ptr<::ListTag> saveOffhand(
::SaveContext const& saveContext)
const;
458 MCAPI
void sendArmorSlot(::SharedTypes::Legacy::ArmorSlot slot);
460 MCAPI
void setEatCounter(
int value);
462 MCAPI
void setJumpTicks(
int ticks);
464 MCAPI
void setYBodyRotation(
float rotation);
466 MCAPI
bool shouldApplyWaterGravity();
468 MCAPI
void snapToYBodyRot(
float yBodyRot);
470 MCAPI
void snapToYHeadRot(
float yHeadRot);
472 MCAPI
void tickMobEffectsVisuals();
474 MCAPI
void updateEquipment();
476 MCAPI
void updateGlidingDurability();
488 MCAPI
static float const& ASCEND_BLOCK_BY_JUMPING_SPEED();
490 MCAPI
static float const& DEFAULT_GRAVITY();
492 MCAPI
static float const& FRICTION_CONSTANT();
494 MCAPI
static float const& FRICTION_CONSTANT_MODIFIED();
496 MCAPI
static float const& FRICTION_MODIFIER();
498 MCAPI
static float const& GLIDING_FALL_RESET_DELTA();
500 MCAPI
static float const& LADDER_CLIMB_SPEED();
502 MCAPI
static float const& SLOW_FALL_GRAVITY();
524 MCAPI
void $initializeComponents(::ActorInitializationMethod method,
::VariantParameterList const& params);
526 MCAPI
void $reloadHardcodedClient(::ActorInitializationMethod method);
531 $knockback(
::Actor*,
int,
float xd,
float zd,
float horizontalPower,
float verticalPower,
float heightCap);
537 MCAPI
bool $shouldDropDeathLoot()
const;
539 MCFOLD
void $spawnAnim();
541 MCAPI
bool $isAlive()
const;
543 MCAPI
bool $isSleeping()
const;
545 MCAPI
void $setSleeping(
bool val);
547 MCAPI
bool $isBlocking()
const;
549 MCAPI
void $setSprinting(
bool shouldSprint);
551 MCFOLD
bool $canBePulledIntoVehicle()
const;
553 MCAPI ::SharedTypes::Legacy::LevelSoundEvent $getDeathSound();
555 MCAPI
float $getSpeed()
const;
557 MCAPI
void $setSpeed(
float speed);
559 MCAPI
float $getYawSpeedInDegreesPerSecond()
const;
561 MCAPI
void $normalTick();
563 MCAPI
void $baseTick();
565 MCAPI
void $hurtEffects(
::ActorDamageSource const& source,
float damage,
bool knock,
bool ignite);
567 MCAPI
bool $doFireHurt(
int amount);
569 MCAPI
void $aiStep();
571 MCAPI
void $pushActors();
573 MCAPI
bool $checkSpawnRules(
bool);
575 MCAPI
bool $checkSpawnObstruction()
const;
577 MCAPI
void $addPassenger(
::Actor& passenger);
579 MCAPI
bool $startRiding(
::Actor& vehicle,
bool forceRiding);
581 MCAPI
void $handleEntityEvent(::ActorEvent eventId,
int data);
583 MCFOLD
int $getItemUseDuration()
const;
585 MCFOLD
float $getItemUseStartupProgress()
const;
587 MCFOLD
float $getItemUseIntervalProgress()
const;
591 MCAPI
float $getMaxHeadXRot();
593 MCAPI
bool $isImmobile()
const;
597 MCFOLD
void $setTarget(
::Actor* entity);
599 MCFOLD
bool $isAlliedTo(
::Mob*);
601 MCAPI
bool $inCaravan()
const;
603 MCAPI
int $getArmorValue()
const;
605 MCAPI
void $hurtArmorSlots(
::ActorDamageSource const& source,
int dmg, ::std::bitset<5>
const hurtSlots);
607 MCFOLD
void $sendArmorDamage(::std::bitset<5>
const);
609 MCAPI
void $sendArmor(::std::bitset<5>
const armorSlots);
611 MCAPI ::std::vector<::ItemStack const*> $getAllHand()
const;
613 MCAPI ::std::vector<::ItemStack const*> $getAllEquipment()
const;
615 MCAPI
int $getDeathTime()
const;
619 MCAPI
void $dropEquipmentOnDeath();
621 MCAPI
void $clearVanishEnchantedItemsOnDeath();
623 MCAPI
void $sendInventory(
bool);
625 MCAPI
void $buildDebugInfo(::std::string& out)
const;
627 MCAPI
float $getInterpolatedBodyRot(
float a)
const;
629 MCAPI
float $getInterpolatedHeadRot(
float a)
const;
631 MCAPI
float $getInterpolatedBodyYaw(
float a)
const;
633 MCAPI
bool $isSurfaceMob()
const;
635 MCAPI
float $getDamageAfterEnchantReduction(
::ActorDamageSource const& source,
float damage)
const;
637 MCAPI
bool $createAIGoals();
641 MCAPI
bool $setItemSlot(::SharedTypes::Legacy::EquipmentSlot slot,
::ItemStack const& item);
643 MCAPI
void $setTransitioningSitting(
bool value);
647 MCAPI
bool $canChangeDimensionsUsingPortal()
const;
650 $teleportTo(
::Vec3 const& pos,
bool shouldStopRiding,
int cause,
int sourceEntityType,
bool keepVelocity);
652 MCFOLD
float $_getWalkTargetValue(
::BlockPos const&);
654 MCAPI
bool $canExistWhenDisallowMob()
const;
656 MCAPI
bool $canPowerJump()
const;
658 MCAPI
void $setEquippedSlot(::SharedTypes::Legacy::EquipmentSlot slot,
::ItemStack const& item);
660 MCFOLD
void $renderDebugServerState(
::Options const& options);
662 MCAPI
bool $canFreeze()
const;
664 MCAPI
void $tickDeath();
670 MCAPI ::std::unique_ptr<::BodyControl> $initBodyControl();
672 MCAPI
float $causeFallDamageToActor(
float distance,
float multiplier,
::ActorDamageSource source);
674 MCAPI
void $outOfWorld();
678 MCFOLD
void $newServerAiStep();
680 MCAPI
void $_doInitialMove();
682 MCAPI ::AABB $_getAdjustedAABBForSpawnCheck(
::AABB const& aabb,
::Vec3 const&)
const;
688 MCAPI
static void** $vftable();