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/level/BlockPos.h"
22
23// auto generated forward declare list
24// clang-format off
25class AABB;
28class ActorHurtResult;
30class Block;
31class BodyControl;
32class CompoundTag;
33class DataLoadHelper;
34class EntityContext;
35class HashedString;
36class ILevel;
37class ItemStack;
38class ListTag;
39class Player;
40class SaveContext;
42class Vec3;
45struct Description;
46struct DimensionType;
53namespace mce { class UUID; }
54class IOptionsReader;
55// clang-format on
56
57class Mob : public ::Actor {
58public:
59 LLAPI void refreshInventory();
60
61 LLAPI static ::Mob* tryGetFromEntity(::EntityContext& entity, bool includeRemoved);
62
63public:
64 // member variables
65 // NOLINTBEGIN
66 ::ll::TypedStorage<4, 4, float> mHurtDir;
67 ::ll::TypedStorage<4, 4, float> mOTilt;
68 ::ll::TypedStorage<4, 4, float> mTilt;
69 ::ll::TypedStorage<8, 32, ::CompassSpriteCalculator> mCompassSpriteCalc;
70 ::ll::TypedStorage<8, 32, ::CompassSpriteCalculator> mRecoveryCompassSpriteCalc;
71 ::ll::TypedStorage<4, 12, ::ClockSpriteCalculator> mClockSpriteCalc;
72 ::ll::TypedStorage<4, 4, float> mAttackAnim;
73 ::ll::TypedStorage<4, 4, int> mSwingTime;
74 ::ll::TypedStorage<8, 24, ::BuiltInMobComponents> mBuiltInMobComponents;
75 ::ll::TypedStorage<4, 4, float> mMovementComponentCurrentSpeed;
76 ::ll::TypedStorage<1, 1, bool> mSwinging;
77 ::ll::TypedStorage<1, 1, bool> mSurfaceMob;
78 ::ll::TypedStorage<1, 1, bool> mNaturallySpawned;
79 ::ll::TypedStorage<1, 1, bool> mWantsToBeJockey;
80 ::ll::TypedStorage<1, 1, bool> mHasBoundOrigin;
81 ::ll::TypedStorage<1, 2, ::std::optional<bool>> mActuallyDoKnockbackOrNotReallyBadHackDoNotUse;
82 ::ll::TypedStorage<1, 1, ::MobSpawnMethod> mSpawnMethod;
83 ::ll::TypedStorage<1, 1, bool> mCreateAiOnReload;
84 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mCaravanHead;
85 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mCaravanTail;
86 ::ll::TypedStorage<4, 4, float> mOAttackAnim;
87 ::ll::TypedStorage<4, 12, ::BlockPos> mBoundOrigin;
88 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mTargetCaptainId;
89 // NOLINTEND
90
91public:
92 // prevent constructor by default
93 Mob();
94
95public:
96 // virtual functions
97 // NOLINTBEGIN
98 virtual void
99 initializeComponents(::ActorInitializationMethod method, ::VariantParameterList const& params) /*override*/;
100
101 virtual void reloadHardcodedClient(::ActorInitializationMethod method) /*override*/;
102
103 virtual void reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params) /*override*/;
104
105 virtual ~Mob() /*override*/;
106
107 virtual void knockback(::Actor* source, int damage, float xd, float zd, ::KnockbackParameters const& parameters);
108
109 virtual void kill() /*override*/;
110
111 virtual void die(::ActorDamageSource const& source) /*override*/;
112
113 virtual bool shouldDropDeathLoot() const /*override*/;
114
115 virtual void spawnAnim();
116
117 virtual bool isAlive() const /*override*/;
118
119 virtual bool isSleeping() const /*override*/;
120
121 virtual void setSleeping(bool val) /*override*/;
122
123 virtual bool isBlocking() const /*override*/;
124
125 virtual void setSprinting(bool shouldSprint);
126
127 virtual bool canBePulledIntoVehicle() const /*override*/;
128
129 virtual float getSpeed() const;
130
131 virtual void setSpeed(float speed);
132
133 virtual float getYawSpeedInDegreesPerSecond() const /*override*/;
134
135 virtual void normalTick() /*override*/;
136
137 virtual void baseTick() /*override*/;
138
139 virtual void hurtEffects(::ActorDamageSource const& source, float damage, ::HurtEffectsSettings const& settings);
140
141 virtual void damageCarriedItemOnAttack(::Actor& target, float damageDealtToTarget);
142
143 virtual ::ActorHurtResult doFireHurt(int amount) /*override*/;
144
145 virtual void aiStep();
146
147 virtual void pushActors();
148
149 virtual bool checkSpawnRules(bool fromSpawner);
150
151 virtual bool checkSpawnObstruction() const;
152
153 virtual void addPassenger(::Actor& newPassenger) /*override*/;
154
155 virtual bool startRiding(::Actor& vehicle, bool forceRiding) /*override*/;
156
157 virtual void handleEntityEvent(::ActorEvent id, int data) /*override*/;
158
159 virtual int getItemUseDuration() const;
160
161 virtual float getItemUseStartupProgress() const;
162
163 virtual float getItemUseIntervalProgress() const;
164
165 virtual bool swing(::ActorSwingSource swingSource) /*override*/;
166
167 virtual float getMaxHeadXRot();
168
169 virtual bool isImmobile() const /*override*/;
170
171 virtual void blockedByShield(::ActorDamageSource const& source, ::Actor& blocker) /*override*/;
172
173 virtual void setTarget(::Actor* target) /*override*/;
174
175 virtual ::ActorHurtResult
176 attack(::Actor& target, ::SharedTypes::Legacy::ActorDamageCause const& cause) /*override*/;
177
178 virtual bool isAlliedTo(::Mob* other);
179
180 virtual ::ActorHurtResult doHurtTarget(::Actor* target, ::SharedTypes::Legacy::ActorDamageCause const& cause);
181
182 virtual ::SharedTypes::Legacy::ActorDamageCause getBlockDamageCause(::Block const& block) const /*override*/;
183
184 virtual bool inCaravan() const /*override*/;
185
186 virtual int getArmorValue() const;
187
188 virtual void hurtArmorSlots(::ActorDamageSource const& source, int damage, ::std::bitset<5> const hurtSlots);
189
190 virtual void setDamagedArmor(::SharedTypes::Legacy::ArmorSlot slot, ::ItemStack const& item);
191
192 virtual void sendArmorDamage(::std::bitset<5> const damagedSlots);
193
194 virtual void sendArmor(::std::bitset<5> const armorSlots);
195
196 virtual ::ArmorMaterialType getArmorMaterialTypeInSlot(::SharedTypes::Legacy::ArmorSlot slot) const /*override*/;
197
198 virtual int getArmorTextureIndexInSlot(::SharedTypes::Legacy::ArmorSlot slot) const /*override*/;
199
200 virtual float getArmorColorInSlot(::SharedTypes::Legacy::ArmorSlot slot, int channelRGBA) const /*override*/;
201
202 virtual ::std::vector<::ItemStack const*> getAllHandEquipment() const;
203
204 virtual ::std::vector<::ItemStack const*> getAllEquipment() const;
205
206 virtual int getDeathTime() const /*override*/;
207
208 virtual void dropEquipmentOnDeath(::ActorDamageSource const& source);
209
210 virtual void dropEquipmentOnDeath();
211
212 virtual void clearVanishEnchantedItemsOnDeath();
213
214 virtual void sendInventory(bool shouldSelectSlot);
215
216 virtual void buildDebugInfo(::std::string& out) const /*override*/;
217
218 virtual float getInterpolatedBodyRot(float a) const /*override*/;
219
220 virtual float getInterpolatedHeadRot(float a) const /*override*/;
221
222 virtual float getInterpolatedBodyYaw(float a) const /*override*/;
223
224 virtual bool isSurfaceMob() const /*override*/;
225
226 virtual float getDamageAfterEnchantReduction(::ActorDamageSource const& source, float damage) const;
227
228 virtual bool createAIGoals();
229
230 virtual void onBorn(::Actor&, ::Actor&);
231
232 virtual bool setItemSlot(::SharedTypes::Legacy::EquipmentSlot slot, ::ItemStack const& item);
233
234 virtual void setTransitioningSitting(bool value);
235
236 virtual bool hasComponent(::HashedString const& name) const /*override*/;
237
238 virtual bool canChangeDimensionsUsingPortal() const /*override*/;
239
240 virtual void teleportTo(
241 ::Vec3 const& pos,
242 bool shouldStopRiding,
243 int cause,
244 int sourceEntityType,
245 bool keepVelocity
246 ) /*override*/;
247
248 virtual float _getWalkTargetValue(::BlockPos const& pos);
249
250 virtual bool canExistWhenDisallowMob() const;
251
252 virtual bool canPowerJump() const /*override*/;
253
254 virtual void setEquippedSlot(::SharedTypes::Legacy::EquipmentSlot slot, ::ItemStack const& item) /*override*/;
255
256 virtual void renderDebugServerState(::IOptionsReader const& options) /*override*/;
257
258 virtual bool canFreeze() const /*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, bool knock, bool ignite) /*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 MCAPI Mob(::ILevel& level, ::EntityContext& entityContext);
284
285 MCAPI
286 Mob(::ActorDefinitionGroup* definitions,
287 ::ActorDefinitionIdentifier const& definitionName,
288 ::EntityContext& entityContext);
289
290 MCAPI ::BuiltInMobComponents _addBuiltInMobComponents();
291
292 MCAPI void _doSoulSpeedParticleEffect();
293
294 MCAPI void _doSprintParticleEffect();
295
296 MCAPI bool _initHardCodedComponents(bool isClientSide);
297
298 MCAPI void _initialize(::EntityContext& entityContext, bool isClientSide);
299
300 MCAPI bool _isDoingMaceSmashAttack() const;
301
302 MCAPI bool _isFloorDamaging(::BlockPos const& pos);
303
304 MCAPI void _loadArmor(::ListTag const* listTag);
305
306 MCAPI void _logMobComponentInitializationError(
307 ::std::string const& typeName,
308 ::std::string const& existingName,
309 char const* descriptionJsonName
310 );
311
312 MCAPI void _processSoulSpeed();
313
314 MCAPI void _registerMobAttributes();
315
316 MCAPI ::std::unique_ptr<::ListTag> _saveArmor(::SaveContext const& saveContext) const;
317
318 MCAPI void _updateSprintingState();
319
320 MCAPI void _verifyAttributes();
321
322 MCAPI void
323 addSpeedModifier(::mce::UUID const& attributeID, ::std::string const& attributeName, float speedModifier);
324
325 MCFOLD void ate();
326
327 MCAPI float calcMoveRelativeSpeed(::TravelType travelType);
328
329 MCAPI float calculateAttackDamage(::Actor const& target, ::CalculateAttackDamageSettings const& settings) const;
330
331 MCAPI bool checkForPostHitDamageImmunity(float damageDifference, ::ActorDamageSource const& source);
332
333 MCAPI ::std::optional<float> checkTotemDeathProtection(::ActorDamageSource const& killingDamage);
334
335 MCAPI void clearMainHandSlot();
336
337 MCAPI void containerChanged(int iSlot);
338
339 MCAPI void createAI(::std::vector<::LegacyGoalDefinition> goals);
340
341 MCAPI void dropBags();
342
343 MCAPI void dropContainer();
344
345 MCAPI void emitJumpPreventedEvent(::BlockPos const& pos);
346
347 MCAPI void frostWalk();
348
349#ifdef LL_PLAT_C
350 MCAPI ::std::vector<int> getAllArmorID() const;
351#endif
352
353 MCAPI float getArmorCoverPercentage() const;
354
355 MCAPI int getArmorTypeHash();
356
357#ifdef LL_PLAT_C
358 MCAPI float getAttackAnim(float a);
359#endif
360
361 MCAPI int getBaseSwingDuration() const;
362
363 MCAPI ::BlockPos getBoundOrigin() const;
364
365 MCAPI ::ActorUniqueID getCaravanHead() const;
366
367 MCAPI float getDamageAfterArmorReduction(::ActorDamageSource const& source, float damage) const;
368
369 MCAPI float getDamageAfterDamageSensorComponentAdjustments(::ActorDamageSource const& source, float damage);
370
371 MCAPI float getDamageAfterPostHitDamageImmunityReduction(::ActorDamageSource const& source, float damage) const;
372
373 MCAPI float getDamageAfterResistanceEffect(::ActorDamageSource const& source, float damage) const;
374
375 MCAPI ::SharedTypes::Legacy::ActorDamageCause getDamageCause() const;
376
377 MCAPI int getEatCounter() const;
378
379 MCAPI float getExpectedFallDamage(float distance, float multiplier) const;
380
381 MCAPI int getGlidingTicks() const;
382
383 MCAPI ::SharedTypes::Legacy::LevelSoundEvent getHurtSound(::SharedTypes::Legacy::ActorDamageCause cause) const;
384
385#ifdef LL_PLAT_C
386 MCAPI int getItemIconAnimationFrame(::ItemStack const& item);
387#endif
388
389 MCAPI ::ItemStack const& getItemSlot(::SharedTypes::Legacy::EquipmentSlot slot) const;
390
391 MCAPI float getJumpEffectAmplifierValue();
392
393 MCAPI float getJumpMultiplier();
394
395 MCAPI ::JumpPreventionResult getJumpPrevention();
396
397 MCAPI int getModifiedSwingDuration() const;
398
399 MCAPI float getMovementComponentCurrentSpeed() const;
400
401 MCAPI int getNoActionTime() const;
402
403#ifdef LL_PLAT_C
404 MCAPI float getPassengerLockedBodyRot() const;
405
406 MCAPI float getPassengerRotLimit() const;
407#endif
408
409 MCAPI ::SharedTypes::Legacy::LevelSoundEvent getSpawnSound() const;
410
411#ifdef LL_PLAT_C
412 MCAPI float getSwimSpeedMultiplier() const;
413#endif
414
415 MCAPI ::ActorUniqueID getTargetCaptain() const;
416
417 MCAPI int getToughnessValue() const;
418
419 MCAPI ::TravelType getTravelType();
420
421 MCAPI float getYBodyRotation() const;
422
423#ifdef LL_PLAT_C
424 MCAPI ::InterpolationPair getYBodyRotationsNewOld() const;
425#endif
426
427 MCAPI bool hasBoundOrigin() const;
428
429 MCAPI bool hasCaravanTail() const;
430
431 MCAPI void hurtArmor(::ActorDamageSource const& source, int damage);
432
433 MCAPI bool isAbleToMove() const;
434
435 MCAPI bool isEating() const;
436
437 MCAPI bool isGliding() const;
438
439 MCAPI bool isLayingEgg() const;
440
441 MCAPI bool isPregnant() const;
442
443 MCAPI bool isSprinting() const;
444
445 MCAPI bool isTransitioningSitting() const;
446
447 MCAPI void joinCaravan(::Mob* head);
448
449 MCAPI void jumpFromGround();
450
451 MCAPI void leaveCaravan();
452
453 MCAPI void loadMainhand(::ListTag const* listTag);
454
455 MCAPI void loadOffhand(::ListTag const* listTag);
456
457 MCAPI void lookAt(::Actor* lookAt, float yMax, float xMax);
458
459 MCAPI void onPlayerDimensionChanged(::Player* player, ::DimensionType fromDimension, ::DimensionType toDimension);
460
461 MCAPI void removeSpeedModifier(::mce::UUID const& attributeID);
462
463 MCAPI void resetAttributes();
464
465 MCAPI void resetNoActionTime();
466
467 MCAPI ::std::unique_ptr<::ListTag> saveMainhand(::SaveContext const& saveContext) const;
468
469 MCAPI ::std::unique_ptr<::ListTag> saveOffhand(::SaveContext const& saveContext) const;
470
471 MCAPI void sendArmorDamageSlot(::SharedTypes::Legacy::ArmorSlot slot);
472
473 MCAPI void sendArmorSlot(::SharedTypes::Legacy::ArmorSlot slot);
474
475 MCAPI void setDeathTime(int ticks);
476
477 MCAPI void setEatCounter(int value);
478
479 MCAPI void setEating(bool value);
480
481 MCAPI void setIsLayingEgg(bool layingEgg);
482
483 MCAPI void setIsPregnant(bool pregnant);
484
485 MCAPI void setJumpTicks(int ticks);
486
487 MCAPI void setMovementComponentCurrentSpeed(float movementComponentCurrentSpeed);
488
489 MCAPI void setNaturallySpawned(bool naturallySpawned);
490
491 MCAPI void setSpawnMethod(::MobSpawnMethod method);
492
493 MCAPI void setSpeedModifier(float speed);
494
495 MCAPI void setSurfaceMob(bool isSurfaceMob);
496
497 MCAPI void setTargetCaptain(::ActorUniqueID id);
498
499 MCAPI void setYBodyRotation(float rotation);
500
501 MCAPI void setYBodyRotations(float rotation, float oldRotation);
502
503 MCAPI bool shouldApplyWaterGravity();
504
505 MCAPI void snapToYBodyRot(float yBodyRot);
506
507 MCAPI void snapToYHeadRot(float yHeadRot);
508
509 MCAPI void stopAI();
510
511 MCAPI void tickMobEffectsVisuals();
512
513 MCAPI void tryFrostWalk();
514
515 MCAPI void tryProcessSoulSpeed();
516
517 MCAPI void tryUpdateAI();
518
519 MCAPI void updateAttackAnim();
520
521 MCAPI void updateEquipment();
522
523 MCAPI void updateGlidingDurability();
524 // NOLINTEND
525
526public:
527 // static functions
528 // NOLINTBEGIN
529 MCAPI static char const* _getDescriptionJsonName(::Description const* description);
530
531 MCAPI static void setSprinting(::BaseAttributeMap& attributes, ::SynchedActorDataWriter data, bool shouldSprint);
532 // NOLINTEND
533
534public:
535 // static variables
536 // NOLINTBEGIN
537 MCAPI static float const& ASCEND_BLOCK_BY_JUMPING_SPEED();
538
539 MCAPI static float const& GLIDING_FALL_RESET_DELTA();
540
541 MCAPI static int const& REMOVE_PASSENGERS_DELAY();
542
543 MCAPI static int const& SPAWN_XP_DELAY();
544 // NOLINTEND
545
546public:
547 // constructor thunks
548 // NOLINTBEGIN
549 MCAPI void* $ctor(::ILevel& level, ::EntityContext& entityContext);
550
551 MCAPI void* $ctor(
552 ::ActorDefinitionGroup* definitions,
553 ::ActorDefinitionIdentifier const& definitionName,
554 ::EntityContext& entityContext
555 );
556 // NOLINTEND
557
558public:
559 // destructor thunk
560 // NOLINTBEGIN
561 MCAPI void $dtor();
562 // NOLINTEND
563
564public:
565 // virtual function thunks
566 // NOLINTBEGIN
567 MCAPI void $initializeComponents(::ActorInitializationMethod method, ::VariantParameterList const& params);
568
569 MCAPI void $reloadHardcodedClient(::ActorInitializationMethod method);
570
571 MCAPI void $reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params);
572
573 MCAPI void $knockback(::Actor* source, int damage, float xd, float zd, ::KnockbackParameters const& parameters);
574
575 MCAPI void $kill();
576
577 MCAPI void $die(::ActorDamageSource const& source);
578
579 MCAPI bool $shouldDropDeathLoot() const;
580
581 MCFOLD void $spawnAnim();
582
583 MCAPI bool $isAlive() const;
584
585 MCAPI bool $isSleeping() const;
586
587 MCAPI void $setSleeping(bool val);
588
589 MCAPI bool $isBlocking() const;
590
591 MCAPI void $setSprinting(bool shouldSprint);
592
593 MCFOLD bool $canBePulledIntoVehicle() const;
594
595 MCAPI float $getSpeed() const;
596
597 MCAPI void $setSpeed(float speed);
598
599 MCAPI float $getYawSpeedInDegreesPerSecond() const;
600
601 MCAPI void $normalTick();
602
603 MCAPI void $baseTick();
604
605 MCAPI void $hurtEffects(::ActorDamageSource const& source, float damage, ::HurtEffectsSettings const& settings);
606
607 MCAPI void $damageCarriedItemOnAttack(::Actor& target, float damageDealtToTarget);
608
609 MCAPI ::ActorHurtResult $doFireHurt(int amount);
610
611 MCAPI void $aiStep();
612
613 MCAPI void $pushActors();
614
615 MCAPI bool $checkSpawnRules(bool fromSpawner);
616
617 MCAPI bool $checkSpawnObstruction() const;
618
619 MCAPI void $addPassenger(::Actor& newPassenger);
620
621 MCAPI bool $startRiding(::Actor& vehicle, bool forceRiding);
622
623 MCAPI void $handleEntityEvent(::ActorEvent id, int data);
624
625 MCFOLD int $getItemUseDuration() const;
626
627 MCFOLD float $getItemUseStartupProgress() const;
628
629 MCFOLD float $getItemUseIntervalProgress() const;
630
631 MCAPI bool $swing(::ActorSwingSource swingSource);
632
633 MCAPI float $getMaxHeadXRot();
634
635 MCAPI bool $isImmobile() const;
636
637 MCAPI void $blockedByShield(::ActorDamageSource const& source, ::Actor& blocker);
638
639 MCAPI void $setTarget(::Actor* target);
640
641 MCAPI ::ActorHurtResult $attack(::Actor& target, ::SharedTypes::Legacy::ActorDamageCause const& cause);
642
643 MCFOLD bool $isAlliedTo(::Mob* other);
644
645 MCAPI ::ActorHurtResult $doHurtTarget(::Actor* target, ::SharedTypes::Legacy::ActorDamageCause const& cause);
646
647 MCAPI ::SharedTypes::Legacy::ActorDamageCause $getBlockDamageCause(::Block const& block) const;
648
649 MCAPI bool $inCaravan() const;
650
651 MCAPI int $getArmorValue() const;
652
653 MCAPI void $hurtArmorSlots(::ActorDamageSource const& source, int damage, ::std::bitset<5> const hurtSlots);
654
655 MCAPI void $setDamagedArmor(::SharedTypes::Legacy::ArmorSlot slot, ::ItemStack const& item);
656
657 MCFOLD void $sendArmorDamage(::std::bitset<5> const damagedSlots);
658
659 MCAPI void $sendArmor(::std::bitset<5> const armorSlots);
660
661 MCAPI ::ArmorMaterialType $getArmorMaterialTypeInSlot(::SharedTypes::Legacy::ArmorSlot slot) const;
662
663 MCAPI int $getArmorTextureIndexInSlot(::SharedTypes::Legacy::ArmorSlot slot) const;
664
665 MCAPI float $getArmorColorInSlot(::SharedTypes::Legacy::ArmorSlot slot, int channelRGBA) const;
666
667 MCAPI ::std::vector<::ItemStack const*> $getAllHandEquipment() const;
668
669 MCAPI ::std::vector<::ItemStack const*> $getAllEquipment() const;
670
671 MCAPI int $getDeathTime() const;
672
673 MCAPI void $dropEquipmentOnDeath(::ActorDamageSource const& source);
674
675 MCAPI void $dropEquipmentOnDeath();
676
677 MCAPI void $clearVanishEnchantedItemsOnDeath();
678
679 MCAPI void $sendInventory(bool shouldSelectSlot);
680
681 MCAPI void $buildDebugInfo(::std::string& out) const;
682
683 MCAPI float $getInterpolatedBodyRot(float a) const;
684
685 MCAPI float $getInterpolatedHeadRot(float a) const;
686
687 MCAPI float $getInterpolatedBodyYaw(float a) const;
688
689 MCAPI bool $isSurfaceMob() const;
690
691 MCAPI float $getDamageAfterEnchantReduction(::ActorDamageSource const& source, float damage) const;
692
693 MCAPI bool $createAIGoals();
694
695 MCFOLD void $onBorn(::Actor&, ::Actor&);
696
697 MCAPI bool $setItemSlot(::SharedTypes::Legacy::EquipmentSlot slot, ::ItemStack const& item);
698
699 MCAPI void $setTransitioningSitting(bool value);
700
701 MCAPI bool $hasComponent(::HashedString const& name) const;
702
703 MCAPI bool $canChangeDimensionsUsingPortal() const;
704
705 MCAPI void
706 $teleportTo(::Vec3 const& pos, bool shouldStopRiding, int cause, int sourceEntityType, bool keepVelocity);
707
708 MCFOLD float $_getWalkTargetValue(::BlockPos const& pos);
709
710 MCAPI bool $canExistWhenDisallowMob() const;
711
712 MCAPI bool $canPowerJump() const;
713
714 MCAPI void $setEquippedSlot(::SharedTypes::Legacy::EquipmentSlot slot, ::ItemStack const& item);
715
716 MCFOLD void $renderDebugServerState(::IOptionsReader const& options);
717
718 MCAPI bool $canFreeze() const;
719
720 MCAPI void $addAdditionalSaveData(::CompoundTag& entityTag) const;
721
722 MCAPI void $readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
723
724 MCAPI ::std::unique_ptr<::BodyControl> $initBodyControl();
725
726 MCAPI float $causeFallDamageToActor(float distance, float multiplier, ::ActorDamageSource source);
727
728 MCAPI void $outOfWorld();
729
730 MCAPI ::ActorHurtResult $_hurt(::ActorDamageSource const& source, float damage, bool knock, bool ignite);
731
732 MCAPI void $newServerAiStep();
733
734 MCAPI void $_doInitialMove();
735
736 MCAPI ::AABB $_getAdjustedAABBForSpawnCheck(::AABB const& aabb, ::Vec3 const& mobPos) const;
737
738
739 // NOLINTEND
740
741public:
742 // vftables
743 // NOLINTBEGIN
744 MCAPI static void** $vftable();
745 // NOLINTEND
746};
Definition AABB.h:18
Definition ActorDamageSource.h:18
Definition ActorDefinitionGroup.h:37
Definition ActorHurtResult.h:5
Definition BaseAttributeMap.h:21
Definition BlockPos.h:21
Definition Block.h:69
Definition BodyControl.h:13
Definition CompoundTag.h:23
Definition DataLoadHelper.h:20
Definition EntityContext.h:17
Definition HashedString.h:5
Definition ILevel.h:219
Definition IOptionsReader.h:5
Definition ItemStack.h:35
Definition ListTag.h:21
Definition Player.h:137
Definition SaveContext.h:5
Definition SynchedActorDataWriter.h:17
Definition Vec3.h:10
Definition UUID.h:7
Definition ActorDefinitionIdentifier.h:15
Definition ActorUniqueID.h:10
Definition CalculateAttackDamageSettings.h:5
Definition Description.h:11
Definition DimensionType.h:5
Definition HurtEffectsSettings.h:5
Definition InterpolationPair.h:5
Definition JumpPreventionResult.h:8
Definition KnockbackParameters.h:5
Definition LegacyGoalDefinition.h:33
Definition VariantParameterList.h:14