Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
Mob.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/shared_types/legacy/EquipmentSlot.h"
7#include "mc/deps/shared_types/legacy/LevelSoundEvent.h"
8#include "mc/deps/shared_types/legacy/actor/ActorDamageCause.h"
9#include "mc/deps/shared_types/legacy/actor/ArmorSlot.h"
10#include "mc/legacy/ActorUniqueID.h"
11#include "mc/world/actor/Actor.h"
12#include "mc/world/actor/ActorEvent.h"
13#include "mc/world/actor/ActorInitializationMethod.h"
14#include "mc/world/actor/ActorSwingSource.h"
15#include "mc/world/actor/ArmorMaterialType.h"
16#include "mc/world/actor/BuiltInMobComponents.h"
17#include "mc/world/actor/MobSpawnMethod.h"
18#include "mc/world/actor/TravelType.h"
19#include "mc/world/item/ClockSpriteCalculator.h"
20#include "mc/world/item/CompassSpriteCalculator.h"
21#include "mc/world/item/HandSlot.h"
22#include "mc/world/level/BlockPos.h"
23
24// auto generated forward declare list
25// clang-format off
26class AABB;
29class ActorHurtResult;
31class Block;
32class BodyControl;
33class CompoundTag;
34class DataLoadHelper;
35class EntityContext;
36class HashedString;
37class ILevel;
38class ItemStack;
39class ListTag;
40class Player;
41class SaveContext;
43class Vec3;
46struct DimensionType;
48struct HurtParameters;
54namespace mce { class UUID; }
55class IOptionsReader;
56// clang-format on
57
58class Mob : public ::Actor {
59public:
60 LLAPI void refreshInventory();
61
62 LLAPI static ::Mob* tryGetFromEntity(::EntityContext& entity, bool includeRemoved);
63
64 LLNDAPI ItemStack const& getItemSlot(::SharedTypes::Legacy::EquipmentSlot slot) const;
65
66public:
67 // member variables
68 // NOLINTBEGIN
69 ::ll::TypedStorage<4, 4, float> mHurtDir;
70 ::ll::TypedStorage<4, 4, float> mOTilt;
71 ::ll::TypedStorage<4, 4, float> mTilt;
72 ::ll::TypedStorage<8, 32, ::CompassSpriteCalculator> mCompassSpriteCalc;
73 ::ll::TypedStorage<8, 32, ::CompassSpriteCalculator> mRecoveryCompassSpriteCalc;
74 ::ll::TypedStorage<4, 12, ::ClockSpriteCalculator> mClockSpriteCalc;
75 ::ll::TypedStorage<4, 4, float> mAttackAnim;
76 ::ll::TypedStorage<4, 4, int> mSwingTime;
77 ::ll::TypedStorage<8, 32, ::BuiltInMobComponents> mBuiltInMobComponents;
78 ::ll::TypedStorage<4, 4, float> mMovementComponentCurrentSpeed;
79 ::ll::TypedStorage<1, 2, ::std::optional<::HandSlot>> mSwingingHand;
80 ::ll::TypedStorage<1, 1, bool> mSurfaceMob;
81 ::ll::TypedStorage<1, 1, bool> mNaturallySpawned;
82 ::ll::TypedStorage<1, 1, bool> mWantsToBeJockey;
83 ::ll::TypedStorage<1, 1, bool> mHasBoundOrigin;
84 ::ll::TypedStorage<1, 1, ::MobSpawnMethod> mSpawnMethod;
85 ::ll::TypedStorage<1, 1, bool> mCreateAiOnReload;
86 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mCaravanHead;
87 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mCaravanTail;
88 ::ll::TypedStorage<4, 4, float> mOAttackAnim;
89 ::ll::TypedStorage<4, 12, ::BlockPos> mBoundOrigin;
90 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mTargetCaptainId;
91 // NOLINTEND
92
93public:
94 // prevent constructor by default
95 Mob();
96
97public:
98 // virtual functions
99 // NOLINTBEGIN
100 virtual void
101 initializeComponents(::ActorInitializationMethod method, ::VariantParameterList const& params) /*override*/;
102
103 virtual void reloadHardcodedClient(::ActorInitializationMethod method) /*override*/;
104
105 virtual void reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params) /*override*/;
106
107 virtual ~Mob() /*override*/;
108
109 virtual void knockback(::Actor* source, float damage, float xd, float zd, ::KnockbackParameters const& parameters);
110
111 virtual void kill() /*override*/;
112
113 virtual void die(::ActorDamageSource const& source) /*override*/;
114
115 virtual bool shouldDropDeathLoot() const /*override*/;
116
117 virtual void spawnAnim();
118
119 virtual bool isAlive() const /*override*/;
120
121 virtual bool isSleeping() const /*override*/;
122
123 virtual void setSleeping(bool val) /*override*/;
124
125 virtual bool isBlocking() const /*override*/;
126
127 virtual void setSprinting(bool shouldSprint);
128
129 virtual bool canBePulledIntoVehicle() const /*override*/;
130
131 virtual float getSpeed() const;
132
133 virtual void setSpeed(float speed);
134
135 virtual float getYawSpeedInDegreesPerSecond() const /*override*/;
136
137 virtual void normalTick() /*override*/;
138
139 virtual void baseTick() /*override*/;
140
141 virtual void hurtEffects(::ActorDamageSource const& source, float damage, ::HurtEffectsSettings const& settings);
142
143 virtual void damageCarriedItemOnAttack(::Actor& target, float damageDealtToTarget);
144
145 virtual ::ActorHurtResult doFireHurt(int amount) /*override*/;
146
147 virtual void aiStep();
148
149 virtual void pushActors();
150
151 virtual bool checkSpawnRules(bool fromSpawner);
152
153 virtual bool checkSpawnObstruction() const;
154
155 virtual void addPassenger(::Actor& newPassenger) /*override*/;
156
157 virtual bool startRiding(::Actor& vehicle, bool forceRiding) /*override*/;
158
159 virtual void handleEntityEvent(::ActorEvent id, int data) /*override*/;
160
161 virtual int getItemUseDuration() const;
162
163 virtual float getItemUseStartupProgress() const;
164
165 virtual float getItemUseIntervalProgress() const;
166
167 virtual bool swing(::ActorSwingSource swingSource, ::HandSlot handSlot) /*override*/;
168
169 virtual float getMaxHeadXRot();
170
171 virtual bool isImmobile() const /*override*/;
172
173 virtual void blockedByShield(::ActorDamageSource const& source, ::Actor& blocker) /*override*/;
174
175 virtual void setTarget(::Actor* target) /*override*/;
176
177 virtual ::ActorHurtResult
178 attack(::Actor& target, ::SharedTypes::Legacy::ActorDamageCause const& cause) /*override*/;
179
180 virtual bool isAlliedTo(::Mob* other);
181
182 virtual ::ActorHurtResult doHurtTarget(::Actor* target, ::SharedTypes::Legacy::ActorDamageCause const& cause);
183
184 virtual ::SharedTypes::Legacy::ActorDamageCause getBlockDamageCause(::Block const& block) const /*override*/;
185
186 virtual bool inCaravan() const /*override*/;
187
188 virtual int getArmorValue() const;
189
190 virtual void hurtArmorSlots(::ActorDamageSource const& source, int damage, ::std::bitset<5> const hurtSlots);
191
192 virtual void setDamagedArmor(::SharedTypes::Legacy::ArmorSlot slot, ::ItemStack const& item);
193
194 virtual void sendArmorDamage(::std::bitset<5> const damagedSlots);
195
196 virtual void sendArmor(::std::bitset<5> const armorSlots);
197
198 virtual ::ArmorMaterialType getArmorMaterialTypeInSlot(::SharedTypes::Legacy::ArmorSlot slot) const /*override*/;
199
200 virtual int getArmorTextureIndexInSlot(::SharedTypes::Legacy::ArmorSlot slot) const /*override*/;
201
202 virtual float getArmorColorInSlot(::SharedTypes::Legacy::ArmorSlot slot, int channelRGBA) const /*override*/;
203
204 virtual ::std::vector<::ItemStack const*> getAllHandEquipment() const;
205
206 virtual ::std::vector<::ItemStack const*> getAllEquipment() const;
207
208 virtual int getDeathTime() const /*override*/;
209
210 virtual void dropEquipmentOnDeath(::ActorDamageSource const& source);
211
212 virtual void dropEquipmentOnDeath();
213
214 virtual void clearVanishEnchantedItemsOnDeath();
215
216 virtual void sendInventory(bool shouldSelectSlot);
217
218 virtual void buildDebugInfo(::std::string& out) const /*override*/;
219
220 virtual float getInterpolatedBodyRot(float a) const /*override*/;
221
222 virtual float getInterpolatedHeadRot(float a) const /*override*/;
223
224 virtual float getInterpolatedBodyYaw(float a) const /*override*/;
225
226 virtual bool isSurfaceMob() const /*override*/;
227
228 virtual float getDamageAfterEnchantReduction(::ActorDamageSource const& source, float damage) const;
229
230 virtual bool createAIGoals();
231
232 virtual void onBorn(::Actor&, ::Actor&);
233
234 virtual bool setItemSlot(::SharedTypes::Legacy::EquipmentSlot slot, ::ItemStack const& item);
235
236 virtual void setTransitioningSitting(bool value);
237
238 virtual bool hasComponent(::HashedString const& name) const /*override*/;
239
240 virtual bool canChangeDimensionsUsingPortal() const /*override*/;
241
242 virtual void teleportTo(
243 ::Vec3 const& pos,
244 bool shouldStopRiding,
245 int cause,
246 int sourceEntityType,
247 bool keepVelocity
248 ) /*override*/;
249
250 virtual float _getWalkTargetValue(::BlockPos const& pos);
251
252 virtual bool canExistWhenDisallowMob() const;
253
254 virtual bool canPowerJump() const /*override*/;
255
256 virtual void setEquippedSlot(::SharedTypes::Legacy::EquipmentSlot slot, ::ItemStack const& item) /*override*/;
257
258 virtual void renderDebugServerState(::IOptionsReader const& options) /*override*/;
259
260 virtual void addAdditionalSaveData(::CompoundTag& entityTag) const /*override*/;
261
262 virtual void readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
263
264 virtual ::std::unique_ptr<::BodyControl> initBodyControl();
265
266 virtual float causeFallDamageToActor(float distance, float multiplier, ::ActorDamageSource source) /*override*/;
267
268 virtual void outOfWorld() /*override*/;
269
270 virtual ::ActorHurtResult
271 _hurt(::ActorDamageSource const& source, float damage, ::HurtParameters const& hurtParameters) /*override*/;
272
273 virtual void newServerAiStep();
274
275 virtual void _doInitialMove() /*override*/;
276
277 virtual ::AABB _getAdjustedAABBForSpawnCheck(::AABB const& aabb, ::Vec3 const& mobPos) const;
278 // NOLINTEND
279
280public:
281 // member functions
282 // NOLINTBEGIN
283 MCNAPI Mob(::ILevel& level, ::EntityContext& entityContext);
284
285 MCNAPI
287 ::ActorDefinitionIdentifier const& definitionName,
288 ::EntityContext& entityContext);
289
290 MCNAPI ::BuiltInMobComponents _addBuiltInMobComponents();
291
293
295
296 MCNAPI bool _initHardCodedComponents(bool isClientSide);
297
298 MCNAPI void _initialize(::EntityContext& entityContext, bool isClientSide);
299
300 MCNAPI bool _isDoingMaceSmashAttack() const;
301
302 MCNAPI void _processSoulSpeed();
303
305
306 MCAPI void
307 addSpeedModifier(::mce::UUID const& attributeID, ::std::string const& attributeName, float speedModifier);
308
309 MCNAPI float calcMoveRelativeSpeed(::TravelType travelType);
310
311 MCAPI float calculateAttackDamage(::Actor const& target, ::CalculateAttackDamageSettings const& settings) const;
312
313 MCAPI ::std::optional<float> checkTotemDeathProtection(::ActorDamageSource const& killingDamage);
314
315 MCAPI void clearMainHandSlot();
316
317 MCNAPI void containerChanged(int iSlot);
318
319 MCNAPI void createAI(::std::vector<::LegacyGoalDefinition> goals);
320
321 MCNAPI void dropContainer();
322
323 MCNAPI void emitJumpPreventedEvent(::BlockPos const& pos);
324
325#ifdef LL_PLAT_C
326 MCNAPI ::std::vector<int> getAllArmorID() const;
327#endif
328
329 MCNAPI int getArmorTypeHash();
330
332
333 MCAPI float getDamageAfterArmorReduction(::ActorDamageSource const& source, float damage) const;
334
336
338
339 MCNAPI float getJumpMultiplier();
340
341 MCNAPI ::JumpPreventionResult getJumpPrevention();
342
343 MCNAPI int getModifiedSwingDuration(::HandSlot handSlot) const;
344
345 MCNAPI int getNoActionTime() const;
346
347#ifdef LL_PLAT_C
348 MCNAPI float getPassengerLockedBodyRot() const;
349
350 MCNAPI float getPassengerRotLimit() const;
351#endif
352
353 MCNAPI ::SharedTypes::Legacy::LevelSoundEvent getSpawnSound() const;
354
355#ifdef LL_PLAT_C
356 MCNAPI float getSwimSpeedMultiplier() const;
357#endif
358
359 MCNAPI int getToughnessValue() const;
360
361 MCNAPI ::TravelType getTravelType();
362
363 MCAPI float getYBodyRotation() const;
364
365#ifdef LL_PLAT_C
366 MCNAPI ::InterpolationPair getYBodyRotationsNewOld() const;
367#endif
368
369 MCAPI void hurtArmor(::ActorDamageSource const& source, int damage);
370
371 MCNAPI bool isAbleToMove() const;
372
373 MCNAPI bool isTransitioningSitting() const;
374
375 MCNAPI void joinCaravan(::Mob* head);
376
377 MCAPI void jumpFromGround();
378
379 MCNAPI void leaveCaravan();
380
381 MCAPI void lookAt(::Actor* lookAt, float yMax, float xMax);
382
383 MCNAPI void onPlayerDimensionChanged(::Player* player, ::DimensionType fromDimension, ::DimensionType toDimension);
384
385 MCAPI void resetAttributes();
386
387 MCNAPI void resetNoActionTime();
388
389 MCNAPI ::std::unique_ptr<::ListTag> saveOffhand(::SaveContext const& saveContext) const;
390
391 MCNAPI void setJumpTicks(int ticks);
392
393 MCAPI void setSpeedModifier(float speed);
394
395 MCAPI void setYBodyRotation(float rotation);
396
397 MCAPI void setYBodyRotations(float rotation, float oldRotation);
398
400
401 MCNAPI void snapToYBodyRot(float yBodyRot);
402
404
405 MCAPI void updateEquipment();
406
408 // NOLINTEND
409
410public:
411 // static functions
412 // NOLINTBEGIN
413 MCNAPI static void _registerMobAttributes(::BaseAttributeMap& attributes);
414
415#ifdef LL_PLAT_C
416 MCNAPI static void setSprinting(::BaseAttributeMap& attributes, ::SynchedActorDataWriter data, bool shouldSprint);
417#endif
418 // NOLINTEND
419
420public:
421 // constructor thunks
422 // NOLINTBEGIN
423 MCNAPI void* $ctor(::ILevel& level, ::EntityContext& entityContext);
424
425 MCNAPI void* $ctor(
426 ::ActorDefinitionGroup* definitions,
427 ::ActorDefinitionIdentifier const& definitionName,
428 ::EntityContext& entityContext
429 );
430 // NOLINTEND
431
432public:
433 // destructor thunk
434 // NOLINTBEGIN
435 MCNAPI void $dtor();
436 // NOLINTEND
437
438public:
439 // virtual function thunks
440 // NOLINTBEGIN
441 MCAPI void $initializeComponents(::ActorInitializationMethod method, ::VariantParameterList const& params);
442
443 MCNAPI void $reloadHardcodedClient(::ActorInitializationMethod method);
444
445 MCNAPI void $reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params);
446
447 MCAPI void $knockback(::Actor* source, float damage, float xd, float zd, ::KnockbackParameters const& parameters);
448
449 MCNAPI void $kill();
450
451 MCAPI void $die(::ActorDamageSource const& source);
452
453 MCNAPI bool $shouldDropDeathLoot() const;
454
455 MCNAPI void $spawnAnim();
456
457 MCNAPI bool $isAlive() const;
458
459 MCNAPI bool $isSleeping() const;
460
461 MCNAPI void $setSleeping(bool val);
462
463 MCNAPI bool $isBlocking() const;
464
465 MCAPI void $setSprinting(bool shouldSprint);
466
467 MCNAPI bool $canBePulledIntoVehicle() const;
468
469 MCNAPI float $getSpeed() const;
470
471 MCNAPI void $setSpeed(float speed);
472
473 MCNAPI float $getYawSpeedInDegreesPerSecond() const;
474
475 MCAPI void $normalTick();
476
477 MCAPI void $baseTick();
478
479 MCNAPI void $hurtEffects(::ActorDamageSource const& source, float damage, ::HurtEffectsSettings const& settings);
480
481 MCNAPI void $damageCarriedItemOnAttack(::Actor& target, float damageDealtToTarget);
482
483 MCNAPI ::ActorHurtResult $doFireHurt(int amount);
484
485 MCAPI void $aiStep();
486
487 MCAPI void $pushActors();
488
489 MCAPI bool $checkSpawnRules(bool fromSpawner);
490
491 MCAPI bool $checkSpawnObstruction() const;
492
493 MCAPI void $addPassenger(::Actor& newPassenger);
494
495 MCAPI bool $startRiding(::Actor& vehicle, bool forceRiding);
496
497 MCNAPI void $handleEntityEvent(::ActorEvent id, int data);
498
499 MCNAPI int $getItemUseDuration() const;
500
501 MCNAPI float $getItemUseStartupProgress() const;
502
503 MCNAPI float $getItemUseIntervalProgress() const;
504
505 MCNAPI bool $swing(::ActorSwingSource swingSource, ::HandSlot handSlot);
506
507 MCNAPI float $getMaxHeadXRot();
508
509 MCNAPI bool $isImmobile() const;
510
511 MCNAPI void $blockedByShield(::ActorDamageSource const& source, ::Actor& blocker);
512
513 MCAPI void $setTarget(::Actor* target);
514
515 MCAPI ::ActorHurtResult $attack(::Actor& target, ::SharedTypes::Legacy::ActorDamageCause const& cause);
516
517 MCNAPI bool $isAlliedTo(::Mob* other);
518
519 MCAPI ::ActorHurtResult $doHurtTarget(::Actor* target, ::SharedTypes::Legacy::ActorDamageCause const& cause);
520
521 MCNAPI ::SharedTypes::Legacy::ActorDamageCause $getBlockDamageCause(::Block const& block) const;
522
523 MCNAPI bool $inCaravan() const;
524
525 MCNAPI int $getArmorValue() const;
526
527 MCNAPI void $hurtArmorSlots(::ActorDamageSource const& source, int damage, ::std::bitset<5> const hurtSlots);
528
529 MCNAPI void $setDamagedArmor(::SharedTypes::Legacy::ArmorSlot slot, ::ItemStack const& item);
530
531 MCNAPI void $sendArmorDamage(::std::bitset<5> const damagedSlots);
532
533 MCNAPI void $sendArmor(::std::bitset<5> const armorSlots);
534
535 MCNAPI ::ArmorMaterialType $getArmorMaterialTypeInSlot(::SharedTypes::Legacy::ArmorSlot slot) const;
536
537 MCNAPI int $getArmorTextureIndexInSlot(::SharedTypes::Legacy::ArmorSlot slot) const;
538
539 MCNAPI float $getArmorColorInSlot(::SharedTypes::Legacy::ArmorSlot slot, int channelRGBA) const;
540
541 MCNAPI ::std::vector<::ItemStack const*> $getAllHandEquipment() const;
542
543 MCNAPI ::std::vector<::ItemStack const*> $getAllEquipment() const;
544
545 MCNAPI int $getDeathTime() const;
546
547 MCAPI void $dropEquipmentOnDeath(::ActorDamageSource const& source);
548
549 MCAPI void $dropEquipmentOnDeath();
550
552
553 MCNAPI void $sendInventory(bool shouldSelectSlot);
554
555 MCNAPI void $buildDebugInfo(::std::string& out) const;
556
557 MCNAPI float $getInterpolatedBodyRot(float a) const;
558
559 MCNAPI float $getInterpolatedHeadRot(float a) const;
560
561 MCNAPI float $getInterpolatedBodyYaw(float a) const;
562
563 MCNAPI bool $isSurfaceMob() const;
564
565 MCAPI float $getDamageAfterEnchantReduction(::ActorDamageSource const& source, float damage) const;
566
567 MCNAPI bool $createAIGoals();
568
569 MCFOLD void $onBorn(::Actor&, ::Actor&);
570
571 MCAPI bool $setItemSlot(::SharedTypes::Legacy::EquipmentSlot slot, ::ItemStack const& item);
572
573 MCNAPI void $setTransitioningSitting(bool value);
574
575 MCNAPI bool $hasComponent(::HashedString const& name) const;
576
577 MCAPI bool $canChangeDimensionsUsingPortal() const;
578
579 MCAPI void
580 $teleportTo(::Vec3 const& pos, bool shouldStopRiding, int cause, int sourceEntityType, bool keepVelocity);
581
582 MCNAPI float $_getWalkTargetValue(::BlockPos const& pos);
583
584 MCNAPI bool $canExistWhenDisallowMob() const;
585
586 MCNAPI bool $canPowerJump() const;
587
588 MCAPI void $setEquippedSlot(::SharedTypes::Legacy::EquipmentSlot slot, ::ItemStack const& item);
589
590 MCNAPI void $renderDebugServerState(::IOptionsReader const& options);
591
592 MCNAPI void $addAdditionalSaveData(::CompoundTag& entityTag) const;
593
594 MCNAPI void $readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
595
596 MCNAPI ::std::unique_ptr<::BodyControl> $initBodyControl();
597
598 MCAPI float $causeFallDamageToActor(float distance, float multiplier, ::ActorDamageSource source);
599
600 MCNAPI void $outOfWorld();
601
602 MCAPI ::ActorHurtResult
603 $_hurt(::ActorDamageSource const& source, float damage, ::HurtParameters const& hurtParameters);
604
605 MCNAPI void $newServerAiStep();
606
607 MCNAPI void $_doInitialMove();
608
609 MCNAPI ::AABB $_getAdjustedAABBForSpawnCheck(::AABB const& aabb, ::Vec3 const& mobPos) const;
610
611
612 // NOLINTEND
613
614public:
615 // vftables
616 // NOLINTBEGIN
617 MCNAPI static void** $vftable();
618 // NOLINTEND
619};
Definition AABB.h:18
Definition ActorDamageSource.h:18
Definition ActorDefinitionGroup.h:26
Definition ActorHurtResult.h:5
MCAPI bool $canChangeDimensionsUsingPortal() const
Definition BaseAttributeMap.h:21
Definition BlockPos.h:14
Definition Block.h:42
Definition BodyControl.h:13
Definition CompoundTag.h:18
Definition DataLoadHelper.h:20
Definition EntityContext.h:15
Definition HashedString.h:5
Definition ILevel.h:223
Definition IOptionsReader.h:5
Definition ItemStack.h:26
Definition ListTag.h:19
MCAPI void $setTransitioningSitting(bool value)
MCAPI::ActorHurtResult $doFireHurt(int amount)
MCAPI int getCarriedItemKnockbackBonus() const
MCAPI void $damageCarriedItemOnAttack(::Actor &target, float damageDealtToTarget)
MCAPI bool $createAIGoals()
MCAPI float $getArmorColorInSlot(::SharedTypes::Legacy::ArmorSlot slot, int channelRGBA) const
MCAPI float $getItemUseStartupProgress() const
MCAPI void updateGlidingDurability()
MCAPI bool $isSleeping() const
MCAPI float $getInterpolatedBodyRot(float a) const
MCAPI::AABB $_getAdjustedAABBForSpawnCheck(::AABB const &aabb, ::Vec3 const &mobPos) const
MCAPI bool $canExistWhenDisallowMob() const
MCAPI bool $canBePulledIntoVehicle() const
MCAPI ::std::unique_ptr<::BodyControl > $initBodyControl()
MCAPI void * $ctor(::ILevel &level, ::EntityContext &entityContext)
MCAPI void _updateSprintingState()
MCAPI bool $isImmobile() const
MCAPI void $reloadHardcodedClient(::ActorInitializationMethod method)
MCAPI void _doSprintParticleEffect()
MCAPI void $sendArmorDamage(::std::bitset< 5 > const damagedSlots)
MCAPI Mob(::ActorDefinitionGroup *definitions, ::ActorDefinitionIdentifier const &definitionName, ::EntityContext &entityContext)
MCAPI void * $ctor(::ActorDefinitionGroup *definitions, ::ActorDefinitionIdentifier const &definitionName, ::EntityContext &entityContext)
MCAPI void $outOfWorld()
MCAPI int getToughnessValue() const
MCAPI float $getYawSpeedInDegreesPerSecond() const
MCAPI void snapToYBodyRot(float yBodyRot)
MCAPI int getNoActionTime() const
MCAPI void $sendArmor(::std::bitset< 5 > const armorSlots)
MCAPI void onPlayerDimensionChanged(::Player *player, ::DimensionType fromDimension, ::DimensionType toDimension)
MCAPI void $kill()
MCAPI int getArmorTypeHash()
MCAPI void createAI(::std::vector<::LegacyGoalDefinition > goals)
MCAPI void $readAdditionalSaveData(::CompoundTag const &tag, ::DataLoadHelper &dataLoadHelper)
MCAPI void $buildDebugInfo(::std::string &out) const
MCAPI bool $shouldDropDeathLoot() const
MCAPI bool $canPowerJump() const
MCAPI void containerChanged(int iSlot)
MCAPI::TravelType getTravelType()
MCAPI void $setDamagedArmor(::SharedTypes::Legacy::ArmorSlot slot, ::ItemStack const &item)
MCAPI void $setSleeping(bool val)
MCAPI bool isAbleToMove() const
MCAPI bool $swing(::ActorSwingSource swingSource, ::HandSlot handSlot)
MCAPI bool isTransitioningSitting() const
MCAPI bool $isBlocking() const
MCAPI::ArmorMaterialType $getArmorMaterialTypeInSlot(::SharedTypes::Legacy::ArmorSlot slot) const
MCAPI void $handleEntityEvent(::ActorEvent id, int data)
MCAPI float $getItemUseIntervalProgress() const
MCAPI void $sendInventory(bool shouldSelectSlot)
MCAPI void $hurtArmorSlots(::ActorDamageSource const &source, int damage, ::std::bitset< 5 > const hurtSlots)
MCAPI Mob(::ILevel &level, ::EntityContext &entityContext)
MCAPI void $reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const &params)
MCAPI float $getMaxHeadXRot()
MCAPI bool _isDoingMaceSmashAttack() const
MCAPI float $getSpeed() const
MCAPI int $getItemUseDuration() const
MCAPI ::std::vector<::ItemStack const * > $getAllHandEquipment() const
MCAPI float getJumpMultiplier()
MCAPI bool $isAlliedTo(::Mob *other)
MCAPI void $addAdditionalSaveData(::CompoundTag &entityTag) const
MCAPI void setJumpTicks(int ticks)
MCAPI::SharedTypes::Legacy::LevelSoundEvent getSpawnSound() const
MCAPI void _initialize(::EntityContext &entityContext, bool isClientSide)
MCAPI bool shouldApplyWaterGravity()
MCAPI int getModifiedSwingDuration(::HandSlot handSlot) const
MCAPI void joinCaravan(::Mob *head)
MCAPI bool $isSurfaceMob() const
MCAPI float getJumpEffectAmplifierValue()
MCAPI bool $hasComponent(::HashedString const &name) const
MCAPI ::std::vector<::ItemStack const * > $getAllEquipment() const
MCAPI void resetNoActionTime()
MCAPI bool _initHardCodedComponents(bool isClientSide)
MCAPI void _doSoulSpeedParticleEffect()
MCAPI bool $inCaravan() const
MCAPI void emitJumpPreventedEvent(::BlockPos const &pos)
MCAPI::BuiltInMobComponents _addBuiltInMobComponents()
MCAPI void dropContainer()
MCAPI float $_getWalkTargetValue(::BlockPos const &pos)
MCAPI ::std::unique_ptr<::ListTag > saveOffhand(::SaveContext const &saveContext) const
MCAPI void $renderDebugServerState(::IOptionsReader const &options)
static MCAPI void _registerMobAttributes(::BaseAttributeMap &attributes)
MCAPI::SharedTypes::Legacy::ActorDamageCause $getBlockDamageCause(::Block const &block) const
MCAPI void _processSoulSpeed()
MCAPI::JumpPreventionResult getJumpPrevention()
MCAPI void $spawnAnim()
MCAPI void tickMobEffectsVisuals()
MCAPI int $getArmorTextureIndexInSlot(::SharedTypes::Legacy::ArmorSlot slot) const
MCAPI int $getArmorValue() const
static MCAPI void ** $vftable()
MCAPI float $getInterpolatedBodyYaw(float a) const
MCAPI float $getInterpolatedHeadRot(float a) const
MCAPI void $_doInitialMove()
MCAPI void $dtor()
MCAPI void $clearVanishEnchantedItemsOnDeath()
MCAPI int $getDeathTime() const
MCAPI bool $isAlive() const
MCAPI float getDamageAfterDamageSensorComponentAdjustments(::ActorDamageSource const &source, float damage)
MCAPI void leaveCaravan()
MCAPI void $blockedByShield(::ActorDamageSource const &source, ::Actor &blocker)
MCAPI void $newServerAiStep()
MCAPI void $setSpeed(float speed)
MCAPI void $hurtEffects(::ActorDamageSource const &source, float damage, ::HurtEffectsSettings const &settings)
MCAPI float calcMoveRelativeSpeed(::TravelType travelType)
Definition Player.h:131
Definition SaveContext.h:5
Definition SynchedActorDataWriter.h:12
Definition Vec3.h:10
Definition UUID.h:8
Definition ActorDefinitionIdentifier.h:15
Definition CalculateAttackDamageSettings.h:5
Definition DimensionType.h:5
Definition HurtEffectsSettings.h:8
Definition HurtParameters.h:8
Definition InterpolationPair.h:5
Definition JumpPreventionResult.h:8
Definition KnockbackParameters.h:5
Definition LegacyGoalDefinition.h:32
Definition VariantParameterList.h:17