108 using EntityBlockCollisionCallback =
112 LLNDAPI
class EntityContext& getEntityContext() {
return mEntityContext; }
113 LLNDAPI
class EntityContext const& getEntityContext()
const {
return mEntityContext; }
115 LLAPI
void refresh();
119 LLNDAPI std::string
const& getTypeName()
const;
121 LLNDAPI
class Vec3 getFeetPos() const;
123 LLNDAPI
class Vec3 getHeadPos() const;
125 LLNDAPI
class BlockPos getFeetBlockPos() const;
127 LLNDAPI
bool isSimulatedPlayer()
const;
129 LLNDAPI
bool isOnGround()
const;
131 LLAPI
void setOnFire(
int time,
bool isEffect =
true);
132 LLAPI
void stopFire();
134 LLNDAPI
Vec3 getVelocity()
const;
135 LLNDAPI
float getPosDeltaPerSecLength()
const;
137 LLAPI
bool hurtByCause(
139 ::SharedTypes::Legacy::ActorDamageCause cause = ::SharedTypes::Legacy::ActorDamageCause::Override,
145 bool includeActor =
true,
146 bool includeBlock =
true,
147 std::function<bool(
class BlockSource const&,
class Block const&,
bool)>
const& blockCheckFunction =
148 [](
auto&&...) ->
bool {
return true; }
151 LLAPI
void teleport(
class Vec3 const& pos, DimensionType dimId,
class Vec2 const& rotation);
152 LLAPI
void teleport(
class Vec3 const& pos, DimensionType dimId);
154 LLAPI
void setName(std::string
const& name);
156 LLNDAPI
float evalMolang(std::string
const& expression);
158 LLNDAPI
AABB const& getAABB()
const {
return mBuiltInComponents->mAABBShapeComponent->mAABB; }
160 LLAPI static ::Actor* tryGetFromEntity(
::EntityContext& entity,
bool includeRemoved);
162 [[nodiscard]]
Level& getLevel()
const {
return *
reinterpret_cast<Level*
>(mLevel); }
164 [[nodiscard]]
Vec3 const& getPosition()
const {
return mBuiltInComponents->mStateVectorComponent->mPos; }
166 [[nodiscard]]
Vec3 const& getPosDelta()
const {
return mBuiltInComponents->mStateVectorComponent->mPosDelta; }
168 [[nodiscard]]
Vec2 const& getRotation()
const {
169 return mBuiltInComponents->mActorRotationComponent->mRotationDegree;
172 [[nodiscard]]
bool hasCategory(ActorCategory category)
const {
return (mCategories & category) == category; }
174 LLNDAPI ::DimensionType getDimensionId()
const;
179 ::ll::TypedStorage<8, 24, ::EntityContext> mEntityContext;
180 ::ll::TypedStorage<8, 72, ::VariantParameterList> mInitParams;
181 ::ll::TypedStorage<8, 32, ::std::string> mCustomInitEventName;
182 ::ll::TypedStorage<1, 1, ::ActorInitializationMethod> mInitMethod;
183 ::ll::TypedStorage<1, 1, bool> mForceInitMethodToSpawnOnReload;
184 ::ll::TypedStorage<1, 1, bool> mAdded;
185 ::ll::TypedStorage<8, 8, ::ActorDefinitionGroup*> mDefinitions;
186 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ActorDefinitionDescriptor>> mCurrentDescription;
187 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::RopeSystem>> mLeashRopeSystem;
188 ::ll::TypedStorage<8, 32, ::std::string> mAlias;
189 ::ll::TypedStorage<4, 68, ::std::optional<::glm::mat4x4>> mPreviousRenderTransform;
190 ::ll::TypedStorage<4, 4, int> mLastHurtByPlayerTime;
191 ::ll::TypedStorage<8, 16, ::std::map<::HashedString, ::std::vector<::std::vector<::glm::mat4x4>>>>
192 mPreviousBoneMatrices;
193 ::ll::TypedStorage<8, 48, ::SynchedActorDataEntityWrapper> mEntityData;
194 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SpatialActorNetworkData>> mNetworkData;
195 ::ll::TypedStorage<4, 12, ::Vec3> mSentDelta;
196 ::ll::TypedStorage<4, 4, float> mScale;
197 ::ll::TypedStorage<4, 4, float> mScalePrev;
198 ::ll::TypedStorage<1, 1, bool> mIgnoreLighting;
199 ::ll::TypedStorage<1, 1, bool> mFilterLighting;
200 ::ll::TypedStorage<4, 4, float> mStepSoundVolume;
201 ::ll::TypedStorage<4, 4, float> mStepSoundPitch;
202 ::ll::TypedStorage<8, 8, ::AABB*> mLastHitBB;
203 ::ll::TypedStorage<8, 8, uint64> mNameTagHash;
204 ::ll::TypedStorage<4, 4, float> mShadowOffset;
205 ::ll::TypedStorage<4, 4, float> mPushThrough;
206 ::ll::TypedStorage<4, 4, int> mTickCount;
207 ::ll::TypedStorage<4, 4, int> mInvulnerableTime;
208 ::ll::TypedStorage<4, 4, int> mLastHealth;
209 ::ll::TypedStorage<1, 1, bool> mInvulnerable;
210 ::ll::TypedStorage<4, 4, int> mFlameTexFrameIndex;
211 ::ll::TypedStorage<4, 4, float> mFlameFrameIncrementTime;
212 ::ll::TypedStorage<1, 1, bool> mAlwaysFireImmune;
213 ::ll::TypedStorage<1, 1, bool> mInheritRotationWhenRiding;
214 ::ll::TypedStorage<1, 1, bool> mForcedLoading;
215 ::ll::TypedStorage<1, 1, bool> mForceSendMotionPacket;
216 ::ll::TypedStorage<1, 1, bool> mHighlightedThisFrame;
217 ::ll::TypedStorage<1, 1, bool> mInitialized;
218 ::ll::TypedStorage<1, 1, bool> mProcessedOnChunkDiscard;
219 ::ll::TypedStorage<4, 4, float> mSoundVolume;
220 ::ll::TypedStorage<4, 4, int> mShakeTime;
221 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mLegacyUniqueID;
222 ::ll::TypedStorage<8, 16, ::WeakRef<::Dimension>> mDimension;
223 ::ll::TypedStorage<8, 8, ::ILevel*> mLevel;
224 ::ll::TypedStorage<8, 48, ::HashedString> mActorRendererId;
225 ::ll::TypedStorage<4, 4, ::ActorCategory> mCategories;
226 ::ll::TypedStorage<8, 32, ::BuiltInActorComponents> mBuiltInComponents;
227 ::ll::TypedStorage<8, 48, ::HashedString> mActorRendererIdThatAnimationComponentWasInitializedWith;
228 ::ll::TypedStorage<1, 1, bool> mChanged;
229 ::ll::TypedStorage<1, 1, bool> mRemoved;
230 ::ll::TypedStorage<1, 1, bool> mMovedToLimbo;
231 ::ll::TypedStorage<1, 1, bool> mMovedToUnloadedChunk;
232 ::ll::TypedStorage<1, 1, bool> mBlocksBuilding;
233 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::AnimationComponent>> mAnimationComponent;
234 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::AnimationComponent>> mUIAnimationComponent;
235 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mTargetId;
236 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mInLovePartner;
237 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CompoundTag>> mPersistingTradeOffers;
238 ::ll::TypedStorage<4, 4, int> mPersistingTradeRiches;
239 ::ll::TypedStorage<1, 1, bool> mPersistingTrade;
240 ::ll::TypedStorage<1, 1, bool> mEffectsDirty;
241 ::ll::TypedStorage<1, 1, bool> mLootDropped;
242 ::ll::TypedStorage<1, 1, bool> mLoadedFromNBTThisFrame;
243 ::ll::TypedStorage<4, 16, ::mce::Color> mHurtColor;
244 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ActorDefinitionDiffList>> mDefinitionList;
245 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CompoundTag>> mLoadedActorPropertyTag;
246 ::ll::TypedStorage<8, 16, ::ActorDefinitionPtr> mActorDefinitionPtr;
247 ::ll::TypedStorage<8, 32, ::std::string> mFilteredNameTag;
248 ::ll::TypedStorage<8, 24, ::ActorTerrainInterlockData> mTerrainInterlockData;
249 ::ll::TypedStorage<1, 1, bool> mWasHurtThisTick;
250 ::ll::TypedStorage<1, 1, bool> mWasHurtLastTick;
251 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mLastHurtMobId;
252 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mLastHurtByMobId;
253 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mLastHurtByPlayerId;
254 ::ll::TypedStorage<8, 8, uint64> mLastHurtTimestamp;
255 ::ll::TypedStorage<4, 4, ::SharedTypes::Legacy::ActorDamageCause> mLastHurtCause;
256 ::ll::TypedStorage<4, 4, float> mLastHurt;
257 ::ll::TypedStorage<4, 4, int> mLastHurtMobTimestamp;
258 ::ll::TypedStorage<4, 4, int> mLastHurtByMobTime;
259 ::ll::TypedStorage<4, 4, int> mLastHurtByMobTimestamp;
260 ::ll::TypedStorage<1, 1, bool> mIsPredictableProjectile;
261 ::ll::TypedStorage<1, 1, bool> mIsRenderingInUI;
263 ::ll::TypedStorage<1, 1, bool> mIsOnScreen;
264 ::ll::TypedStorage<1, 1, bool> mUpdateBonesAndEffects;
266 ::ll::TypedStorage<1, 1, bool> mUpdateEffects;
267 ::ll::TypedStorage<1, 1, bool> mCanPickupItems;
268 ::ll::TypedStorage<1, 1, bool> mHasSetCanPickupItems;
269 ::ll::TypedStorage<1, 1, bool> mChainedDamageEffects;
270 ::ll::TypedStorage<4, 4, int> mAffectedByWaterBottleTicksToEffect;
271 ::ll::TypedStorage<4, 4, ::SpawnRuleEnum> mSpawnRulesEnum;
272 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ActionQueue>> mActionQueue;
273 ::ll::TypedStorage<8, 56, ::MolangVariableMap> mMolangVariables;
274 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mFishingHookID;
286 virtual void outOfWorld();
290 virtual void reloadHardcodedClient(::ActorInitializationMethod);
296 virtual void _serverInitItemStackIds();
298 virtual void _doInitialMove();
302 virtual void resetUserPos(::ActorResetRule);
304 virtual ::ActorType getOwnerEntityType();
306 virtual void remove();
308 virtual ::Vec3 getFiringPos()
const;
310 virtual float getInterpolatedBodyRot(
float a = 0.0f)
const;
312 virtual float getInterpolatedHeadRot(
float = 0.0f)
const;
314 virtual float getInterpolatedBodyYaw(
float = 0.0f)
const;
316 virtual float getYawSpeedInDegreesPerSecond()
const;
318 virtual ::Vec3 getInterpolatedRidingOffset(
float,
int const)
const;
320 virtual bool isFireImmune()
const;
324 virtual bool canDisableShield();
326 virtual void teleportTo(
::Vec3 const& pos,
bool shouldStopRiding,
int,
int,
bool keepVelocity);
328 virtual void lerpMotion(
::Vec3 const& delta);
330 virtual ::std::unique_ptr<::Packet> tryCreateAddActorPacket();
332 virtual void normalTick();
334 virtual void baseTick();
336 virtual void passengerTick();
338 virtual bool startRiding(::Actor& vehicle,
bool forceRiding);
340 virtual void addPassenger(::Actor& passenger);
342 virtual ::std::string getExitTip(::std::string
const& kind, ::InputMode mode, ::NewInteractionModel scheme)
const;
344 virtual ::std::string getEntityLocNameString()
const;
346 virtual bool isInvisible()
const;
348 virtual bool canShowNameTag()
const;
350 virtual ::std::string getFormattedNameTag()
const;
352 virtual ::mce::Color getNameTagTextColor()
const;
354 virtual float getShadowRadius()
const;
356 virtual ::Vec3 getHeadLookVector(
float a = 0.0f)
const;
358 virtual bool canInteractWithOtherEntitiesInGame()
const;
362 virtual void playerTouch(
::Player&);
364 virtual bool isImmobile()
const;
366 virtual bool isSilentObserver()
const;
368 virtual bool isSleeping()
const;
370 virtual void setSleeping(
bool);
372 virtual void setSneaking(
bool value);
374 virtual bool isBlocking()
const;
378 virtual bool isAlive()
const;
380 virtual bool isOnFire()
const;
382 virtual bool isSurfaceMob()
const;
384 virtual bool isTargetable()
const;
386 virtual void setTarget(::Actor* entity);
388 virtual bool isValidTarget(::Actor*)
const;
390 virtual bool attack(::Actor& target, ::SharedTypes::Legacy::ActorDamageCause
const&);
392 virtual void performRangedAttack(::Actor& target,
float);
396 virtual void setSitting(
bool value);
398 virtual void onTame();
400 virtual void onFailedTame();
402 virtual void setStanding(
bool value);
404 virtual bool canPowerJump()
const;
406 virtual bool isEnchanted()
const;
408 virtual void playAmbientSound();
410 virtual ::SharedTypes::Legacy::LevelSoundEvent getAmbientSound()
const;
414 virtual ::SharedTypes::Legacy::ActorDamageCause getBlockDamageCause(
::Block const& block)
const;
416 virtual bool doFireHurt(
int amount);
418 virtual void onLightningHit();
420 virtual void feed(
int itemId);
422 virtual void handleEntityEvent(::ActorEvent eventId,
int data);
424 virtual ::HashedString
const& getActorRendererId()
const;
426 virtual void despawn();
428 virtual void setArmor(::SharedTypes::Legacy::ArmorSlot slot,
::ItemStack const& item);
430 virtual ::ArmorMaterialType getArmorMaterialTypeInSlot(::SharedTypes::Legacy::ArmorSlot)
const;
432 virtual int getArmorTextureIndexInSlot(::SharedTypes::Legacy::ArmorSlot)
const;
434 virtual float getArmorColorInSlot(::SharedTypes::Legacy::ArmorSlot,
int)
const;
436 virtual void setEquippedSlot(::SharedTypes::Legacy::EquipmentSlot,
::ItemStack const&);
438 virtual void setCarriedItem(
::ItemStack const& item);
440 virtual ::ItemStack
const& getCarriedItem()
const;
442 virtual void setOffhandSlot(
::ItemStack const& item);
444 virtual ::ItemStack
const& getEquippedTotem()
const;
446 virtual bool consumeTotem();
450 virtual ::HashedString
const& queryEntityRenderer()
const;
452 virtual ::ActorUniqueID getSourceUniqueID()
const;
454 virtual bool canFreeze()
const;
456 virtual ::AABB getLiquidAABB(::MaterialType
const liquidType)
const;
458 virtual void handleInsidePortal(
::BlockPos const& portalPos);
460 virtual bool canChangeDimensionsUsingPortal()
const;
462 virtual void changeDimension(::DimensionType toId);
466 virtual ::ActorUniqueID getControllingPlayer()
const;
470 virtual void onSynchedDataUpdate(
int dataId);
472 virtual bool canAddPassenger(::Actor& passenger)
const;
474 virtual bool canPickupItem(
::ItemStack const&)
const;
476 virtual bool canBePulledIntoVehicle()
const;
478 virtual bool inCaravan()
const;
480 virtual void sendMotionPacketIfNeeded();
482 virtual bool canSynchronizeNewEntity()
const;
484 virtual void startSwimming();
486 virtual void stopSwimming();
488 virtual void buildDebugInfo(::std::string&)
const;
490 virtual ::CommandPermissionLevel getCommandPermissionLevel()
const;
492 virtual int getDeathTime()
const;
494 virtual bool canBeAffected(uint
id)
const;
500 virtual bool canObstructSpawningAndBlockPlacement()
const;
502 virtual ::AnimationComponent& getAnimationComponent();
504 virtual void openContainerComponent(
::Player& player);
506 virtual bool swing(::ActorSwingSource);
508 virtual void useItem(
::ItemStackBase& item, ::ItemUseMethod itemUseMethod,
bool consumeItem);
510 virtual void getDebugText(::std::vector<::std::string>& outputInfo);
512 virtual float getMapDecorationRotation()
const;
514 virtual float getPassengerYRotation(::Actor
const& passenger)
const;
518 virtual bool drop(
::ItemStack const& item,
bool const randomly);
522 virtual bool canDestroyBlock(
::Block const&)
const;
524 virtual void setAuxValue(
int);
532 virtual bool shouldDropDeathLoot()
const;
534 virtual void applySnapshot(
539 virtual void onPush(::Actor&);
541 virtual ::std::optional<::BlockPos> getLastDeathPos()
const;
543 virtual ::std::optional<::DimensionType> getLastDeathDimension()
const;
545 virtual bool hasDiedBefore()
const;
547 virtual void doEnterWaterSplashEffect();
549 virtual void doExitWaterSplashEffect();
551 virtual void doWaterSplashEffect();
553 virtual bool _shouldProvideFeedbackOnHandContainerItemSet(::HandSlot handSlot,
::ItemStack const& item)
const;
555 virtual bool _shouldProvideFeedbackOnArmorSet(::SharedTypes::Legacy::ArmorSlot slot,
::ItemStack const& item)
const;
561 virtual void addAdditionalSaveData(
::CompoundTag& tag)
const;
575 MCAPI ::BuiltInActorComponents _addActorBuiltInComponents();
577 MCAPI
void _addActorNonBuiltInComponents();
579 MCAPI ::ItemActor
const* _drop(
::ItemStack const& item,
bool randomly);
581 MCFOLD ::std::vector<::MobEffectInstance>& _getAllEffectsNonConst();
583 MCAPI ::AnimationComponent& _getAnimationComponent(
584 ::std::shared_ptr<::AnimationComponent>& animationComponent,
585 ::AnimationComponentGroupType group
588 MCAPI
void _initializeLeashRopeSystem(::Actor* holder);
590 MCAPI
bool _isHeadInWater()
const;
592 MCAPI
bool _isItemStackNetManagerEnabled()
const;
594 MCAPI
void _sendDirtyActorData();
598 MCAPI
void _setActorTypeId(::ActorType type);
600 MCAPI
void _setDimensionTransitionComponent(::DimensionType fromId, ::DimensionType toId,
int portalCooldown);
602 MCAPI
void _setHandContainerItem(
::ItemStack const& item, ::HandSlot handSlot);
604 MCAPI
void _setHeightOffset(
float heightOffset);
606 MCAPI
void _setupServerAnimationComponent();
608 MCAPI
void _syncTickCountIfAnimationComponentShared();
610 MCAPI
void _tryPlantWitherRose();
612 MCAPI
void _updateComposition(
bool reload);
616 MCAPI
bool addTag(::std::string
const& tag);
618 MCAPI
void applyImpulse(
::Vec3 const& impulse);
620 MCAPI
void buildDebugGroupInfo(::std::string& out)
const;
622 MCAPI
void burn(
int damage,
bool inFire);
624 MCAPI
bool canAttack(::Actor
const& entity)
const;
626 MCAPI
bool canBeginOrContinueClimbingLadder()
const;
628 MCAPI
bool canCurrentlySwim()
const;
630 MCAPI
bool canFly()
const;
632 MCAPI
bool canMate(::Actor
const& partner)
const;
634 MCAPI
bool canReceiveMobEffectsFromGameplay()
const;
636 MCAPI
bool canSee(::Actor
const& target, ::ShapeType obstructionType)
const;
638 MCAPI
bool canSee(
::Vec3 const& targetPos, ::ShapeType obstructionType)
const;
640 MCAPI
bool canSeeDaylight()
const;
642 MCAPI
void celebrateHunt(
int duration,
bool special);
644 MCAPI
void checkFallDamage(
float ya,
bool onGround,
bool recheckLiquid);
646 MCAPI
void chorusFruitTeleport(
::Vec3 const& range);
648 MCAPI
bool closerThan(::Actor
const& e,
float distanceXZ,
float distanceY)
const;
650 MCAPI
void consumeItem(
::ItemActor& itemActor,
int count);
652 MCAPI ::UpdateEquipPacket createUpdateEquipPacket(
int containerID);
658 MCAPI
void equip(::std::string
const& lootTableFilePath);
660 MCAPI
void equipFromEquipmentDefinition();
662 MCAPI
float evaluateSeatRotation(
::RideableComponent const& rideable,
bool useVehicleRenderParams);
664 MCAPI
void exitVehicle(
bool exitFromPassenger,
bool actorIsBeingDestroyed,
bool wasEjectedByActivatorRail);
666 MCAPI ::std::vector<::DistanceSortedActor> fetchNearbyActorsSorted(
::Vec3 const& distance, ::ActorType actorTypeId);
668 MCAPI ::ActorDefinitionIdentifier
const& getActorIdentifier()
const;
670 MCAPI_C ::Matrix getActorToWorldTransform(
float frameAlpha,
bool useActorRotation,
::Vec3 const& offset)
const;
672 MCFOLD_C ::std::vector<::MobEffectInstance>
const& getAllEffects()
const;
674 MCAPI ::ItemStack
const& getArmor(::SharedTypes::Legacy::ArmorSlot slot)
const;
676 MCAPI ::Vec3 getAttachPos(::SharedTypes::Legacy::ActorLocation location)
const;
678 MCAPI ::Vec3 getAttachPos(::SharedTypes::Legacy::ActorLocation location,
float alpha)
const;
680 MCAPI ::AttributeInstanceConstRef getAttribute(
::Attribute const& attribute)
const;
682 MCAPI ::gsl::not_null<::BaseAttributeMap const*> getAttributes()
const;
684 MCAPI ::BlockPos getBlockPosCurrentlyStandingOn(::Actor
const* actor)
const;
686 MCAPI
float getBrightness(
float a = 0.0f)
const;
688 MCAPI ::ItemStack
const& getCarriedItemInSlotPreferredBy(
::ItemStack const& item)
const;
690 MCAPI
int getChestSlots()
const;
692 MCAPI
float getCurrentSwimAmount()
const;
694 MCAPI
bool getDamageNearbyMobs()
const;
696 MCFOLD ::Dimension& getDimension()
const;
698 MCFOLD ::BlockSource& getDimensionBlockSource()
const;
700 MCFOLD ::BlockSource
const& getDimensionBlockSourceConst()
const;
702 MCFOLD ::Dimension
const& getDimensionConst()
const;
704 MCAPI ::MobEffectInstance
const* getEffect(
::MobEffect const& effect)
const;
706 MCAPI ::ActorType getEntityTypeId()
const;
708 MCAPI
int getEquipSlots()
const;
710 MCAPI ::SharedTypes::Legacy::EquipmentSlot getEquipmentSlotForItem(
::ItemStack const& item)
const;
712 MCAPI ::ItemStack
const& getEquippedSlot(::SharedTypes::Legacy::EquipmentSlot slot)
const;
714 MCAPI ::Vec3 getEyePos()
const;
716 MCAPI
float getFallDistance()
const;
718 MCAPI ::Actor* getFirstPassenger()
const;
720 MCAPI
int getHealth()
const;
722 MCAPI ::Vec3 getInterpolatedPosition(
float a = 0.0f)
const;
724 MCAPI ::Vec3 getInterpolatedRidingPosition(
float a = 0.0f)
const;
726 MCAPI_C ::Vec2 getInterpolatedRotation(
float a)
const;
728 MCAPI
bool getIsExperienceDropEnabled()
const;
730 MCAPI ::Mob* getLastHurtByMob();
732 MCAPI ::Player* getLastHurtByPlayer();
734 MCAPI ::ActorUniqueID getLeashHolder()
const;
736 MCAPI ::std::vector<::ActorLink> getLinks()
const;
738 MCAPI ::LootTable* getLootTable();
740 MCAPI
int getMarkVariant()
const;
742 MCAPI
int getMaxHealth()
const;
744 MCAPI_C int64 getMetadataId()
const;
746 MCAPI ::std::string
const& getNameTag()
const;
748 MCAPI ::ItemStack
const& getOffhandSlot()
const;
750 MCAPI
int getOnDeathExperience();
752 MCAPI ::DynamicProperties& getOrAddDynamicProperties();
754 MCAPI ::ActorUniqueID
const& getOrCreateUniqueID()
const;
756 MCAPI ::Mob* getOwner()
const;
758 MCFOLD ::ActorUniqueID
const getOwnerId()
const;
760 MCAPI
int getPassengerIndex(::Actor
const& passenger)
const;
762 MCAPI ::std::unique_ptr<::CompoundTag> getPersistingTradeOffers();
764 MCAPI ::Player* getPlayerOwner()
const;
766 MCAPI ::Random& getRandom()
const;
768 MCAPI ::Bedrock::Safety::RedactableString getRedactableNameTag()
const;
770 MCAPI
float getRidingHeight()
const;
772 MCAPI ::ActorRuntimeID getRuntimeID()
const;
774 MCAPI
float getSpeedInMetersPerSecond()
const;
776 MCAPI
bool getStatusFlag(::ActorFlags flag)
const;
778 MCAPI
int getStrength()
const;
780 MCAPI
int getStructuralIntegrity()
const;
782 MCAPI
float getSwimAmount(
float a)
const;
784 MCAPI ::Actor* getTarget()
const;
786 MCAPI ::MerchantRecipeList* getTradeOffers();
788 MCAPI ::Player* getTradingPlayer()
const;
790 MCFOLD
int getVariant()
const;
792 MCAPI ::Actor* getVehicle()
const;
794 MCAPI ::VehicleUtils::VehicleRootInfo getVehicleRoot()
const;
796 MCFOLD ::Vec3 getViewVector(
float a = 0.0f)
const;
798 MCAPI_C ::Vec2 getViewVector2(
float a)
const;
800 MCAPI ::WeakRef<::EntityContext>
const getWeakEntity()
const;
802 MCAPI_C ::InterpolationPair getYHeadRotationsNewOld()
const;
804 MCAPI
void handleFallDamage(
float fallDistance,
float multiplier,
::ActorDamageSource source);
808 MCAPI
bool hasDimension()
const;
810 MCAPI
bool hasEffect(
::MobEffect const& effect)
const;
814 MCAPI_C
bool hasPassenger()
const;
816 MCAPI
bool hasPlayerPassenger()
const;
818 MCAPI
bool hasRuntimeID()
const;
820 MCAPI
bool hasSaddle()
const;
822 MCAPI
bool hasTag(::std::string
const& tag)
const;
824 MCAPI
bool hasType(::ActorType types)
const;
826 MCAPI
void heal(
int heal);
830 MCAPI
bool inDownwardFlowingLiquid()
const;
835 isActorLocationInMaterial(::SharedTypes::Legacy::ActorLocation actorLocation, ::MaterialType type)
const;
837 MCAPI
bool isAdventure()
const;
839 MCAPI
bool isAttackableGamemode()
const;
841 MCAPI
bool isAutonomous()
const;
843 MCAPI
bool isBaby()
const;
845 MCAPI
bool isChested()
const;
847 MCAPI
bool isClientSide()
const;
849 MCAPI
bool isCreative()
const;
851 MCAPI
bool isDead()
const;
853 MCAPI
bool isDoorOpener()
const;
855 MCAPI
bool isGlobal()
const;
857 MCAPI
bool isInClouds()
const;
859 MCAPI
bool isInLava()
const;
861 MCAPI
bool isInLove()
const;
863 MCAPI
bool isInPrecipitation()
const;
865 MCAPI
bool isInRain()
const;
867 MCAPI
bool isInSnow()
const;
869 MCAPI
bool isInThunderstorm()
const;
871 MCAPI
bool isInWater()
const;
873 MCAPI
bool isInWaterOrRain()
const;
875 MCAPI
bool isInWorld()
const;
877 MCAPI
bool isInvertedHealAndHarm()
const;
879 MCAPI
bool isJumping()
const;
881 MCAPI
bool isLeashed()
const;
883 MCFOLD
bool isLocalPlayer()
const;
885 MCAPI
bool isOverWater()
const;
887 MCAPI
bool isPassenger(::Actor
const& passenger)
const;
889 MCAPI
bool isPersistent()
const;
891 MCFOLD
bool isPlayer()
const;
893 MCAPI
bool isPowered()
const;
895 MCAPI
bool isRemotePlayer()
const;
897 MCAPI
bool isRiding()
const;
899 MCAPI
bool isRiding(::Actor* targetVehicle)
const;
901 MCAPI
bool isSilent()
const;
903 MCAPI
bool isSitting()
const;
905 MCAPI
bool isSneaking()
const;
907 MCAPI
bool isSpectator()
const;
909 MCAPI
bool isSurvival()
const;
911 MCAPI
bool isSwimming()
const;
913 MCAPI
bool isTame()
const;
915 MCAPI
bool isTickingEntity()
const;
917 MCAPI
bool isTouchingDamageBlock()
const;
919 MCAPI
bool isTrading()
const;
921 MCAPI
bool isType(::ActorType type)
const;
923 MCAPI
bool isUnderLiquid(::MaterialType type)
const;
925 MCAPI
bool isWearingLeatherArmor()
const;
927 MCAPI
bool isWorldBuilder()
const;
929 MCAPI
void killed(::Actor& entity);
931 MCAPI
void lerpTo(
::Vec3 const& pos,
::Vec2 const& rot,
int steps);
938 MCAPI
void move(
::Vec3 const& posDelta);
940 MCAPI
void moveTo(
::Vec3 const& pos,
::Vec2 const& rot);
942 MCAPI
bool onClimbableBlock()
const;
948 MCAPI_C
void onSynchedFlagUpdate(::std::bitset<127>
const& changedFlags);
950 MCAPI
void pickUpItem(
::ItemActor& itemActor,
int count);
952 MCAPI
void playSound(::SharedTypes::Legacy::LevelSoundEvent type,
::Vec3 const& pos,
int data);
954 MCAPI
void playSound(
956 ::SharedTypes::Legacy::LevelSoundEvent type,
962 playSynchronizedSound(::SharedTypes::Legacy::LevelSoundEvent type,
::Vec3 const& pos,
int data,
bool isGlobal);
964 MCAPI_C
void positionAllPassengers();
966 MCAPI
void positionPassenger(::Actor& passenger);
970 MCAPI
void postSplashGameEvent();
972 MCAPI
void pushBackActionEventToActionQueue(
::ActionEvent actionEvent);
974 MCAPI
void pushOutOfBlocks(
::Vec3 const& vec);
976 MCAPI
void refreshComponents();
980 MCAPI
void removeAllEffects();
982 MCAPI
void removeAllPassengers(
bool actorIsBeingDestroyed,
bool exitFromPassenger);
984 MCAPI
void removeEffect(
int effectId);
986 MCAPI
bool removeTag(::std::string
const& tag);
992 MCAPI ::std::unique_ptr<::ListTag> saveLinks()
const;
994 MCAPI
void savePersistingTrade(::std::unique_ptr<::CompoundTag> offersTag,
int riches);
998 MCAPI
void sendActorDefinitionEventTriggered(::std::string
const& event);
1000 MCAPI
void serializationSetHealth(
int newHealth);
1004 MCAPI
void setAutonomous(
bool g);
1008 MCAPI
void setBlockTarget(
::BlockPos const& target);
1010 MCAPI
void setBreakingObstruction(
bool breaking);
1012 MCAPI
void setDead(
bool isDead);
1016 MCAPI
void setInLove(::Actor* lovePartner);
1018 MCAPI
void setInvisible(
bool value);
1020 MCAPI
void setLastHurtByMob(
::Mob* mob);
1022 MCAPI
void setLastHurtByPlayer(
::Player* player);
1024 MCAPI
void setLastHurtMob(
::Mob const& target);
1028 MCAPI
void setLimitedLifetimeTicks(
int lifetimeTicks);
1030 MCAPI
void setMarkVariant(
int value);
1032 MCAPI
void setNameTag(::std::string
const& name);
1034 MCAPI
void setNameTagVisible(
bool visible);
1036 MCAPI
void setPersistent();
1038 MCAPI
void setPos(
::Vec3 const& pos);
1040 MCAPI
void setPrevPosRotSetThisTick(
bool value);
1046 MCAPI
void setSaddle(
bool saddled);
1048 MCAPI
void setSkinID(
int value);
1050 MCAPI
void setStatusFlag(::ActorFlags flag,
bool value);
1052 MCAPI
void setStrength(
int strength);
1054 MCAPI
void setStrengthMax(
int strength);
1056 MCAPI
void setStructuralIntegrity(
int damage);
1058 MCAPI
void setTradingPlayer(
::Player* player);
1060 MCAPI_C
void setUIRendering(
bool isInUI);
1064 MCFOLD
void setVariant(
int value);
1066 MCAPI
void setYHeadRotations(
float yHeadRot,
float oldYHeadRot);
1070 MCAPI
bool shouldRender()
const;
1072 MCAPI ::ItemActor* spawnAtLocation(
::ItemStack const& item,
float yOffs);
1074 MCAPI
void spawnEatParticles(
::ItemStack const& itemInUse,
int count);
1076 MCAPI
void spawnTrailBubbles();
1079 stopRiding(
bool exitFromPassenger,
bool actorIsBeingDestroyed,
bool switchingVehicles,
bool isBeingTeleported);
1081 MCAPI
void synchronousSetSize(
float w,
float h);
1083 MCAPI
void teleportPassengersTo(
::Vec3 const& pos,
int cause,
int entityType);
1087 MCAPI
void tickBlockDamage();
1089 MCAPI
void tickLeash();
1091 MCAPI
void triggerActorRemovedEvent();
1093 MCAPI ::std::optional<int> tryGetEquippableSlotForItem(
::ItemDescriptor item)
const;
1095 MCAPI
bool tryTeleportTo(
::Vec3 const& pos,
bool landOnBlock,
bool avoidLiquid,
int cause,
int entityType);
1097 MCAPI
void updateDescription();
1099 MCAPI
void updateInsideBlock();
1101 MCAPI
void updateInvisibilityStatus();
1103 MCAPI
void updateTickingData();
1105 MCAPI
void wobble();
1111 MCAPI
static void _moveRelative(
::Vec3& posDelta,
float yRotDegrees,
float xa,
float ya,
float za,
float speed);
1113 MCAPI static ::BlockPos getBlockPosCurrentlyStandingOn(
1117 float ignoreGapBelow,
1121 MCAPI static ::std::vector<::BlockPos> getBlocksCurrentlyStandingOn(
1124 float ignoreGapBelow,
1128 MCAPI static ::MobEffectInstance
const*
1129 getEffect(::std::vector<::MobEffectInstance>
const& effects,
::MobEffect const& effect);
1131 MCAPI static ::Vec2 getInterpolatedRotation(
::Vec2 const& prevRot,
::Vec2 const& rot,
float a);
1133 MCAPI static ::AABB getLiquidAABB(
::AABB const& aabb, ::MaterialType liquidType);
1135 MCAPI static ::Vec3 getViewVector(
::Vec2 const& prevRot,
::Vec2 const& rot,
float a);
1139 MCAPI static ::Actor*
1166 MCAPI
void $outOfWorld();
1170 MCFOLD
void $reloadHardcodedClient(::ActorInitializationMethod);
1176 MCAPI
void $_serverInitItemStackIds();
1178 MCAPI
void $_doInitialMove();
1180 MCFOLD
void $resetUserPos(::ActorResetRule);
1182 MCAPI ::ActorType $getOwnerEntityType();
1184 MCAPI
void $remove();
1186 MCAPI ::Vec3 $getFiringPos()
const;
1188 MCAPI
float $getInterpolatedBodyRot(
float a)
const;
1190 MCFOLD
float $getInterpolatedHeadRot(
float)
const;
1192 MCFOLD
float $getInterpolatedBodyYaw(
float)
const;
1194 MCAPI
float $getYawSpeedInDegreesPerSecond()
const;
1196 MCFOLD ::Vec3 $getInterpolatedRidingOffset(
float,
int const)
const;
1198 MCAPI
bool $isFireImmune()
const;
1202 MCAPI
bool $canDisableShield();
1204 MCAPI
void $teleportTo(
::Vec3 const& pos,
bool shouldStopRiding,
int,
int,
bool keepVelocity);
1206 MCAPI
void $lerpMotion(
::Vec3 const& delta);
1208 MCAPI ::std::unique_ptr<::Packet> $tryCreateAddActorPacket();
1210 MCAPI
void $normalTick();
1212 MCAPI
void $baseTick();
1214 MCAPI
void $passengerTick();
1216 MCAPI
bool $startRiding(::Actor& vehicle,
bool forceRiding);
1218 MCAPI
void $addPassenger(::Actor& passenger);
1221 MCAPI ::std::string $getExitTip(::std::string
const& kind, ::InputMode mode, ::NewInteractionModel scheme)
const;
1224 MCAPI ::std::string $getEntityLocNameString()
const;
1226 MCAPI
bool $isInvisible()
const;
1228 MCAPI
bool $canShowNameTag()
const;
1230 MCAPI ::std::string $getFormattedNameTag()
const;
1232 MCFOLD ::mce::Color $getNameTagTextColor()
const;
1234 MCAPI
float $getShadowRadius()
const;
1236 MCFOLD ::Vec3 $getHeadLookVector(
float a)
const;
1238 MCFOLD
bool $canInteractWithOtherEntitiesInGame()
const;
1242 MCFOLD
void $playerTouch(
::Player&);
1244 MCFOLD
bool $isImmobile()
const;
1246 MCAPI
bool $isSilentObserver()
const;
1248 MCFOLD
bool $isSleeping()
const;
1250 MCFOLD
void $setSleeping(
bool);
1252 MCAPI
void $setSneaking(
bool value);
1254 MCFOLD
bool $isBlocking()
const;
1258 MCFOLD
bool $isAlive()
const;
1260 MCFOLD
bool $isOnFire()
const;
1262 MCFOLD
bool $isSurfaceMob()
const;
1264 MCFOLD
bool $isTargetable()
const;
1266 MCAPI
void $setTarget(::Actor* entity);
1268 MCFOLD
bool $isValidTarget(::Actor*)
const;
1271 MCAPI
bool $attack(::Actor& target, ::SharedTypes::Legacy::ActorDamageCause
const&);
1274 MCAPI
void $performRangedAttack(::Actor& target,
float);
1278 MCFOLD
void $setSitting(
bool value);
1280 MCFOLD
void $onTame();
1282 MCFOLD
void $onFailedTame();
1284 MCAPI
void $setStanding(
bool value);
1286 MCAPI
bool $canPowerJump()
const;
1288 MCAPI
bool $isEnchanted()
const;
1290 MCAPI
void $playAmbientSound();
1292 MCAPI ::SharedTypes::Legacy::LevelSoundEvent $getAmbientSound()
const;
1297 MCAPI ::SharedTypes::Legacy::ActorDamageCause $getBlockDamageCause(
::Block const& block)
const;
1300 MCAPI
bool $doFireHurt(
int amount);
1302 MCAPI
void $onLightningHit();
1304 MCAPI
void $feed(
int itemId);
1306 MCAPI
void $handleEntityEvent(::ActorEvent eventId,
int data);
1308 MCFOLD ::HashedString
const& $getActorRendererId()
const;
1310 MCAPI
void $despawn();
1312 MCAPI
void $setArmor(::SharedTypes::Legacy::ArmorSlot slot,
::ItemStack const& item);
1314 MCFOLD ::ArmorMaterialType $getArmorMaterialTypeInSlot(::SharedTypes::Legacy::ArmorSlot)
const;
1316 MCFOLD
int $getArmorTextureIndexInSlot(::SharedTypes::Legacy::ArmorSlot)
const;
1318 MCFOLD
float $getArmorColorInSlot(::SharedTypes::Legacy::ArmorSlot,
int)
const;
1320 MCFOLD
void $setEquippedSlot(::SharedTypes::Legacy::EquipmentSlot,
::ItemStack const&);
1322 MCAPI
void $setCarriedItem(
::ItemStack const& item);
1324 MCAPI ::ItemStack
const& $getCarriedItem()
const;
1326 MCAPI
void $setOffhandSlot(
::ItemStack const& item);
1328 MCAPI ::ItemStack
const& $getEquippedTotem()
const;
1330 MCAPI
bool $consumeTotem();
1334 MCFOLD ::HashedString
const& $queryEntityRenderer()
const;
1336 MCFOLD ::ActorUniqueID $getSourceUniqueID()
const;
1338 MCFOLD
bool $canFreeze()
const;
1340 MCAPI ::AABB $getLiquidAABB(::MaterialType
const liquidType)
const;
1342 MCAPI
void $handleInsidePortal(
::BlockPos const& portalPos);
1344 MCAPI
bool $canChangeDimensionsUsingPortal()
const;
1346 MCAPI
void $changeDimension(::DimensionType toId);
1350 MCFOLD ::ActorUniqueID $getControllingPlayer()
const;
1354 MCAPI
void $onSynchedDataUpdate(
int dataId);
1356 MCAPI
bool $canAddPassenger(::Actor& passenger)
const;
1358 MCFOLD
bool $canPickupItem(
::ItemStack const&)
const;
1360 MCFOLD
bool $canBePulledIntoVehicle()
const;
1362 MCFOLD
bool $inCaravan()
const;
1364 MCAPI
void $sendMotionPacketIfNeeded();
1366 MCFOLD
bool $canSynchronizeNewEntity()
const;
1368 MCAPI
void $startSwimming();
1370 MCAPI
void $stopSwimming();
1372 MCFOLD
void $buildDebugInfo(::std::string&)
const;
1374 MCAPI ::CommandPermissionLevel $getCommandPermissionLevel()
const;
1376 MCFOLD
int $getDeathTime()
const;
1378 MCAPI
bool $canBeAffected(uint
id)
const;
1384 MCAPI
bool $canObstructSpawningAndBlockPlacement()
const;
1386 MCAPI ::AnimationComponent& $getAnimationComponent();
1388 MCAPI
void $openContainerComponent(
::Player& player);
1390 MCFOLD
bool $swing(::ActorSwingSource);
1392 MCAPI
void $useItem(
::ItemStackBase& item, ::ItemUseMethod itemUseMethod,
bool consumeItem);
1394 MCAPI
void $getDebugText(::std::vector<::std::string>& outputInfo);
1396 MCAPI
float $getMapDecorationRotation()
const;
1398 MCAPI
float $getPassengerYRotation(::Actor
const& passenger)
const;
1402 MCAPI
bool $drop(
::ItemStack const& item,
bool const randomly);
1406 MCFOLD
bool $canDestroyBlock(
::Block const&)
const;
1408 MCFOLD
void $setAuxValue(
int);
1416 MCAPI
bool $shouldDropDeathLoot()
const;
1418 MCAPI
void $applySnapshot(
1423 MCFOLD
void $onPush(::Actor&);
1425 MCFOLD ::std::optional<::BlockPos> $getLastDeathPos()
const;
1427 MCFOLD ::std::optional<::DimensionType> $getLastDeathDimension()
const;
1429 MCFOLD
bool $hasDiedBefore()
const;
1431 MCFOLD
void $doEnterWaterSplashEffect();
1433 MCFOLD
void $doExitWaterSplashEffect();
1435 MCAPI
void $doWaterSplashEffect();
1437 MCAPI
bool $_shouldProvideFeedbackOnHandContainerItemSet(::HandSlot handSlot,
::ItemStack const& item)
const;
1439 MCAPI
bool $_shouldProvideFeedbackOnArmorSet(::SharedTypes::Legacy::ArmorSlot slot,
::ItemStack const& item)
const;
1445 MCAPI
void $addAdditionalSaveData(
::CompoundTag& tag)
const;
1453 MCAPI
static void** $vftable();