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& newPassenger) ;
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* target) ;
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 _processSoulSpeed();
376 MCAPI
void _registerMobAttributes();
378 MCAPI ::std::unique_ptr<::ListTag> _saveArmor(
::SaveContext const& saveContext)
const;
380 MCAPI
void _verifyAttributes();
382 MCAPI
float calcMoveRelativeSpeed(::TravelType travelType);
384 MCAPI
bool checkForPostHitDamageImmunity(
float damageDifference,
::ActorDamageSource const& source);
388 MCAPI
void clearMainHandSlot();
390 MCAPI
void containerChanged(
int iSlot);
392 MCAPI
void createAI(::std::vector<::LegacyGoalDefinition> goals);
394 MCAPI
void dropBags();
396 MCAPI
void dropContainer();
398 MCAPI
void emitJumpPreventedEvent(
::BlockPos const& pos);
400 MCAPI
void frostWalk();
402 MCAPI
float getArmorCoverPercentage()
const;
404 MCAPI
int getArmorTypeHash();
406 MCAPI
float getAttackAnim(
float a);
408 MCAPI
int getCaravanSize()
const;
410 MCAPI
int getCurrentSwingDuration();
412 MCAPI
float getDamageAfterDamageSensorComponentAdjustments(
::ActorDamageSource const& source,
float damage);
414 MCAPI
float getDamageAfterResistanceEffect(
::ActorDamageSource const& source,
float damage)
const;
416 MCAPI ::SharedTypes::Legacy::ActorDamageCause getDamageCause()
const;
418 MCAPI
int getEatCounter()
const;
420 MCAPI
float getExpectedFallDamage(
float distance,
float multiplier)
const;
422 MCAPI ::Mob* getFirstCaravanHead();
424 MCAPI ::SharedTypes::Legacy::LevelSoundEvent getHurtSound(::SharedTypes::Legacy::ActorDamageCause cause);
426 MCAPI ::ItemStack
const& getItemSlot(::SharedTypes::Legacy::EquipmentSlot slot)
const;
428 MCAPI
float getJumpEffectAmplifierValue();
430 MCAPI ::JumpPreventionResult getJumpPrevention();
432 MCAPI
int getMeleeKnockbackBonus();
434 MCAPI
int getToughnessValue()
const;
436 MCAPI ::TravelType getTravelType();
438 MCAPI
float getYBodyRotation()
const;
442 MCAPI
bool isSprinting()
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 removeSpeedModifier(
::mce::UUID const& attributeID);
452 MCAPI
void resetAttributes();
454 MCAPI ::std::unique_ptr<::ListTag> saveOffhand(
::SaveContext const& saveContext)
const;
456 MCAPI
void sendArmorSlot(::SharedTypes::Legacy::ArmorSlot slot);
458 MCAPI
void setEatCounter(
int value);
460 MCAPI
void setJumpTicks(
int ticks);
462 MCAPI
void setYBodyRotation(
float rotation);
464 MCAPI
void setYBodyRotations(
float rotation,
float oldRotation);
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& newPassenger);
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* target);
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;