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 void damageCarriedItemOnAttack(
::Actor& target,
float);
160 virtual bool doFireHurt(
int amount) ;
163 virtual void aiStep();
166 virtual void pushActors();
169 virtual bool checkSpawnRules(
bool);
172 virtual bool checkSpawnObstruction()
const;
175 virtual void addPassenger(
::Actor& passenger) ;
178 virtual bool startRiding(
::Actor& vehicle,
bool forceRiding) ;
181 virtual void handleEntityEvent(::ActorEvent eventId,
int data) ;
184 virtual int getItemUseDuration()
const;
187 virtual float getItemUseStartupProgress()
const;
190 virtual float getItemUseIntervalProgress()
const;
193 virtual bool swing() ;
196 virtual float getMaxHeadXRot();
199 virtual bool isImmobile()
const ;
205 virtual void setTarget(
::Actor* entity) ;
208 virtual bool attack(
::Actor&, ::SharedTypes::Legacy::ActorDamageCause
const&) ;
211 virtual bool isAlliedTo(
::Mob*);
214 virtual bool doHurtTarget(
::Actor*, ::SharedTypes::Legacy::ActorDamageCause
const&);
217 virtual ::SharedTypes::Legacy::ActorDamageCause getBlockDamageCause(
::Block const&)
const ;
220 virtual bool inCaravan()
const ;
223 virtual int getArmorValue()
const;
226 virtual void hurtArmorSlots(
::ActorDamageSource const& source,
int damage, ::std::bitset<5>
const hurtSlots);
229 virtual void setDamagedArmor(::SharedTypes::Legacy::ArmorSlot,
::ItemStack const&);
232 virtual void sendArmorDamage(::std::bitset<5>
const);
235 virtual void sendArmor(::std::bitset<5>
const armorSlots);
238 virtual ::ArmorMaterialType getArmorMaterialTypeInSlot(::SharedTypes::Legacy::ArmorSlot)
const ;
241 virtual int getArmorTextureIndexInSlot(::SharedTypes::Legacy::ArmorSlot)
const ;
244 virtual float getArmorColorInSlot(::SharedTypes::Legacy::ArmorSlot,
int)
const ;
247 virtual ::std::vector<::ItemStack const*> getAllHandEquipment()
const;
250 virtual ::std::vector<::ItemStack const*> getAllEquipment()
const;
253 virtual int getDeathTime()
const ;
259 virtual void dropEquipmentOnDeath();
262 virtual void clearVanishEnchantedItemsOnDeath();
265 virtual void sendInventory(
bool);
268 virtual void buildDebugInfo(::std::string& out)
const ;
271 virtual float getInterpolatedBodyRot(
float a)
const ;
274 virtual float getInterpolatedHeadRot(
float a)
const ;
277 virtual float getInterpolatedBodyYaw(
float a)
const ;
280 virtual bool isSurfaceMob()
const ;
283 virtual float getDamageAfterEnchantReduction(
::ActorDamageSource const& source,
float damage)
const;
286 virtual bool createAIGoals();
292 virtual bool setItemSlot(::SharedTypes::Legacy::EquipmentSlot slot,
::ItemStack const& item);
295 virtual void setTransitioningSitting(
bool value);
301 virtual bool canChangeDimensionsUsingPortal()
const ;
304 virtual void teleportTo(
306 bool shouldStopRiding,
308 int sourceEntityType,
313 virtual float _getWalkTargetValue(
::BlockPos const&);
316 virtual bool canExistWhenDisallowMob()
const;
319 virtual bool canPowerJump()
const ;
322 virtual void setEquippedSlot(::SharedTypes::Legacy::EquipmentSlot slot,
::ItemStack const& item) ;
328 virtual bool canFreeze()
const ;
331 virtual void tickDeath();
334 virtual void addAdditionalSaveData(
::CompoundTag& tag)
const ;
340 virtual ::std::unique_ptr<::BodyControl> initBodyControl();
343 virtual float causeFallDamageToActor(
float distance,
float multiplier,
::ActorDamageSource source) ;
346 virtual void outOfWorld() ;
352 virtual void newServerAiStep();
355 virtual void _doInitialMove() ;
358 virtual ::AABB _getAdjustedAABBForSpawnCheck(
::AABB const& aabb,
::Vec3 const&)
const;
369 MCAPI ::BuiltInMobComponents _addBuiltInMobComponents();
371 MCAPI
void _doSprintParticleEffect();
373 MCAPI
bool _initHardCodedComponents(
bool isClientSide);
375 MCAPI
void _initialize(
::EntityContext& entityContext,
bool isClientSide);
377 MCAPI
void _processSoulSpeed();
379 MCAPI
void _registerMobAttributes();
381 MCAPI ::std::unique_ptr<::ListTag> _saveArmor(
::SaveContext const& saveContext)
const;
383 MCAPI
void _updateSprintingState();
385 MCAPI
void _verifyAttributes();
388 addSpeedModifier(
::mce::UUID const& attributeID, ::std::string
const& attributeName,
float speedModifier);
390 MCAPI
float calcMoveRelativeSpeed(::TravelType travelType);
392 MCAPI
float calculateAttackDamage(
::Actor const& target)
const;
394 MCAPI
float calculateAttackDamage(
::Actor const& target,
float baseAttackDamage)
const;
396 MCAPI
bool checkForPostHitDamageImmunity(
float damageDifference,
::ActorDamageSource const& source);
400 MCAPI
void clearMainHandSlot();
402 MCAPI
void containerChanged(
int iSlot);
404 MCAPI
void createAI(::std::vector<::LegacyGoalDefinition> goals);
406 MCAPI
void dropBags();
408 MCAPI
void dropContainer();
410 MCAPI
void emitJumpPreventedEvent(
::BlockPos const& pos);
412 MCAPI
void frostWalk();
414 MCAPI
float getArmorCoverPercentage()
const;
416 MCAPI
int getArmorTypeHash();
418 MCAPI
int getCaravanSize()
const;
420 MCAPI
int getCarriedItemKnockbackBonus()
const;
422 MCAPI
float getDamageAfterDamageSensorComponentAdjustments(
::ActorDamageSource const& source,
float damage);
424 MCAPI
float getDamageAfterResistanceEffect(
::ActorDamageSource const& source,
float damage)
const;
426 MCAPI ::SharedTypes::Legacy::ActorDamageCause getDamageCause()
const;
428 MCAPI
int getEatCounter()
const;
430 MCAPI
float getExpectedFallDamage(
float distance,
float multiplier)
const;
432 MCAPI ::Mob* getFirstCaravanHead();
434 MCAPI ::SharedTypes::Legacy::LevelSoundEvent getHurtSound(::SharedTypes::Legacy::ActorDamageCause cause);
436 MCAPI ::ItemStack
const& getItemSlot(::SharedTypes::Legacy::EquipmentSlot slot)
const;
438 MCAPI
float getJumpEffectAmplifierValue();
440 MCAPI ::JumpPreventionResult getJumpPrevention();
442 MCAPI
int getModifiedSwingDuration()
const;
444 MCAPI ::SharedTypes::Legacy::LevelSoundEvent getSpawnSound()
const;
446 MCAPI
int getToughnessValue()
const;
448 MCAPI ::TravelType getTravelType();
450 MCAPI
float getYBodyRotation()
const;
454 MCAPI
void jumpFromGround();
456 MCAPI
void knockback(
::Actor* source,
int damage,
float xd,
float zd,
float horizontalPower,
float verticalPower);
458 MCAPI
void lookAt(
::Actor* lookAt,
float yMax,
float xMax);
460 MCAPI
void removeSpeedModifier(
::mce::UUID const& attributeID);
462 MCAPI
void resetAttributes();
464 MCAPI ::std::unique_ptr<::ListTag> saveOffhand(
::SaveContext const& saveContext)
const;
466 MCAPI
void sendArmorSlot(::SharedTypes::Legacy::ArmorSlot slot);
468 MCAPI
void setEatCounter(
int value);
470 MCAPI
void setJumpTicks(
int ticks);
472 MCAPI
void setYBodyRotation(
float rotation);
474 MCAPI
bool shouldApplyWaterGravity();
476 MCAPI
void snapToYBodyRot(
float yBodyRot);
478 MCAPI
void snapToYHeadRot(
float yHeadRot);
480 MCAPI
void tickMobEffectsVisuals();
482 MCAPI
void updateEquipment();
484 MCAPI
void updateGlidingDurability();
496 MCAPI
static float const& ASCEND_BLOCK_BY_JUMPING_SPEED();
498 MCAPI
static float const& DEFAULT_GRAVITY();
500 MCAPI
static float const& FRICTION_CONSTANT();
502 MCAPI
static float const& FRICTION_CONSTANT_MODIFIED();
504 MCAPI
static float const& FRICTION_MODIFIER();
506 MCAPI
static float const& GLIDING_FALL_RESET_DELTA();
508 MCAPI
static float const& LADDER_CLIMB_SPEED();
510 MCAPI
static int const& REMOVE_PASSENGERS_DELAY();
512 MCAPI
static float const& SLOW_FALL_GRAVITY();
514 MCAPI
static int const& SPAWN_XP_DELAY();
536 MCAPI
void $initializeComponents(::ActorInitializationMethod method,
::VariantParameterList const& params);
538 MCAPI
void $reloadHardcodedClient(::ActorInitializationMethod method);
543 $knockback(
::Actor*,
int,
float xd,
float zd,
float horizontalPower,
float verticalPower,
float heightCap);
549 MCAPI
bool $shouldDropDeathLoot()
const;
551 MCFOLD
void $spawnAnim();
553 MCAPI
bool $isAlive()
const;
555 MCAPI
bool $isSleeping()
const;
557 MCAPI
void $setSleeping(
bool val);
559 MCAPI
bool $isBlocking()
const;
561 MCAPI
void $setSprinting(
bool shouldSprint);
563 MCFOLD
bool $canBePulledIntoVehicle()
const;
565 MCAPI ::SharedTypes::Legacy::LevelSoundEvent $getDeathSound();
567 MCAPI
float $getSpeed()
const;
569 MCAPI
void $setSpeed(
float speed);
571 MCAPI
float $getYawSpeedInDegreesPerSecond()
const;
573 MCAPI
void $normalTick();
575 MCAPI
void $baseTick();
577 MCAPI
void $hurtEffects(
::ActorDamageSource const& source,
float damage,
bool knock,
bool ignite);
579 MCAPI
void $damageCarriedItemOnAttack(
::Actor& target,
float);
581 MCAPI
bool $doFireHurt(
int amount);
583 MCAPI
void $aiStep();
585 MCAPI
void $pushActors();
587 MCAPI
bool $checkSpawnRules(
bool);
589 MCAPI
bool $checkSpawnObstruction()
const;
591 MCAPI
void $addPassenger(
::Actor& passenger);
593 MCAPI
bool $startRiding(
::Actor& vehicle,
bool forceRiding);
595 MCAPI
void $handleEntityEvent(::ActorEvent eventId,
int data);
597 MCFOLD
int $getItemUseDuration()
const;
599 MCFOLD
float $getItemUseStartupProgress()
const;
601 MCFOLD
float $getItemUseIntervalProgress()
const;
605 MCAPI
float $getMaxHeadXRot();
607 MCAPI
bool $isImmobile()
const;
611 MCAPI
void $setTarget(
::Actor* entity);
613 MCFOLD
bool $isAlliedTo(
::Mob*);
615 MCAPI
bool $inCaravan()
const;
617 MCAPI
int $getArmorValue()
const;
619 MCAPI
void $hurtArmorSlots(
::ActorDamageSource const& source,
int damage, ::std::bitset<5>
const hurtSlots);
621 MCFOLD
void $sendArmorDamage(::std::bitset<5>
const);
623 MCAPI
void $sendArmor(::std::bitset<5>
const armorSlots);
625 MCAPI ::std::vector<::ItemStack const*> $getAllHandEquipment()
const;
627 MCAPI ::std::vector<::ItemStack const*> $getAllEquipment()
const;
629 MCAPI
int $getDeathTime()
const;
633 MCAPI
void $dropEquipmentOnDeath();
635 MCAPI
void $clearVanishEnchantedItemsOnDeath();
637 MCAPI
void $sendInventory(
bool);
639 MCAPI
void $buildDebugInfo(::std::string& out)
const;
641 MCAPI
float $getInterpolatedBodyRot(
float a)
const;
643 MCAPI
float $getInterpolatedHeadRot(
float a)
const;
645 MCAPI
float $getInterpolatedBodyYaw(
float a)
const;
647 MCAPI
bool $isSurfaceMob()
const;
649 MCAPI
float $getDamageAfterEnchantReduction(
::ActorDamageSource const& source,
float damage)
const;
651 MCAPI
bool $createAIGoals();
655 MCAPI
bool $setItemSlot(::SharedTypes::Legacy::EquipmentSlot slot,
::ItemStack const& item);
657 MCAPI
void $setTransitioningSitting(
bool value);
661 MCAPI
bool $canChangeDimensionsUsingPortal()
const;
664 $teleportTo(
::Vec3 const& pos,
bool shouldStopRiding,
int cause,
int sourceEntityType,
bool keepVelocity);
666 MCFOLD
float $_getWalkTargetValue(
::BlockPos const&);
668 MCAPI
bool $canExistWhenDisallowMob()
const;
670 MCAPI
bool $canPowerJump()
const;
672 MCAPI
void $setEquippedSlot(::SharedTypes::Legacy::EquipmentSlot slot,
::ItemStack const& item);
676 MCAPI
bool $canFreeze()
const;
678 MCAPI
void $tickDeath();
684 MCAPI ::std::unique_ptr<::BodyControl> $initBodyControl();
686 MCAPI
float $causeFallDamageToActor(
float distance,
float multiplier,
::ActorDamageSource source);
688 MCAPI
void $outOfWorld();
692 MCFOLD
void $newServerAiStep();
694 MCAPI
void $_doInitialMove();
696 MCAPI ::AABB $_getAdjustedAABBForSpawnCheck(
::AABB const& aabb,
::Vec3 const&)
const;
702 MCAPI
static void** $vftable();