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<8, 24, ::BuiltInMobComponents> mBuiltInMobComponents;
65 ::ll::TypedStorage<4, 4, float> mMovementComponentCurrentSpeed;
66 ::ll::TypedStorage<1, 1, bool> mSwinging;
67 ::ll::TypedStorage<1, 1, bool> mSurfaceMob;
68 ::ll::TypedStorage<1, 1, bool> mNaturallySpawned;
69 ::ll::TypedStorage<1, 1, bool> mWantsToBeJockey;
70 ::ll::TypedStorage<1, 1, bool> mHasBoundOrigin;
71 ::ll::TypedStorage<1, 2, ::std::optional<bool>> mActuallyDoKnockbackOrNotReallyBadHackDoNotUse;
72 ::ll::TypedStorage<1, 1, ::MobSpawnMethod> mSpawnMethod;
73 ::ll::TypedStorage<1, 1, bool> mCreateAiOnReload;
74 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mCaravanHead;
75 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mCaravanTail;
76 ::ll::TypedStorage<4, 4, float> mOAttackAnim;
77 ::ll::TypedStorage<4, 12, ::BlockPos> mBoundOrigin;
78 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mTargetCaptainId;
93 virtual void reloadHardcodedClient(::ActorInitializationMethod method) ;
103 knockback(
::Actor*,
int,
float xd,
float zd,
float horizontalPower,
float verticalPower,
float heightCap);
106 virtual void kill() ;
112 virtual bool shouldDropDeathLoot()
const ;
115 virtual void spawnAnim();
118 virtual bool isAlive()
const ;
121 virtual bool isSleeping()
const ;
124 virtual void setSleeping(
bool val) ;
127 virtual bool isBlocking()
const ;
130 virtual void setSprinting(
bool shouldSprint);
133 virtual bool canBePulledIntoVehicle()
const ;
136 virtual ::SharedTypes::Legacy::LevelSoundEvent getDeathSound();
139 virtual float getSpeed()
const;
142 virtual void setSpeed(
float speed);
145 virtual float getYawSpeedInDegreesPerSecond()
const ;
148 virtual void normalTick() ;
151 virtual void baseTick() ;
154 virtual void hurtEffects(
::ActorDamageSource const& source,
float damage,
bool knock,
bool ignite);
157 virtual bool doFireHurt(
int amount) ;
160 virtual void aiStep();
163 virtual void pushActors();
166 virtual bool checkSpawnRules(
bool);
169 virtual bool checkSpawnObstruction()
const;
172 virtual void addPassenger(
::Actor& passenger) ;
175 virtual bool startRiding(
::Actor& vehicle,
bool forceRiding) ;
178 virtual void handleEntityEvent(::ActorEvent eventId,
int data) ;
181 virtual int getItemUseDuration()
const;
184 virtual float getItemUseStartupProgress()
const;
187 virtual float getItemUseIntervalProgress()
const;
190 virtual void swing() ;
193 virtual float getMaxHeadXRot();
196 virtual bool isImmobile()
const ;
202 virtual void setTarget(
::Actor* entity) ;
205 virtual bool attack(
::Actor&, ::SharedTypes::Legacy::ActorDamageCause
const&) ;
208 virtual bool isAlliedTo(
::Mob*);
211 virtual bool doHurtTarget(
::Actor*, ::SharedTypes::Legacy::ActorDamageCause
const&);
214 virtual ::SharedTypes::Legacy::ActorDamageCause getBlockDamageCause(
::Block const&)
const ;
217 virtual bool inCaravan()
const ;
220 virtual int getArmorValue()
const;
223 virtual void hurtArmorSlots(
::ActorDamageSource const& source,
int dmg, ::std::bitset<5>
const hurtSlots);
226 virtual void setDamagedArmor(::SharedTypes::Legacy::ArmorSlot,
::ItemStack const&);
229 virtual void sendArmorDamage(::std::bitset<5>
const);
232 virtual void sendArmor(::std::bitset<5>
const armorSlots);
235 virtual ::ArmorMaterialType getArmorMaterialTypeInSlot(::SharedTypes::Legacy::ArmorSlot)
const ;
238 virtual int getArmorTextureIndexInSlot(::SharedTypes::Legacy::ArmorSlot)
const ;
241 virtual float getArmorColorInSlot(::SharedTypes::Legacy::ArmorSlot,
int)
const ;
244 virtual ::std::vector<::ItemStack const*> getAllHand()
const;
247 virtual ::std::vector<::ItemStack const*> getAllEquipment()
const;
250 virtual int getDeathTime()
const ;
256 virtual void dropEquipmentOnDeath();
259 virtual void clearVanishEnchantedItemsOnDeath();
262 virtual void sendInventory(
bool);
265 virtual void buildDebugInfo(::std::string& out)
const ;
268 virtual float getInterpolatedBodyRot(
float a)
const ;
271 virtual float getInterpolatedHeadRot(
float a)
const ;
274 virtual float getInterpolatedBodyYaw(
float a)
const ;
277 virtual bool isSurfaceMob()
const ;
280 virtual float getDamageAfterEnchantReduction(
::ActorDamageSource const& source,
float damage)
const;
283 virtual bool createAIGoals();
289 virtual bool setItemSlot(::SharedTypes::Legacy::EquipmentSlot slot,
::ItemStack const& item);
292 virtual void setTransitioningSitting(
bool value);
298 virtual bool canChangeDimensionsUsingPortal()
const ;
301 virtual void teleportTo(
303 bool shouldStopRiding,
305 int sourceEntityType,
310 virtual float _getWalkTargetValue(
::BlockPos const&);
313 virtual bool canExistWhenDisallowMob()
const;
316 virtual bool canPowerJump()
const ;
319 virtual void setEquippedSlot(::SharedTypes::Legacy::EquipmentSlot slot,
::ItemStack const& item) ;
322 virtual void renderDebugServerState(
::Options const& options) ;
325 virtual bool canFreeze()
const ;
328 virtual void tickDeath();
331 virtual void addAdditionalSaveData(
::CompoundTag& tag)
const ;
337 virtual ::std::unique_ptr<::BodyControl> initBodyControl();
340 virtual float causeFallDamageToActor(
float distance,
float multiplier,
::ActorDamageSource source) ;
343 virtual void outOfWorld() ;
349 virtual void newServerAiStep();
352 virtual void _doInitialMove() ;
355 virtual ::AABB _getAdjustedAABBForSpawnCheck(
::AABB const& aabb,
::Vec3 const&)
const;
366 MCAPI ::BuiltInMobComponents _addBuiltInMobComponents();
368 MCAPI
void _doSoulSpeedParticleEffect();
370 MCAPI
bool _initHardCodedComponents(
bool isClientSide);
372 MCAPI
void _initialize(
::EntityContext& entityContext,
bool isClientSide);
374 MCAPI
void _logMobComponentInitializationError(
375 ::std::string
const& typeName,
376 ::std::string
const& existingName,
377 char const* descriptionJsonName
380 MCAPI
void _processSoulSpeed();
382 MCAPI
void _registerMobAttributes();
384 MCAPI ::std::unique_ptr<::ListTag> _saveArmor(
::SaveContext const& saveContext)
const;
386 MCAPI
void _verifyAttributes();
388 MCAPI
float calcMoveRelativeSpeed(::TravelType travelType);
390 MCAPI
bool checkForPostHitDamageImmunity(
float damageDifference,
::ActorDamageSource const& source);
394 MCAPI
void clearMainHandSlot();
396 MCAPI
void containerChanged(
int iSlot);
398 MCAPI
void createAI(::std::vector<::LegacyGoalDefinition> goals);
400 MCAPI
void dropBags();
402 MCAPI
void dropContainer();
404 MCAPI
void emitJumpPreventedEvent(
::BlockPos const& pos);
406 MCAPI
void frostWalk();
408 MCAPI
float getArmorCoverPercentage()
const;
410 MCAPI
int getArmorTypeHash();
412 MCAPI
int getCaravanSize()
const;
414 MCAPI
int getCurrentSwingDuration();
416 MCAPI
float getDamageAfterArmorReduction(
::ActorDamageSource const& source,
float damage)
const;
418 MCAPI
float getDamageAfterDamageSensorComponentAdjustments(
::ActorDamageSource const& source,
float damage);
420 MCAPI
float getDamageAfterResistanceEffect(
::ActorDamageSource const& source,
float damage)
const;
422 MCAPI ::SharedTypes::Legacy::ActorDamageCause getDamageCause()
const;
424 MCAPI
int getEatCounter()
const;
426 MCAPI
float getExpectedFallDamage(
float distance,
float multiplier)
const;
428 MCAPI ::Mob* getFirstCaravanHead();
430 MCAPI ::SharedTypes::Legacy::LevelSoundEvent getHurtSound(::SharedTypes::Legacy::ActorDamageCause cause);
432 MCAPI ::ItemStack
const& getItemSlot(::SharedTypes::Legacy::EquipmentSlot slot)
const;
434 MCAPI
float getJumpEffectAmplifierValue();
436 MCAPI ::JumpPreventionResult getJumpPrevention();
438 MCAPI
int getMeleeKnockbackBonus();
440 MCAPI ::TravelType getTravelType();
442 MCAPI
float getYBodyRotation()
const;
446 MCAPI
bool isSprinting()
const;
448 MCAPI
void jumpFromGround();
450 MCAPI
void knockback(
::Actor* source,
int dmg,
float xd,
float zd,
float horizontalPower,
float verticalPower);
452 MCAPI
void lookAt(
::Actor* lookAt,
float yMax,
float xMax);
454 MCAPI
void removeSpeedModifier(
::mce::UUID const& attributeID);
456 MCAPI
void resetAttributes();
458 MCAPI ::std::unique_ptr<::ListTag> saveOffhand(
::SaveContext const& saveContext)
const;
460 MCAPI
void sendArmorSlot(::SharedTypes::Legacy::ArmorSlot slot);
462 MCAPI
void setEatCounter(
int value);
464 MCAPI
void setJumpTicks(
int ticks);
466 MCAPI
void setYBodyRotation(
float rotation);
468 MCAPI
void setYBodyRotations(
float rotation,
float oldRotation);
470 MCAPI
bool shouldApplyWaterGravity();
472 MCAPI
void snapToYBodyRot(
float yBodyRot);
474 MCAPI
void snapToYHeadRot(
float yHeadRot);
476 MCAPI
void tickMobEffectsVisuals();
478 MCAPI
void updateEquipment();
480 MCAPI
void updateGlidingDurability();
492 MCAPI
static float const& ASCEND_BLOCK_BY_JUMPING_SPEED();
494 MCAPI
static float const& DEFAULT_GRAVITY();
496 MCAPI
static float const& FRICTION_CONSTANT();
498 MCAPI
static float const& FRICTION_CONSTANT_MODIFIED();
500 MCAPI
static float const& FRICTION_MODIFIER();
502 MCAPI
static float const& GLIDING_FALL_RESET_DELTA();
504 MCAPI
static float const& LADDER_CLIMB_SPEED();
506 MCAPI
static float const& SLOW_FALL_GRAVITY();
528 MCAPI
void $initializeComponents(::ActorInitializationMethod method,
::VariantParameterList const& params);
530 MCAPI
void $reloadHardcodedClient(::ActorInitializationMethod method);
535 $knockback(
::Actor*,
int,
float xd,
float zd,
float horizontalPower,
float verticalPower,
float heightCap);
541 MCAPI
bool $shouldDropDeathLoot()
const;
543 MCFOLD
void $spawnAnim();
545 MCAPI
bool $isAlive()
const;
547 MCAPI
bool $isSleeping()
const;
549 MCAPI
void $setSleeping(
bool val);
551 MCAPI
bool $isBlocking()
const;
553 MCAPI
void $setSprinting(
bool shouldSprint);
555 MCFOLD
bool $canBePulledIntoVehicle()
const;
557 MCAPI ::SharedTypes::Legacy::LevelSoundEvent $getDeathSound();
559 MCAPI
float $getSpeed()
const;
561 MCAPI
void $setSpeed(
float speed);
563 MCAPI
float $getYawSpeedInDegreesPerSecond()
const;
565 MCAPI
void $normalTick();
567 MCAPI
void $baseTick();
569 MCAPI
void $hurtEffects(
::ActorDamageSource const& source,
float damage,
bool knock,
bool ignite);
571 MCAPI
bool $doFireHurt(
int amount);
573 MCAPI
void $aiStep();
575 MCAPI
void $pushActors();
577 MCAPI
bool $checkSpawnRules(
bool);
579 MCAPI
bool $checkSpawnObstruction()
const;
581 MCAPI
void $addPassenger(
::Actor& passenger);
583 MCAPI
bool $startRiding(
::Actor& vehicle,
bool forceRiding);
585 MCAPI
void $handleEntityEvent(::ActorEvent eventId,
int data);
587 MCFOLD
int $getItemUseDuration()
const;
589 MCFOLD
float $getItemUseStartupProgress()
const;
591 MCFOLD
float $getItemUseIntervalProgress()
const;
595 MCAPI
float $getMaxHeadXRot();
597 MCAPI
bool $isImmobile()
const;
601 MCFOLD
void $setTarget(
::Actor* entity);
603 MCFOLD
bool $isAlliedTo(
::Mob*);
605 MCAPI
bool $inCaravan()
const;
607 MCAPI
int $getArmorValue()
const;
609 MCAPI
void $hurtArmorSlots(
::ActorDamageSource const& source,
int dmg, ::std::bitset<5>
const hurtSlots);
611 MCFOLD
void $sendArmorDamage(::std::bitset<5>
const);
613 MCAPI
void $sendArmor(::std::bitset<5>
const armorSlots);
615 MCAPI ::std::vector<::ItemStack const*> $getAllHand()
const;
617 MCAPI ::std::vector<::ItemStack const*> $getAllEquipment()
const;
619 MCAPI
int $getDeathTime()
const;
623 MCAPI
void $dropEquipmentOnDeath();
625 MCAPI
void $clearVanishEnchantedItemsOnDeath();
627 MCAPI
void $sendInventory(
bool);
629 MCAPI
void $buildDebugInfo(::std::string& out)
const;
631 MCAPI
float $getInterpolatedBodyRot(
float a)
const;
633 MCAPI
float $getInterpolatedHeadRot(
float a)
const;
635 MCAPI
float $getInterpolatedBodyYaw(
float a)
const;
637 MCAPI
bool $isSurfaceMob()
const;
639 MCAPI
float $getDamageAfterEnchantReduction(
::ActorDamageSource const& source,
float damage)
const;
641 MCAPI
bool $createAIGoals();
645 MCAPI
bool $setItemSlot(::SharedTypes::Legacy::EquipmentSlot slot,
::ItemStack const& item);
647 MCAPI
void $setTransitioningSitting(
bool value);
651 MCAPI
bool $canChangeDimensionsUsingPortal()
const;
654 $teleportTo(
::Vec3 const& pos,
bool shouldStopRiding,
int cause,
int sourceEntityType,
bool keepVelocity);
656 MCFOLD
float $_getWalkTargetValue(
::BlockPos const&);
658 MCAPI
bool $canExistWhenDisallowMob()
const;
660 MCAPI
bool $canPowerJump()
const;
662 MCAPI
void $setEquippedSlot(::SharedTypes::Legacy::EquipmentSlot slot,
::ItemStack const& item);
664 MCFOLD
void $renderDebugServerState(
::Options const& options);
666 MCAPI
bool $canFreeze()
const;
668 MCAPI
void $tickDeath();
674 MCAPI ::std::unique_ptr<::BodyControl> $initBodyControl();
676 MCAPI
float $causeFallDamageToActor(
float distance,
float multiplier,
::ActorDamageSource source);
678 MCAPI
void $outOfWorld();
682 MCFOLD
void $newServerAiStep();
684 MCAPI
void $_doInitialMove();
686 MCAPI ::AABB $_getAdjustedAABBForSpawnCheck(
::AABB const& aabb,
::Vec3 const&)
const;