105 using EntityBlockCollisionCallback =
109 LLNDAPI
class EntityContext& getEntityContext() {
return mEntityContext; }
110 LLNDAPI
class EntityContext const& getEntityContext()
const {
return mEntityContext; }
112 LLAPI
void refresh();
116 LLNDAPI std::string
const& getTypeName()
const;
118 LLNDAPI
class Vec3 getFeetPos() const;
120 LLNDAPI
class Vec3 getHeadPos() const;
122 LLNDAPI
class BlockPos getFeetBlockPos() const;
124 LLNDAPI
bool isSimulatedPlayer()
const;
126 LLNDAPI
bool isOnGround()
const;
128 LLAPI
void setOnFire(
int time,
bool isEffect =
true);
129 LLAPI
void stopFire();
131 LLNDAPI
Vec3 getVelocity()
const;
132 LLNDAPI
float getPosDeltaPerSecLength()
const;
134 LLAPI
bool hurtByCause(
136 ::SharedTypes::Legacy::ActorDamageCause cause = ::SharedTypes::Legacy::ActorDamageCause::Override,
142 bool includeActor =
true,
143 bool includeBlock =
true,
144 std::function<bool(
class BlockSource const&,
class Block const&,
bool)>
const& blockCheckFunction =
145 [](
auto&&...) ->
bool {
return true; }
151 LLAPI
void setName(std::string
const& name);
153 LLNDAPI
float evalMolang(std::string
const& expression);
155 LLNDAPI
AABB const& getAABB()
const {
return mBuiltInComponents->mAABBShapeComponent->mAABB; }
157 LLAPI static ::Actor* tryGetFromEntity(
::EntityContext& entity,
bool includeRemoved);
159 [[nodiscard]]
Level& getLevel()
const {
return *
reinterpret_cast<Level*
>(mLevel); }
161 [[nodiscard]]
Vec3 const& getPosition()
const {
return mBuiltInComponents->mStateVectorComponent->mPos; }
163 [[nodiscard]]
Vec3 const& getPosDelta()
const {
return mBuiltInComponents->mStateVectorComponent->mPosDelta; }
165 [[nodiscard]]
Vec2 const& getRotation()
const {
166 return mBuiltInComponents->mActorRotationComponent->mRotationDegree;
169 [[nodiscard]]
bool hasCategory(ActorCategory category)
const {
return (mCategories & category) == category; }
171 LLNDAPI ::DimensionType getDimensionId()
const;
176 ::ll::TypedStorage<8, 24, ::EntityContext> mEntityContext;
177 ::ll::TypedStorage<8, 72, ::VariantParameterList> mInitParams;
178 ::ll::TypedStorage<8, 32, ::std::string> mCustomInitEventName;
179 ::ll::TypedStorage<1, 1, ::ActorInitializationMethod> mInitMethod;
180 ::ll::TypedStorage<1, 1, bool> mForceInitMethodToSpawnOnReload;
181 ::ll::TypedStorage<1, 1, bool> mAdded;
182 ::ll::TypedStorage<8, 8, ::ActorDefinitionGroup*> mDefinitions;
183 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ActorDefinitionDescriptor>> mCurrentDescription;
184 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::RopeSystem>> mLeashRopeSystem;
185 ::ll::TypedStorage<8, 32, ::std::string> mAlias;
186 ::ll::TypedStorage<4, 68, ::std::optional<::glm::mat4x4>> mPreviousRenderTransform;
187 ::ll::TypedStorage<4, 4, int> mLastHurtByPlayerTime;
188 ::ll::TypedStorage<8, 16, ::std::map<::HashedString, ::std::vector<::std::vector<::glm::mat4x4>>>>
189 mPreviousBoneMatrices;
190 ::ll::TypedStorage<8, 48, ::SynchedActorDataEntityWrapper> mEntityData;
191 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SpatialActorNetworkData>> mNetworkData;
192 ::ll::TypedStorage<4, 12, ::Vec3> mSentDelta;
193 ::ll::TypedStorage<4, 4, float> mScale;
194 ::ll::TypedStorage<4, 4, float> mScalePrev;
195 ::ll::TypedStorage<1, 1, bool> mIgnoreLighting;
196 ::ll::TypedStorage<1, 1, bool> mFilterLighting;
197 ::ll::TypedStorage<4, 4, float> mStepSoundVolume;
198 ::ll::TypedStorage<4, 4, float> mStepSoundPitch;
199 ::ll::TypedStorage<8, 8, ::AABB*> mLastHitBB;
200 ::ll::TypedStorage<8, 8, uint64> mNameTagHash;
201 ::ll::TypedStorage<4, 4, float> mShadowOffset;
202 ::ll::TypedStorage<4, 4, float> mPushThrough;
203 ::ll::TypedStorage<4, 4, int> mTickCount;
204 ::ll::TypedStorage<4, 4, int> mInvulnerableTime;
205 ::ll::TypedStorage<4, 4, int> mLastHealth;
206 ::ll::TypedStorage<1, 1, bool> mInvulnerable;
207 ::ll::TypedStorage<4, 4, int> mFlameTexFrameIndex;
208 ::ll::TypedStorage<4, 4, float> mFlameFrameIncrementTime;
209 ::ll::TypedStorage<1, 1, bool> mAlwaysFireImmune;
210 ::ll::TypedStorage<1, 1, bool> mInheritRotationWhenRiding;
211 ::ll::TypedStorage<1, 1, bool> mForcedLoading;
212 ::ll::TypedStorage<1, 1, bool> mForceSendMotionPacket;
213 ::ll::TypedStorage<1, 1, bool> mHighlightedThisFrame;
214 ::ll::TypedStorage<1, 1, bool> mInitialized;
215 ::ll::TypedStorage<1, 1, bool> mProcessedOnChunkDiscard;
216 ::ll::TypedStorage<4, 4, float> mSoundVolume;
217 ::ll::TypedStorage<4, 4, int> mShakeTime;
218 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mLegacyUniqueID;
219 ::ll::TypedStorage<8, 16, ::WeakRef<::Dimension>> mDimension;
220 ::ll::TypedStorage<8, 8, ::ILevel*> mLevel;
221 ::ll::TypedStorage<8, 48, ::HashedString> mActorRendererId;
222 ::ll::TypedStorage<4, 4, ::ActorCategory> mCategories;
223 ::ll::TypedStorage<8, 32, ::BuiltInActorComponents> mBuiltInComponents;
224 ::ll::TypedStorage<8, 48, ::HashedString> mActorRendererIdThatAnimationComponentWasInitializedWith;
225 ::ll::TypedStorage<1, 1, bool> mChanged;
226 ::ll::TypedStorage<1, 1, bool> mRemoved;
227 ::ll::TypedStorage<1, 1, bool> mMovedToLimbo;
228 ::ll::TypedStorage<1, 1, bool> mMovedToUnloadedChunk;
229 ::ll::TypedStorage<1, 1, bool> mBlocksBuilding;
230 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::AnimationComponent>> mAnimationComponent;
231 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::AnimationComponent>> mUIAnimationComponent;
232 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mTargetId;
233 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mInLovePartner;
234 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CompoundTag>> mPersistingTradeOffers;
235 ::ll::TypedStorage<4, 4, int> mPersistingTradeRiches;
236 ::ll::TypedStorage<1, 1, bool> mPersistingTrade;
237 ::ll::TypedStorage<1, 1, bool> mEffectsDirty;
238 ::ll::TypedStorage<1, 1, bool> mLootDropped;
239 ::ll::TypedStorage<1, 1, bool> mLoadedFromNBTThisFrame;
240 ::ll::TypedStorage<4, 16, ::mce::Color> mHurtColor;
241 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ActorDefinitionDiffList>> mDefinitionList;
242 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CompoundTag>> mLoadedActorPropertyTag;
243 ::ll::TypedStorage<8, 16, ::ActorDefinitionPtr> mActorDefinitionPtr;
244 ::ll::TypedStorage<8, 32, ::std::string> mFilteredNameTag;
245 ::ll::TypedStorage<8, 24, ::ActorTerrainInterlockData> mTerrainInterlockData;
246 ::ll::TypedStorage<1, 1, bool> mWasHurtThisTick;
247 ::ll::TypedStorage<1, 1, bool> mWasHurtLastTick;
248 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mLastHurtMobId;
249 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mLastHurtByMobId;
250 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mLastHurtByPlayerId;
251 ::ll::TypedStorage<8, 8, uint64> mLastHurtTimestamp;
252 ::ll::TypedStorage<4, 4, ::SharedTypes::Legacy::ActorDamageCause> mLastHurtCause;
253 ::ll::TypedStorage<4, 4, float> mLastHurt;
254 ::ll::TypedStorage<4, 4, int> mLastHurtMobTimestamp;
255 ::ll::TypedStorage<4, 4, int> mLastHurtByMobTime;
256 ::ll::TypedStorage<4, 4, int> mLastHurtByMobTimestamp;
257 ::ll::TypedStorage<1, 1, bool> mIsPredictableProjectile;
258 ::ll::TypedStorage<1, 1, bool> mIsRenderingInUI;
259 ::ll::TypedStorage<1, 1, bool> mUpdateEffects;
260 ::ll::TypedStorage<1, 1, bool> mCanPickupItems;
261 ::ll::TypedStorage<1, 1, bool> mHasSetCanPickupItems;
262 ::ll::TypedStorage<1, 1, bool> mChainedDamageEffects;
263 ::ll::TypedStorage<4, 4, int> mAffectedByWaterBottleTicksToEffect;
264 ::ll::TypedStorage<4, 4, ::SpawnRuleEnum> mSpawnRulesEnum;
265 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ActionQueue>> mActionQueue;
266 ::ll::TypedStorage<8, 56, ::MolangVariableMap> mMolangVariables;
267 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mFishingHookID;
281 virtual void outOfWorld();
287 virtual void reloadHardcodedClient(::ActorInitializationMethod);
296 virtual void _serverInitItemStackIds();
299 virtual void _doInitialMove();
305 virtual void resetUserPos(::ActorResetRule);
308 virtual ::ActorType getOwnerEntityType();
311 virtual void remove();
314 virtual ::Vec3 getFiringPos()
const;
317 virtual float getInterpolatedBodyRot(
float a = 0.0f)
const;
320 virtual float getInterpolatedHeadRot(
float = 0.0f)
const;
323 virtual float getInterpolatedBodyYaw(
float = 0.0f)
const;
326 virtual float getYawSpeedInDegreesPerSecond()
const;
329 virtual ::Vec3 getInterpolatedRidingOffset(
float,
int const)
const;
332 virtual bool isFireImmune()
const;
338 virtual bool canDisableShield();
341 virtual void teleportTo(
::Vec3 const& pos,
bool shouldStopRiding,
int,
int,
bool keepVelocity);
344 virtual void lerpMotion(
::Vec3 const& delta);
347 virtual ::std::unique_ptr<::Packet> tryCreateAddActorPacket();
350 virtual void normalTick();
353 virtual void baseTick();
356 virtual void passengerTick();
359 virtual bool startRiding(
::Actor& vehicle,
bool forceRiding);
362 virtual void addPassenger(
::Actor& passenger);
365 virtual ::std::string getExitTip(::std::string
const& kind, ::InputMode mode, ::NewInteractionModel scheme)
const;
368 virtual ::std::string getEntityLocNameString()
const;
371 virtual bool isInvisible()
const;
374 virtual bool canShowNameTag()
const;
377 virtual ::std::string getFormattedNameTag()
const;
380 virtual ::mce::Color getNameTagTextColor()
const;
383 virtual float getShadowRadius()
const;
386 virtual ::Vec3 getHeadLookVector(
float a = 0.0f)
const;
389 virtual bool canInteractWithOtherEntitiesInGame()
const;
395 virtual void playerTouch(
::Player&);
398 virtual bool isImmobile()
const;
401 virtual bool isSilentObserver()
const;
404 virtual bool isSleeping()
const;
407 virtual void setSleeping(
bool);
410 virtual void setSneaking(
bool value);
413 virtual bool isBlocking()
const;
419 virtual bool isAlive()
const;
422 virtual bool isOnFire()
const;
425 virtual bool isSurfaceMob()
const;
428 virtual bool isTargetable()
const;
431 virtual void setTarget(
::Actor* entity);
434 virtual bool isValidTarget(
::Actor*)
const;
437 virtual bool attack(
::Actor&, ::SharedTypes::Legacy::ActorDamageCause
const&);
440 virtual void performRangedAttack(
::Actor& target,
float);
446 virtual void setSitting(
bool value);
449 virtual void onTame();
452 virtual void onFailedTame();
455 virtual void setStanding(
bool value);
458 virtual bool canPowerJump()
const;
461 virtual bool isEnchanted()
const;
464 virtual void playAmbientSound();
467 virtual ::SharedTypes::Legacy::LevelSoundEvent getAmbientSound()
const;
473 virtual ::SharedTypes::Legacy::ActorDamageCause getBlockDamageCause(
::Block const&)
const;
476 virtual bool doFireHurt(
int amount);
479 virtual void onLightningHit();
482 virtual void feed(
int itemId);
485 virtual void handleEntityEvent(::ActorEvent eventId,
int data);
488 virtual ::HashedString
const& getActorRendererId()
const;
491 virtual void despawn();
494 virtual void setArmor(::SharedTypes::Legacy::ArmorSlot slot,
::ItemStack const& item);
497 virtual ::ArmorMaterialType getArmorMaterialTypeInSlot(::SharedTypes::Legacy::ArmorSlot)
const;
500 virtual int getArmorTextureIndexInSlot(::SharedTypes::Legacy::ArmorSlot)
const;
503 virtual float getArmorColorInSlot(::SharedTypes::Legacy::ArmorSlot,
int)
const;
506 virtual void setEquippedSlot(::SharedTypes::Legacy::EquipmentSlot,
::ItemStack const&);
509 virtual void setCarriedItem(
::ItemStack const& item);
512 virtual ::ItemStack
const& getCarriedItem()
const;
515 virtual void setOffhandSlot(
::ItemStack const& item);
518 virtual ::ItemStack
const& getEquippedTotem()
const;
521 virtual bool consumeTotem();
527 virtual ::HashedString
const& queryEntityRenderer()
const;
530 virtual ::ActorUniqueID getSourceUniqueID()
const;
533 virtual bool canFreeze()
const;
536 virtual ::AABB getLiquidAABB(::MaterialType
const)
const;
539 virtual void handleInsidePortal(
::BlockPos const& portalPos);
542 virtual bool canChangeDimensionsUsingPortal()
const;
551 virtual ::ActorUniqueID getControllingPlayer()
const;
557 virtual void onSynchedDataUpdate(
int dataId);
560 virtual bool canAddPassenger(
::Actor& passenger)
const;
563 virtual bool canPickupItem(
::ItemStack const&)
const;
566 virtual bool canBePulledIntoVehicle()
const;
569 virtual bool inCaravan()
const;
572 virtual void sendMotionPacketIfNeeded();
575 virtual bool canSynchronizeNewEntity()
const;
578 virtual void startSwimming();
581 virtual void stopSwimming();
584 virtual void buildDebugInfo(::std::string&)
const;
587 virtual ::CommandPermissionLevel getCommandPermissionLevel()
const;
590 virtual int getDeathTime()
const;
593 virtual bool canBeAffected(uint
id)
const;
602 virtual bool canObstructSpawningAndBlockPlacement()
const;
605 virtual ::AnimationComponent& getAnimationComponent();
608 virtual void openContainerComponent(
::Player& player);
611 virtual bool swing();
614 virtual void useItem(
::ItemStackBase& item, ::ItemUseMethod itemUseMethod,
bool consumeItem);
617 virtual void getDebugText(::std::vector<::std::string>& outputInfo);
620 virtual float getMapDecorationRotation()
const;
623 virtual float getPassengerYRotation(
::Actor const& passenger)
const;
629 virtual bool drop(
::ItemStack const& item,
bool const randomly);
635 virtual bool canDestroyBlock(
::Block const&)
const;
638 virtual void setAuxValue(
int);
650 virtual bool shouldDropDeathLoot()
const;
653 virtual void applySnapshot(
662 virtual ::std::optional<::BlockPos> getLastDeathPos()
const;
665 virtual ::std::optional<::DimensionType> getLastDeathDimension()
const;
668 virtual bool hasDiedBefore()
const;
671 virtual void doEnterWaterSplashEffect();
674 virtual void doExitWaterSplashEffect();
677 virtual void doWaterSplashEffect();
680 virtual bool _shouldProvideFeedbackOnHandContainerItemSet(::HandSlot handSlot,
::ItemStack const& item)
const;
683 virtual bool _shouldProvideFeedbackOnArmorSet(::SharedTypes::Legacy::ArmorSlot slot,
::ItemStack const& item)
const;
692 virtual void addAdditionalSaveData(
::CompoundTag& tag)
const;
706 MCAPI ::BuiltInActorComponents _addActorBuiltInComponents();
708 MCAPI
void _addActorNonBuiltInComponents();
710 MCAPI ::ItemActor
const* _drop(
::ItemStack const& item,
bool randomly);
712 MCAPI ::std::vector<::MobEffectInstance>& _getAllEffectsNonConst();
714 MCAPI ::AnimationComponent& _getAnimationComponent(
715 ::std::shared_ptr<::AnimationComponent>& animationComponent,
716 ::AnimationComponentGroupType group
719 MCAPI
void _initializeLeashRopeSystem(
::Actor* holder);
721 MCAPI
bool _isHeadInWater()
const;
723 MCAPI
bool _isItemStackNetManagerEnabled()
const;
725 MCAPI
void _onVibrationDetected();
727 MCAPI
void _sendDirtyActorData();
733 MCAPI
void _setHandContainerItem(
::ItemStack const& item, ::HandSlot handSlot);
735 MCAPI
void _setHeightOffset(
float heightOffset);
737 MCAPI
void _setupServerAnimationComponent();
739 MCAPI
void _setupTagsComponent();
741 MCAPI
void _syncTickCountIfAnimationComponentShared();
745 MCAPI
void _tryPlantWitherRose();
747 MCAPI
void _updateComposition(
bool reload);
751 MCAPI
bool addTag(::std::string
const& tag);
753 MCAPI
void buildDebugGroupInfo(::std::string& out)
const;
755 MCAPI
void burn(
int damage,
bool inFire);
757 MCAPI
bool canAttack(
::Actor const& entity)
const;
759 MCAPI
bool canBeginOrContinueClimbingLadder()
const;
761 MCAPI
bool canCurrentlySwim()
const;
763 MCAPI
bool canFly()
const;
765 MCAPI
bool canMate(
::Actor const& partner)
const;
767 MCAPI
bool canReceiveMobEffectsFromGameplay()
const;
769 MCAPI
bool canSee(
::Actor const& target, ::ShapeType obstructionType)
const;
771 MCAPI
bool canSee(
::Vec3 const& targetPos, ::ShapeType obstructionType)
const;
773 MCAPI
bool canSeeDaylight()
const;
775 MCAPI
void checkFallDamage(
float ya,
bool onGround,
bool recheckLiquid);
777 MCAPI
void chorusFruitTeleport(
::Vec3 const& range);
779 MCAPI
bool closerThan(
::Actor const& e,
float distanceXZ,
float distanceY)
const;
781 MCAPI
void consumeItem(
::ItemActor& itemActor,
int count);
783 MCAPI ::UpdateEquipPacket createUpdateEquipPacket(
int containerID);
785 MCAPI
void deregisterTagsFromLevelCache();
791 MCAPI
void equip(::std::string
const& lootTableFilePath);
793 MCAPI
void equipFromEquipmentDefinition();
795 MCAPI
float evaluateSeatRotation(
::RideableComponent const& rideable,
bool useVehicleRenderParams);
797 MCAPI
void exitVehicle(
bool exitFromPassenger,
bool actorIsBeingDestroyed,
bool wasEjectedByActivatorRail);
799 MCAPI ::std::vector<::DistanceSortedActor> fetchNearbyActorsSorted(
::Vec3 const& distance, ::ActorType actorTypeId);
801 MCAPI ::ActorDefinitionIdentifier
const& getActorIdentifier()
const;
803 MCAPI ::ItemStack
const& getArmor(::SharedTypes::Legacy::ArmorSlot slot)
const;
805 MCAPI ::Vec3 getAttachPos(::SharedTypes::Legacy::ActorLocation location)
const;
807 MCAPI ::Vec3 getAttachPos(::SharedTypes::Legacy::ActorLocation location,
float alpha)
const;
809 MCAPI ::AttributeInstance
const& getAttribute(
::Attribute const& attribute)
const;
811 MCAPI ::BlockPos getBlockPosCurrentlyStandingOn(
::Actor const* actor)
const;
813 MCAPI
float getBrightness(
float a = 0.0f)
const;
815 MCAPI ::ItemStack
const& getCarriedItemInSlotPreferredBy(
::ItemStack const& item)
const;
817 MCAPI
int getChestSlots()
const;
819 MCFOLD ::Dimension& getDimension()
const;
821 MCFOLD ::BlockSource& getDimensionBlockSource()
const;
823 MCFOLD ::BlockSource
const& getDimensionBlockSourceConst()
const;
825 MCFOLD ::Dimension
const& getDimensionConst()
const;
827 MCAPI ::MobEffectInstance
const* getEffect(
::MobEffect const& effect)
const;
829 MCAPI ::ActorType getEntityTypeId()
const;
831 MCAPI
int getEquipSlots()
const;
833 MCAPI ::SharedTypes::Legacy::EquipmentSlot getEquipmentSlotForItem(
::ItemStack const& item)
const;
835 MCAPI ::ItemStack
const& getEquippedSlot(::SharedTypes::Legacy::EquipmentSlot slot)
const;
837 MCAPI ::Vec3 getEyePos()
const;
839 MCAPI
float getFallDistance()
const;
841 MCAPI ::Actor* getFirstPassenger()
const;
843 MCAPI ::Vec3 getInterpolatedPosition(
float a = 0.0f)
const;
845 MCAPI ::Vec3 getInterpolatedRidingPosition(
float a = 0.0f)
const;
847 MCAPI
bool getIsExperienceDropEnabled()
const;
849 MCAPI ::Mob* getLastHurtByMob();
851 MCAPI ::Player* getLastHurtByPlayer();
853 MCAPI ::ActorUniqueID getLeashHolder()
const;
855 MCAPI uint64 getLevelTimeStamp()
const;
857 MCAPI ::std::vector<::ActorLink> getLinks()
const;
859 MCAPI ::LootTable* getLootTable();
861 MCAPI
int getMarkVariant()
const;
863 MCAPI
int getMaxHealth()
const;
865 MCAPI ::MutableAttributeWithContext getMutableAttribute(
::Attribute const& attribute);
867 MCAPI ::std::string
const& getNameTag()
const;
869 MCAPI ::ItemStack
const& getOffhandSlot()
const;
871 MCAPI
int getOnDeathExperience();
873 MCAPI ::DynamicProperties& getOrAddDynamicProperties();
875 MCAPI ::ActorUniqueID
const& getOrCreateUniqueID()
const;
877 MCAPI ::Mob* getOwner()
const;
879 MCFOLD ::ActorUniqueID
const getOwnerId()
const;
881 MCAPI
int getPassengerIndex(
::Actor const& passenger)
const;
883 MCAPI ::std::unique_ptr<::CompoundTag> getPersistingTradeOffers();
885 MCAPI ::Player* getPlayerOwner()
const;
887 MCAPI ::Random& getRandom()
const;
889 MCAPI ::Bedrock::Safety::RedactableString getRedactableNameTag()
const;
891 MCAPI
float getRidingHeight()
const;
893 MCAPI ::ActorRuntimeID getRuntimeID()
const;
895 MCAPI
float getSpeedInMetersPerSecond()
const;
897 MCAPI
bool getStatusFlag(::ActorFlags flag)
const;
899 MCAPI
int getStrength()
const;
901 MCAPI
int getStructuralIntegrity()
const;
903 MCAPI ::Actor* getTarget()
const;
905 MCAPI ::MerchantRecipeList* getTradeOffers();
907 MCAPI ::Player* getTradingPlayer()
const;
909 MCAPI ::ValidMutableAttributeWithContext getValidMutableAttribute(
::Attribute const& attribute);
911 MCFOLD
int getVariant()
const;
913 MCAPI ::Actor* getVehicle()
const;
915 MCAPI ::Actor* getVehicleRoot()
const;
917 MCFOLD ::Vec3 getViewVector(
float a = 0.0f)
const;
919 MCAPI ::WeakRef<::EntityContext>
const getWeakEntity()
const;
921 MCAPI
void handleFallDamage(
float fallDistance,
float multiplier,
::ActorDamageSource source);
925 MCAPI
bool hasDimension()
const;
927 MCAPI
bool hasEffect(
::MobEffect const& effect)
const;
931 MCAPI
bool hasPlayerPassenger()
const;
933 MCAPI
bool hasSaddle()
const;
935 MCAPI
bool hasTag(::std::string
const& tag)
const;
937 MCAPI
void heal(
int heal);
941 MCAPI
bool inDownwardFlowingLiquid()
const;
943 MCAPI
void initActorProperties();
947 MCAPI
bool isAdventure()
const;
949 MCAPI
bool isAttackableGamemode()
const;
951 MCAPI
bool isAutonomous()
const;
953 MCAPI
bool isBaby()
const;
955 MCAPI
bool isChested()
const;
957 MCAPI
bool isClientSide()
const;
959 MCAPI
bool isCreative()
const;
961 MCAPI
bool isDead()
const;
963 MCAPI
bool isDoorOpener()
const;
965 MCAPI
bool isGlobal()
const;
967 MCAPI
bool isInClouds()
const;
969 MCAPI
bool isInLava()
const;
971 MCAPI
bool isInLove()
const;
973 MCAPI
bool isInPrecipitation()
const;
975 MCAPI
bool isInRain()
const;
977 MCAPI
bool isInSnow()
const;
979 MCAPI
bool isInThunderstorm()
const;
981 MCAPI
bool isInWater()
const;
983 MCAPI
bool isInWaterOrRain()
const;
985 MCAPI
bool isInWorld()
const;
987 MCAPI
bool isInvertedHealAndHarm()
const;
989 MCAPI
bool isJumping()
const;
991 MCAPI
bool isLeashed()
const;
993 MCFOLD
bool isLocalPlayer()
const;
995 MCAPI
bool isOverWater()
const;
997 MCAPI
bool isPassenger(
::Actor const& passenger)
const;
999 MCAPI
bool isPersistent()
const;
1001 MCFOLD
bool isPlayer()
const;
1003 MCAPI
bool isPowered()
const;
1005 MCAPI
bool isRemotePlayer()
const;
1007 MCAPI
bool isRiding()
const;
1009 MCAPI
bool isRiding(
::Actor* targetVehicle)
const;
1011 MCAPI
bool isSilent()
const;
1013 MCAPI
bool isSitting()
const;
1015 MCAPI
bool isSpectator()
const;
1017 MCAPI
bool isSurvival()
const;
1019 MCAPI
bool isSwimming()
const;
1021 MCAPI
bool isTame()
const;
1023 MCAPI
bool isTouchingDamageBlock()
const;
1025 MCAPI
bool isTrading()
const;
1027 MCAPI
bool isType(::ActorType type)
const;
1029 MCAPI
bool isUnderLiquid(::MaterialType type)
const;
1031 MCAPI
bool isWearingLeatherArmor()
const;
1033 MCAPI
bool isWorldBuilder()
const;
1035 MCAPI
void killed(
::Actor& entity);
1037 MCAPI
void lerpTo(
::Vec3 const& pos,
::Vec2 const& rot,
int steps);
1044 MCAPI
void move(
::Vec3 const& posDelta);
1046 MCAPI
void moveTo(
::Vec3 const& pos,
::Vec2 const& rot);
1048 MCAPI
bool onClimbableBlock()
const;
1054 MCAPI
void pickUpItem(
::ItemActor& itemActor,
int count);
1056 MCAPI
void playSound(::SharedTypes::Legacy::LevelSoundEvent type,
::Vec3 const& pos,
int data);
1059 playSynchronizedSound(::SharedTypes::Legacy::LevelSoundEvent type,
::Vec3 const& pos,
int data,
bool isGlobal);
1061 MCAPI
void positionPassenger(
::Actor& passenger);
1065 MCAPI
void postSplashGameEvent();
1067 MCAPI
void pushBackActionEventToActionQueue(
::ActionEvent actionEvent);
1069 MCAPI
void pushOutOfBlocks(
::Vec3 const& vec);
1071 MCAPI
void refreshComponents();
1073 MCAPI
void reload();
1075 MCAPI
void removeAllEffects();
1077 MCAPI
void removeAllPassengers(
bool actorIsBeingDestroyed,
bool exitFromPassenger);
1079 MCAPI
void removeEffect(
int effectId);
1081 MCAPI
bool removeTag(::std::string
const& tag);
1087 MCAPI ::std::unique_ptr<::ListTag> saveLinks()
const;
1089 MCAPI
void savePersistingTrade(::std::unique_ptr<::CompoundTag> offersTag,
int riches);
1093 MCAPI
void sendActorDefinitionEventTriggered(::std::string
const& event);
1095 MCAPI
void serializationSetHealth(
int newHealth);
1099 MCAPI
void setAutonomous(
bool g);
1103 MCAPI
void setBlockTarget(
::BlockPos const& target);
1107 MCAPI
void setInLove(
::Actor* lovePartner);
1109 MCAPI
void setInvisible(
bool value);
1111 MCAPI
void setJumping(
bool jump);
1113 MCAPI
void setLastHurtByMob(
::Mob* mob);
1115 MCAPI
void setLastHurtByPlayer(
::Player* player);
1117 MCAPI
void setLastHurtMob(
::Mob const& target);
1121 MCAPI
void setLimitedLifetimeTicks(
int lifetimeTicks);
1123 MCAPI
void setMarkVariant(
int value);
1125 MCAPI
void setNameTag(::std::string
const& name);
1127 MCAPI
void setPersistent();
1129 MCAPI
void setPreviousPosRot();
1133 MCAPI
void setSkinID(
int value);
1135 MCAPI
void setStatusFlag(::ActorFlags flag,
bool value);
1137 MCAPI
void setStrength(
int strength);
1139 MCAPI
void setStrengthMax(
int strength);
1141 MCAPI
void setTradingPlayer(
::Player* player);
1143 MCFOLD
void setVariant(
int value);
1147 MCAPI
bool shouldTick()
const;
1149 MCAPI ::ItemActor* spawnAtLocation(
::ItemStack const& item,
float yOffs);
1151 MCAPI
void spawnEatParticles(
::ItemStack const& itemInUse,
int count);
1153 MCAPI
void spawnTrailBubbles();
1156 stopRiding(
bool exitFromPassenger,
bool actorIsBeingDestroyed,
bool switchingVehicles,
bool isBeingTeleported);
1158 MCAPI
void synchronousSetSize(
float w,
float h);
1160 MCAPI
void teleportPassengersTo(
::Vec3 const& pos,
int cause,
int entityType);
1164 MCAPI
void tickBlockDamage();
1166 MCAPI
void tickLeash();
1168 MCAPI
void triggerActorRemovedEvent();
1170 MCAPI ::std::optional<int> tryGetEquippableSlotForItem(
::ItemDescriptor item)
const;
1172 MCAPI
bool tryTeleportTo(
::Vec3 const& pos,
bool landOnBlock,
bool avoidLiquid,
int cause,
int entityType);
1174 MCAPI
void updateDescription();
1176 MCAPI
void updateInsideBlock();
1178 MCAPI
void updateInvisibilityStatus();
1182 MCAPI
void updateTickingData();
1184 MCAPI
void wobble();
1190 MCAPI
static void _moveRelative(
::Vec3& posDelta,
float yRotDegrees,
float xa,
float ya,
float za,
float speed);
1192 MCAPI static ::BlockPos getBlockPosCurrentlyStandingOn(
1196 float ignoreGapBelow,
1200 MCAPI static ::std::vector<::BlockPos> getBlocksCurrentlyStandingOn(
1203 float ignoreGapBelow,
1207 MCAPI static ::MobEffectInstance
const*
1208 getEffect(::std::vector<::MobEffectInstance>
const& effects,
::MobEffect const& effect);
1210 MCAPI static ::AABB getLiquidAABB(
::AABB const& aabb, ::MaterialType liquidType);
1212 MCAPI static ::Vec3 getViewVector(
::Vec2 const& prevRot,
::Vec2 const& rot,
float a);
1216 MCAPI static ::Actor*
1243 MCAPI
void $outOfWorld();
1247 MCAPI
void $reloadHardcodedClient(::ActorInitializationMethod);
1253 MCAPI
void $_serverInitItemStackIds();
1255 MCAPI
void $_doInitialMove();
1257 MCFOLD
void $resetUserPos(::ActorResetRule);
1259 MCAPI ::ActorType $getOwnerEntityType();
1261 MCAPI
void $remove();
1263 MCAPI ::Vec3 $getFiringPos()
const;
1265 MCAPI
float $getInterpolatedBodyRot(
float a)
const;
1267 MCFOLD
float $getInterpolatedHeadRot(
float)
const;
1269 MCFOLD
float $getInterpolatedBodyYaw(
float)
const;
1271 MCAPI
float $getYawSpeedInDegreesPerSecond()
const;
1273 MCFOLD ::Vec3 $getInterpolatedRidingOffset(
float,
int const)
const;
1275 MCAPI
bool $isFireImmune()
const;
1279 MCAPI
bool $canDisableShield();
1281 MCAPI
void $teleportTo(
::Vec3 const& pos,
bool shouldStopRiding,
int,
int,
bool keepVelocity);
1283 MCAPI
void $lerpMotion(
::Vec3 const& delta);
1285 MCAPI ::std::unique_ptr<::Packet> $tryCreateAddActorPacket();
1287 MCAPI
void $normalTick();
1289 MCAPI
void $baseTick();
1291 MCAPI
void $passengerTick();
1293 MCAPI
bool $startRiding(
::Actor& vehicle,
bool forceRiding);
1295 MCAPI
void $addPassenger(
::Actor& passenger);
1297 MCAPI ::std::string $getExitTip(::std::string
const& kind, ::InputMode mode, ::NewInteractionModel scheme)
const;
1299 MCAPI ::std::string $getEntityLocNameString()
const;
1301 MCAPI
bool $isInvisible()
const;
1303 MCAPI
bool $canShowNameTag()
const;
1305 MCAPI ::std::string $getFormattedNameTag()
const;
1307 MCFOLD ::mce::Color $getNameTagTextColor()
const;
1309 MCAPI
float $getShadowRadius()
const;
1311 MCFOLD ::Vec3 $getHeadLookVector(
float a)
const;
1313 MCFOLD
bool $canInteractWithOtherEntitiesInGame()
const;
1317 MCFOLD
void $playerTouch(
::Player&);
1319 MCFOLD
bool $isImmobile()
const;
1321 MCAPI
bool $isSilentObserver()
const;
1323 MCFOLD
bool $isSleeping()
const;
1325 MCFOLD
void $setSleeping(
bool);
1327 MCAPI
void $setSneaking(
bool value);
1329 MCFOLD
bool $isBlocking()
const;
1333 MCFOLD
bool $isAlive()
const;
1335 MCFOLD
bool $isOnFire()
const;
1337 MCFOLD
bool $isSurfaceMob()
const;
1339 MCFOLD
bool $isTargetable()
const;
1341 MCAPI
void $setTarget(
::Actor* entity);
1343 MCFOLD
bool $isValidTarget(
::Actor*)
const;
1345 MCAPI
void $performRangedAttack(
::Actor& target,
float);
1349 MCFOLD
void $setSitting(
bool value);
1351 MCFOLD
void $onTame();
1353 MCFOLD
void $onFailedTame();
1355 MCAPI
void $setStanding(
bool value);
1357 MCAPI
bool $canPowerJump()
const;
1359 MCAPI
bool $isEnchanted()
const;
1361 MCAPI
void $playAmbientSound();
1363 MCAPI ::SharedTypes::Legacy::LevelSoundEvent $getAmbientSound()
const;
1367 MCAPI
bool $doFireHurt(
int amount);
1369 MCAPI
void $onLightningHit();
1371 MCAPI
void $feed(
int itemId);
1373 MCAPI
void $handleEntityEvent(::ActorEvent eventId,
int data);
1375 MCFOLD ::HashedString
const& $getActorRendererId()
const;
1377 MCAPI
void $despawn();
1379 MCAPI
void $setArmor(::SharedTypes::Legacy::ArmorSlot slot,
::ItemStack const& item);
1381 MCFOLD ::ArmorMaterialType $getArmorMaterialTypeInSlot(::SharedTypes::Legacy::ArmorSlot)
const;
1383 MCFOLD
int $getArmorTextureIndexInSlot(::SharedTypes::Legacy::ArmorSlot)
const;
1385 MCFOLD
float $getArmorColorInSlot(::SharedTypes::Legacy::ArmorSlot,
int)
const;
1387 MCFOLD
void $setEquippedSlot(::SharedTypes::Legacy::EquipmentSlot,
::ItemStack const&);
1389 MCAPI
void $setCarriedItem(
::ItemStack const& item);
1391 MCAPI ::ItemStack
const& $getCarriedItem()
const;
1393 MCAPI
void $setOffhandSlot(
::ItemStack const& item);
1395 MCAPI ::ItemStack
const& $getEquippedTotem()
const;
1397 MCAPI
bool $consumeTotem();
1401 MCFOLD ::HashedString
const& $queryEntityRenderer()
const;
1403 MCFOLD ::ActorUniqueID $getSourceUniqueID()
const;
1405 MCFOLD
bool $canFreeze()
const;
1407 MCAPI
void $handleInsidePortal(
::BlockPos const& portalPos);
1409 MCAPI
bool $canChangeDimensionsUsingPortal()
const;
1415 MCFOLD ::ActorUniqueID $getControllingPlayer()
const;
1419 MCAPI
void $onSynchedDataUpdate(
int dataId);
1421 MCAPI
bool $canAddPassenger(
::Actor& passenger)
const;
1423 MCFOLD
bool $canPickupItem(
::ItemStack const&)
const;
1425 MCFOLD
bool $canBePulledIntoVehicle()
const;
1427 MCFOLD
bool $inCaravan()
const;
1429 MCAPI
void $sendMotionPacketIfNeeded();
1431 MCFOLD
bool $canSynchronizeNewEntity()
const;
1433 MCAPI
void $startSwimming();
1435 MCAPI
void $stopSwimming();
1437 MCFOLD
void $buildDebugInfo(::std::string&)
const;
1439 MCFOLD
int $getDeathTime()
const;
1441 MCAPI
bool $canBeAffected(uint
id)
const;
1447 MCAPI
bool $canObstructSpawningAndBlockPlacement()
const;
1449 MCAPI ::AnimationComponent& $getAnimationComponent();
1451 MCAPI
void $openContainerComponent(
::Player& player);
1453 MCFOLD
bool $swing();
1455 MCAPI
void $useItem(
::ItemStackBase& item, ::ItemUseMethod itemUseMethod,
bool consumeItem);
1457 MCAPI
void $getDebugText(::std::vector<::std::string>& outputInfo);
1459 MCAPI
float $getMapDecorationRotation()
const;
1461 MCAPI
float $getPassengerYRotation(
::Actor const& passenger)
const;
1465 MCAPI
bool $drop(
::ItemStack const& item,
bool const randomly);
1469 MCFOLD
bool $canDestroyBlock(
::Block const&)
const;
1471 MCFOLD
void $setAuxValue(
int);
1479 MCAPI
bool $shouldDropDeathLoot()
const;
1481 MCAPI
void $applySnapshot(
1486 MCFOLD
void $onPush(
::Actor&);
1488 MCFOLD ::std::optional<::BlockPos> $getLastDeathPos()
const;
1490 MCFOLD ::std::optional<::DimensionType> $getLastDeathDimension()
const;
1492 MCFOLD
bool $hasDiedBefore()
const;
1494 MCFOLD
void $doEnterWaterSplashEffect();
1496 MCFOLD
void $doExitWaterSplashEffect();
1498 MCAPI
void $doWaterSplashEffect();
1500 MCAPI
bool $_shouldProvideFeedbackOnHandContainerItemSet(::HandSlot handSlot,
::ItemStack const& item)
const;
1502 MCAPI
bool $_shouldProvideFeedbackOnArmorSet(::SharedTypes::Legacy::ArmorSlot slot,
::ItemStack const& item)
const;
1508 MCAPI
void $addAdditionalSaveData(
::CompoundTag& tag)
const;