116 using EntityBlockCollisionCallback =
120 LLNDAPI
class EntityContext& getEntityContext() {
return mEntityContext; }
121 LLNDAPI
class EntityContext const& getEntityContext()
const {
return mEntityContext; }
123 LLNDAPI
float distanceTo(
::Vec3 const& pos)
const;
125 LLNDAPI
float distanceToSqr(::Actor
const& e)
const;
127 LLNDAPI
float distanceToSqr(
::Vec3 const& pos)
const;
129 LLAPI
void refresh();
133 LLNDAPI std::string
const& getTypeName()
const;
135 LLNDAPI
class Vec3 getFeetPos() const;
137 LLNDAPI
class Vec3 getHeadPos() const;
139 LLNDAPI
class BlockPos getFeetBlockPos() const;
141 LLNDAPI
bool isSimulatedPlayer()
const;
143 LLNDAPI
bool isOnGround()
const;
145 LLAPI
void setOnFire(
int time,
bool hasEffect =
true);
146 LLAPI
void stopFire();
148 LLNDAPI
Vec3 getVelocity()
const;
149 LLNDAPI
float getPosDeltaPerSecLength()
const;
151 LLAPI
bool hurtByCause(
153 ::SharedTypes::Legacy::ActorDamageCause cause = ::SharedTypes::Legacy::ActorDamageCause::Override,
159 bool includeActor =
true,
160 bool includeBlock =
true,
161 std::function<bool(
class BlockSource const&,
class Block const&,
bool)>
const& blockCheckFunction =
162 [](
auto&&...) ->
bool {
return true; }
168 LLAPI
void setName(std::string
const& name);
170 LLNDAPI
float evalMolang(std::string
const& expression);
172 LLNDAPI
AABB const& getAABB()
const {
return mBuiltInComponents->mAABBShapeComponent->mAABB; }
174 LLAPI static ::Actor* tryGetFromEntity(
::EntityContext& entity,
bool includeRemoved);
176 [[nodiscard]]
Level& getLevel()
const {
return *
reinterpret_cast<Level*
>(mLevel); }
178 [[nodiscard]]
Vec3 const& getPosition()
const {
return mBuiltInComponents->mStateVectorComponent->mPos; }
180 [[nodiscard]]
Vec3 const& getPosDelta()
const {
return mBuiltInComponents->mStateVectorComponent->mPosDelta; }
182 [[nodiscard]]
Vec2 const& getRotation()
const {
return mBuiltInComponents->mActorRotationComponent->mRot; }
184 [[nodiscard]]
bool hasCategory(ActorCategory category)
const {
return (mCategories & category) == category; }
186 LLNDAPI ::DimensionType getDimensionId()
const;
188 [[nodiscard]]
inline bool isType(::ActorType type)
const {
return getEntityTypeId() == type; }
190 LLNDAPI
bool isPlayer()
const;
192 [[nodiscard]]
inline bool isClientSide()
const {
return !mLevel; }
194 LLNDAPI
bool isTouchingDamageBlock()
const;
196 LLNDAPI
int getHealth()
const;
198 LLNDAPI
int getMaxHealth()
const;
200 LLNDAPI
bool isInWorld()
const;
202 LLNDAPI
ItemStack const& getArmor(::SharedTypes::Legacy::ArmorSlot slot)
const;
204 LLNDAPI
bool getStatusFlag(::ActorFlags flag)
const;
206 LLNDAPI
bool isOnHotBlock()
const;
208 [[nodiscard]]
bool isSwimming()
const {
return getStatusFlag(::ActorFlags::Swimming); }
209 [[nodiscard]]
bool isMoving()
const {
return getStatusFlag(::ActorFlags::Moving); }
210 [[nodiscard]]
bool isSprinting()
const {
return getStatusFlag(::ActorFlags::Sprinting); }
211 [[nodiscard]]
bool isSneaking()
const {
return getStatusFlag(::ActorFlags::Sneaking); }
212 [[nodiscard]]
bool isCrawling()
const {
return getStatusFlag(::ActorFlags::Crawling); }
213 [[nodiscard]]
bool isGliding()
const {
return getStatusFlag(::ActorFlags::Gliding); }
214 [[nodiscard]]
bool isDancing()
const {
return getStatusFlag(::ActorFlags::Dancing); }
215 [[nodiscard]]
bool isHurt()
const {
216 if (
auto health = getHealth(); health > 0 && health < getMaxHealth()) {
223 LLNDAPI ::ItemStack
const& getOffhandSlot()
const;
225 LLNDAPI
bool isDead()
const;
227 LLNDAPI ::ItemStack
const& getEquippedSlot(::SharedTypes::Legacy::EquipmentSlot slot)
const;
232 ::ll::TypedStorage<8, 24, ::EntityContext> mEntityContext;
233 ::ll::TypedStorage<8, 72, ::VariantParameterList> mInitParams;
234 ::ll::TypedStorage<8, 32, ::std::string> mCustomInitEventName;
235 ::ll::TypedStorage<1, 1, ::ActorInitializationMethod> mInitMethod;
236 ::ll::TypedStorage<1, 1, bool> mForceInitMethodToSpawnOnReload;
237 ::ll::TypedStorage<1, 1, bool> mAdded;
238 ::ll::TypedStorage<8, 8, ::ActorDefinitionGroup*> mDefinitions;
239 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ActorDefinitionDescriptor>> mCurrentDescription;
240 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::RopeSystem>> mLeashRopeSystem;
241 ::ll::TypedStorage<8, 32, ::std::string> mAlias;
242 ::ll::TypedStorage<4, 68, ::std::optional<::glm::mat4x4>> mPreviousRenderTransform;
243 ::ll::TypedStorage<4, 4, int> mLastHurtByPlayerTime;
244 ::ll::TypedStorage<8, 16, ::std::map<::HashedString, ::std::vector<::std::vector<::glm::mat4x4>>>>
245 mPreviousBoneMatrices;
246 ::ll::TypedStorage<8, 48, ::SynchedActorDataEntityWrapper> mEntityData;
247 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SpatialActorNetworkData>> mNetworkData;
248 ::ll::TypedStorage<4, 12, ::Vec3> mSentDelta;
249 ::ll::TypedStorage<4, 4, float> mScale;
250 ::ll::TypedStorage<4, 4, float> mScalePrev;
251 ::ll::TypedStorage<1, 1, bool> mIgnoreLighting;
252 ::ll::TypedStorage<1, 1, bool> mFilterLighting;
253 ::ll::TypedStorage<4, 4, float> mStepSoundVolume;
254 ::ll::TypedStorage<4, 4, float> mStepSoundPitch;
255 ::ll::TypedStorage<8, 8, ::AABB*> mLastHitBB;
256 ::ll::TypedStorage<8, 8, uint64> mNameTagHash;
257 ::ll::TypedStorage<4, 4, float> mShadowOffset;
258 ::ll::TypedStorage<4, 4, float> mPushThrough;
259 ::ll::TypedStorage<4, 4, int> mTickCount;
260 ::ll::TypedStorage<4, 4, int> mInvulnerableTime;
261 ::ll::TypedStorage<4, 4, int> mLastHealth;
262 ::ll::TypedStorage<1, 1, bool> mInvulnerable;
263 ::ll::TypedStorage<4, 4, int> mFlameTexFrameIndex;
264 ::ll::TypedStorage<4, 4, float> mFlameFrameIncrementTime;
265 ::ll::TypedStorage<1, 1, bool> mAlwaysFireImmune;
266 ::ll::TypedStorage<1, 1, bool> mInheritRotationWhenRiding;
267 ::ll::TypedStorage<1, 1, bool> mForcedLoading;
268 ::ll::TypedStorage<1, 1, bool> mHighlightedThisFrame;
269 ::ll::TypedStorage<1, 1, bool> mInitialized;
270 ::ll::TypedStorage<1, 1, bool> mProcessedOnChunkDiscard;
271 ::ll::TypedStorage<4, 4, float> mSoundVolume;
272 ::ll::TypedStorage<4, 4, int> mShakeTime;
273 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mLegacyUniqueID;
274 ::ll::TypedStorage<8, 16, ::WeakRef<::Dimension>> mDimension;
275 ::ll::TypedStorage<8, 8, ::ILevel*> mLevel;
276 ::ll::TypedStorage<8, 48, ::HashedString> mActorRendererId;
277 ::ll::TypedStorage<4, 4, ::ActorCategory> mCategories;
278 ::ll::TypedStorage<4, 4, ::ActorVersion> mVersion;
279 ::ll::TypedStorage<8, 32, ::BuiltInActorComponents> mBuiltInComponents;
280 ::ll::TypedStorage<8, 48, ::HashedString> mActorRendererIdThatAnimationComponentWasInitializedWith;
281 ::ll::TypedStorage<1, 1, bool> mChanged;
282 ::ll::TypedStorage<1, 1, bool> mRemoved;
283 ::ll::TypedStorage<1, 1, bool> mMovedToLimbo;
284 ::ll::TypedStorage<1, 1, bool> mMovedToUnloadedChunk;
285 ::ll::TypedStorage<1, 1, bool> mBlocksBuilding;
286 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::AnimationComponent>> mAnimationComponent;
287 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::AnimationComponent>> mUIAnimationComponent;
288 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mTargetId;
289 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mInLovePartner;
290 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CompoundTag>> mPersistingTradeOffers;
291 ::ll::TypedStorage<4, 4, int> mPersistingTradeRiches;
292 ::ll::TypedStorage<1, 1, bool> mPersistingTrade;
293 ::ll::TypedStorage<1, 1, bool> mEffectsDirty;
294 ::ll::TypedStorage<1, 1, bool> mLootDropped;
295 ::ll::TypedStorage<1, 1, bool> mLoadedFromNBTThisFrame;
296 ::ll::TypedStorage<4, 16, ::mce::Color> mHurtColor;
297 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ActorDefinitionDiffList>> mDefinitionList;
298 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CompoundTag>> mLoadedActorPropertyTag;
299 ::ll::TypedStorage<8, 16, ::ActorDefinitionPtr> mActorDefinitionPtr;
300 ::ll::TypedStorage<8, 32, ::std::string> mFilteredNameTag;
301 ::ll::TypedStorage<8, 24, ::ActorTerrainInterlockData> mTerrainInterlockData;
302 ::ll::TypedStorage<1, 1, bool> mWasHurtThisTick;
303 ::ll::TypedStorage<1, 1, bool> mWasHurtLastTick;
304 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mLastHurtMobId;
305 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mLastHurtByMobId;
306 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mLastHurtByPlayerId;
307 ::ll::TypedStorage<8, 8, uint64> mLastHurtTimestamp;
308 ::ll::TypedStorage<4, 4, ::SharedTypes::Legacy::ActorDamageCause> mLastHurtCause;
309 ::ll::TypedStorage<4, 4, float> mLastHurt;
310 ::ll::TypedStorage<4, 4, int> mLastHurtMobTimestamp;
311 ::ll::TypedStorage<4, 4, int> mLastHurtByMobTime;
312 ::ll::TypedStorage<4, 4, int> mLastHurtByMobTimestamp;
313 ::ll::TypedStorage<1, 1, bool> mIsPredictableProjectile;
314 ::ll::TypedStorage<1, 1, bool> mIsRenderingInUI;
316 ::ll::TypedStorage<1, 1, bool> mIsOnScreen;
317 ::ll::TypedStorage<1, 1, bool> mUpdateBonesAndEffects;
319 ::ll::TypedStorage<1, 1, bool> mUpdateEffects;
320 ::ll::TypedStorage<1, 1, bool> mCanPickupItems;
321 ::ll::TypedStorage<1, 1, bool> mHasSetCanPickupItems;
322 ::ll::TypedStorage<1, 1, bool> mChainedDamageEffects;
323 ::ll::TypedStorage<4, 4, int> mAffectedByWaterBottleTicksToEffect;
324 ::ll::TypedStorage<4, 4, ::SpawnRuleEnum> mSpawnRulesEnum;
325 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ActionQueue>> mActionQueue;
326 ::ll::TypedStorage<8, 56, ::MolangVariableMap> mMolangVariables;
327 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mFishingHookID;
339 virtual void outOfWorld();
343 virtual void reloadHardcodedClient(::ActorInitializationMethod method);
345 virtual void initializeComponents(::ActorInitializationMethod method,
::VariantParameterList const& params);
349 virtual void _serverInitItemStackIds();
351 virtual void _doInitialMove();
355 virtual void resetUserPos(::ActorResetRule resetRule);
357 virtual ::ActorType getOwnerEntityType();
359 virtual void remove();
361 virtual ::Vec3 getFiringPos()
const;
363 virtual float getInterpolatedBodyRot(
float a = 0.0f)
const;
365 virtual float getInterpolatedHeadRot(
float a = 0.0f)
const;
367 virtual float getInterpolatedBodyYaw(
float a = 0.0f)
const;
369 virtual float getYawSpeedInDegreesPerSecond()
const;
371 virtual ::Vec3 getInterpolatedRidingOffset(
float,
int const)
const;
373 virtual bool isFireImmune()
const;
377 virtual bool canDisableShield();
380 teleportTo(
::Vec3 const& pos,
bool shouldStopRiding,
int cause,
int sourceEntityType,
bool keepVelocity);
382 virtual void lerpMotion(
::Vec3 const& delta);
384 virtual ::std::unique_ptr<::Packet> tryCreateAddActorPacket();
386 virtual void normalTick();
388 virtual void baseTick();
390 virtual void passengerTick();
392 virtual bool startRiding(::Actor& vehicle,
bool forceRiding);
394 virtual void addPassenger(::Actor& passenger);
396 virtual ::std::string getExitTip(::std::string
const& kind, ::InputMode mode, ::NewInteractionModel scheme)
const;
398 virtual ::std::string getEntityLocNameString()
const;
400 virtual bool isInvisible()
const;
402 virtual bool canShowNameTag()
const;
404 virtual ::mce::Color getNameTagTextColor()
const;
406 virtual float getShadowRadius()
const;
408 virtual ::Vec3 getHeadLookVector(
float a = 0.0f)
const;
410 virtual bool canInteractWithOtherEntitiesInGame()
const;
414 virtual void playerTouch(
::Player& player);
416 virtual bool isImmobile()
const;
418 virtual bool isSilentObserver()
const;
420 virtual bool isSleeping()
const;
422 virtual void setSleeping(
bool val);
424 virtual void setSneaking(
bool value);
426 virtual bool isBlocking()
const;
430 virtual bool isAlive()
const;
432 virtual bool isOnFire()
const;
434 virtual bool isSurfaceMob()
const;
436 virtual bool isTargetable()
const;
438 virtual void setTarget(::Actor* entity);
440 virtual bool isValidTarget(::Actor* attacker)
const;
442 virtual ::ActorHurtResult attack(::Actor& target, ::SharedTypes::Legacy::ActorDamageCause
const& cause);
444 virtual void performRangedAttack(::Actor& target,
float);
448 virtual void setSitting(
bool value);
450 virtual void onTame();
452 virtual void onFailedTame();
454 virtual void setStanding(
bool value);
456 virtual bool canPowerJump()
const;
458 virtual bool isEnchanted()
const;
460 virtual void playAmbientSound();
462 virtual ::SharedTypes::Legacy::LevelSoundEvent getAmbientSound()
const;
466 virtual ::SharedTypes::Legacy::ActorDamageCause getBlockDamageCause(
::Block const& block)
const;
468 virtual ::ActorHurtResult doFireHurt(
int amount);
470 virtual void onLightningHit();
472 virtual void feed(
int itemId);
474 virtual void handleEntityEvent(::ActorEvent eventId,
int data);
476 virtual ::HashedString
const& getActorRendererId()
const;
478 virtual void despawn();
480 virtual void setArmor(::SharedTypes::Legacy::ArmorSlot slot,
::ItemStack const& item);
482 virtual ::ArmorMaterialType getArmorMaterialTypeInSlot(::SharedTypes::Legacy::ArmorSlot slot)
const;
484 virtual int getArmorTextureIndexInSlot(::SharedTypes::Legacy::ArmorSlot slot)
const;
486 virtual float getArmorColorInSlot(::SharedTypes::Legacy::ArmorSlot slot,
int channelRGBA)
const;
488 virtual void setEquippedSlot(::SharedTypes::Legacy::EquipmentSlot slot,
::ItemStack const& item);
490 virtual void setCarriedItem(
::ItemStack const& item);
492 virtual ::ItemStack
const& getCarriedItem()
const;
494 virtual void setOffhandSlot(
::ItemStack const& item);
496 virtual ::ItemStack
const& getEquippedTotem()
const;
498 virtual bool consumeTotem();
502 virtual ::HashedString
const& queryEntityRenderer()
const;
504 virtual ::ActorUniqueID getSourceUniqueID()
const;
506 virtual ::AABB getLiquidAABB(::SharedTypes::v1_26_20::MaterialType
const liquidType)
const;
508 virtual void handleInsidePortal(
::BlockPos const& portalPos);
510 virtual bool canChangeDimensionsUsingPortal()
const;
520 virtual ::ActorUniqueID getControllingPlayer()
const;
522 virtual float causeFallDamageToActor(
float distance,
float multiplier,
::ActorDamageSource source);
524 virtual void onSynchedDataUpdate(
int dataId);
526 virtual bool canAddPassenger(::Actor& passenger)
const;
528 virtual bool canPickupItem(
::ItemStack const& item)
const;
530 virtual bool canBePulledIntoVehicle()
const;
532 virtual bool inCaravan()
const;
534 virtual void sendMotionPacketIfNeeded();
536 virtual bool canSynchronizeNewEntity()
const;
538 virtual void startSwimming();
540 virtual void stopSwimming();
542 virtual void buildDebugInfo(::std::string& out)
const;
544 virtual ::CommandPermissionLevel getCommandPermissionLevel()
const;
546 virtual int getDeathTime()
const;
548 virtual bool canBeAffected(uint
id)
const;
554 virtual bool canObstructSpawningAndBlockPlacement()
const;
556 virtual ::AnimationComponent& getAnimationComponent();
558 virtual void openContainerComponent(
::Player& player);
560 virtual bool swing(::ActorSwingSource swingSource, ::HandSlot handSlot);
562 virtual void useItem(
::ItemStackBase& item, ::ItemUseMethod itemUseMethod,
bool consumeItem);
564 virtual void getDebugText(::std::vector<::std::string>& outputInfo);
566 virtual float getMapDecorationRotation()
const;
568 virtual float getPassengerYRotation(::Actor
const& passenger)
const;
572 virtual bool drop(
::ItemStack const& item,
bool const randomly);
574 virtual ::Interaction getInteraction(
::Player& player,
::Vec3 const& location);
576 virtual bool canDestroyBlock(
::Block const& block)
const;
578 virtual void setAuxValue(
int aux);
586 virtual bool shouldDropDeathLoot()
const;
588 virtual void applySnapshot(
593 virtual void onPush(::Actor& source);
595 virtual ::std::optional<::BlockPos> getLastDeathPos()
const;
597 virtual ::std::optional<::DimensionType> getLastDeathDimension()
const;
599 virtual bool hasDiedBefore()
const;
601 virtual void doEnterWaterSplashEffect();
603 virtual void doExitWaterSplashEffect();
605 virtual void doWaterSplashEffect();
607 virtual bool _shouldProvideFeedbackOnHandContainerItemSet(::HandSlot handSlot,
::ItemStack const& item)
const;
609 virtual bool _shouldProvideFeedbackOnArmorSet(::SharedTypes::Legacy::ArmorSlot slot,
::ItemStack const& item)
const;
611 virtual ::ActorHurtResult
616 virtual void addAdditionalSaveData(
::CompoundTag& tag)
const;
630 MCAPI ::BuiltInActorComponents _addActorBuiltInComponents();
632 MCAPI
void _addActorNonBuiltInComponents();
634 MCAPI
bool _applyPendingPropertyChanges();
636 MCAPI ::ItemActor
const* _drop(
::ItemStack const& item,
bool randomly);
638 MCFOLD ::std::vector<::MobEffectInstance>& _getAllEffectsNonConst();
640 MCAPI ::AnimationComponent& _getAnimationComponent(
641 ::std::shared_ptr<::AnimationComponent>& animationComponent,
642 ::AnimationComponentGroupType group
645 MCAPI
void _initializeMaxAutoStep(
float maxAutoStep);
647 MCAPI
bool _isDeathLootAllowed()
const;
651 MCAPI
void _refreshAABB();
653 MCAPI
void _sendDirtyActorData();
655 MCAPI
void _setActorTypeId(::ActorType type);
659 MCAPI
void _setHandContainerItem(
::ItemStack const& item, ::HandSlot handSlot);
661 MCAPI
void _setPos(
::Vec3 const& pos);
663 MCAPI
void _setupServerAnimationComponent();
665 MCAPI
void _updateComposition(
bool reload);
669 MCAPI
bool addTag(::std::string
const& tag);
671 MCAPI
void applyOnBornPropertyChanges();
673 MCAPI
void buildDebugGroupInfo(::std::string& out)
const;
675 MCAPI
void burn(
int damage,
bool inFire);
677 MCAPI
bool canAttack(::Actor
const& entity)
const;
679 MCAPI
bool canBeginOrContinueClimbingLadder()
const;
681 MCAPI
bool canFly()
const;
683 MCAPI
bool canMate(::Actor
const& partner)
const;
685 MCAPI
bool canReceiveMobEffectsFromGameplay()
const;
687 MCAPI
bool canSee(
::Vec3 const& targetPos, ::ShapeType obstructionType)
const;
689 MCAPI
bool canSeeDaylight()
const;
691 MCAPI
void celebrateHunt(
int duration,
bool special);
693 MCAPI
void checkFallDamage(
float ya,
bool onGround,
bool recheckLiquid);
695 MCAPI
void chorusFruitTeleport(
::Vec3 const& range);
697 MCAPI
bool closerThan(::Actor
const& e,
float distance)
const;
699 MCAPI
bool closerThan(::Actor
const& e,
float distanceXZ,
float distanceY)
const;
701 MCAPI
void consumeItem(
::ItemActor& itemActor,
int count);
703 MCAPI ::UpdateEquipPacket createUpdateEquipPacket(
int containerID);
705 MCAPI ::UpdateTradePacket createUpdateTradePacket(
int containerID);
707 MCAPI
void deregisterTagsFromLevelCache();
709 MCAPI
float distanceSqrToBlockPosCenter(
::BlockPos const& pos)
const;
711 MCAPI
float distanceTo(::Actor
const& e)
const;
717 MCAPI
void equip(::std::string
const& lootTableFilePath);
719 MCAPI
void equipFromEquipmentDefinition();
721 MCAPI
float evaluateSeatRotation(
::RideableComponent const& rideable,
bool useVehicleRenderParams);
725 MCAPI
void exitVehicle(
bool exitFromPassenger,
bool actorIsBeingDestroyed,
bool wasEjectedByActivatorRail);
727 MCAPI ::FishingHook* fetchFishingHook();
729 MCAPI ::std::vector<::DistanceSortedActor> fetchNearbyActorsSorted(
::Vec3 const& distance, ::ActorType actorTypeId);
732 MCAPI
int getActiveEffectCount()
const;
735 MCAPI ::ActorDefinitionIdentifier
const& getActorIdentifier()
const;
738 MCAPI ::Matrix getActorToWorldTransform(
float frameAlpha,
bool useActorRotation,
::Vec3 const& offset)
const;
741 MCFOLD ::std::vector<::MobEffectInstance>
const& getAllEffects()
const;
743 MCAPI ::Vec3 getAttachPos(::SharedTypes::Legacy::ActorLocation location,
float alpha = 0.0f)
const;
745 MCAPI ::AttributeInstanceConstRef getAttribute(
::Attribute const& attribute)
const;
747 MCAPI ::gsl::not_null<::BaseAttributeMap const*> getAttributes()
const;
750 MCAPI ::gsl::not_null<::BaseAttributeMap*> getAttributes();
753 MCAPI ::BlockPos getBlockPosCurrentlyStandingOn(::Actor
const* actor)
const;
755 MCAPI ::ItemStack
const& getCarriedItemInSlotPreferredBy(
::ItemStack const& item)
const;
757 MCAPI
int getChestSlots()
const;
759 MCAPI
float getCurrentSwimAmount()
const;
761 MCAPI ::Dimension& getDimension()
const;
763 MCFOLD ::BlockSource& getDimensionBlockSource()
const;
765 MCFOLD ::BlockSource
const& getDimensionBlockSourceConst()
const;
767 MCAPI ::MobEffectInstance
const* getEffect(
::MobEffect const& effect)
const;
769 MCAPI ::MobEffectInstance
const* getEffect(uint effectId)
const;
771 MCAPI ::StackRefResult<::EntityRegistry> getEntityRegistry();
773 MCAPI ::ActorType getEntityTypeId()
const;
775 MCAPI
int getEquipSlots()
const;
777 MCAPI
int getEquipmentCount()
const;
779 MCAPI ::SharedTypes::Legacy::EquipmentSlot getEquipmentSlotForItem(
::ItemStack const& item)
const;
781 MCAPI ::Vec3 getEyePos()
const;
783 MCAPI
float getFallDistance()
const;
786 MCAPI ::std::string getFilteredNameTag()
const;
789 MCAPI
bool getFirstAvailableSeatPos(::Actor& potentialPassenger,
::Vec3& result)
const;
791 MCAPI ::Actor* getFirstPassenger()
const;
794 MCAPI ::Block
const* getInsideBlock()
const;
797 MCAPI ::Vec3 getInterpolatedPosition(
float a = 0.0f)
const;
799 MCAPI ::Vec3 getInterpolatedRidingPosition(
float a = 0.0f)
const;
802 MCAPI ::Vec2 getInterpolatedRotation(
float a)
const;
805 MCAPI
int getInventorySize()
const;
807 MCAPI ::ItemStack
const& getItemInHandSlot(::HandSlot slot)
const;
809 MCAPI ::ActorUniqueID getLeashHolder()
const;
811 MCAPI uint64 getLevelTimeStamp()
const;
813 MCAPI ::std::vector<::ActorLink> getLinks()
const;
815 MCAPI ::LootTable* getLootTable();
817 MCAPI
int getMarkVariant()
const;
819 MCAPI
float getMaxAutoStep()
const;
822 MCAPI int64 getMetadataId()
const;
825 MCAPI ::MutableAttributeWithContext getMutableAttribute(
::Attribute const& attribute);
827 MCAPI ::std::string
const& getNameTag()
const;
829 MCAPI
int getOnDeathExperience();
831 MCAPI ::DynamicProperties& getOrAddDynamicProperties();
833 MCAPI ::ActorUniqueID
const& getOrCreateUniqueID()
const;
835 MCAPI ::Mob* getOwner()
const;
837 MCAPI ::ActorUniqueID
const getOwnerId()
const;
839 MCAPI
int getPassengerIndex(::Actor
const& passenger)
const;
841 MCAPI ::Player* getPlayerOwner()
const;
843 MCAPI ::Random& getRandom()
const;
845 MCAPI ::Bedrock::Safety::RedactableString getRedactableNameTag()
const;
847 MCAPI
float getRidingHeight()
const;
849 MCAPI ::ActorRuntimeID getRuntimeID()
const;
851 MCAPI
int getStrength()
const;
853 MCAPI
float getSwimAmount(
float a)
const;
855 MCAPI ::std::vector<::std::string>
const getTags()
const;
857 MCAPI ::MerchantRecipeList* getTradeOffers();
859 MCAPI
int getVariant()
const;
861 MCAPI ::Actor* getVehicle()
const;
863 MCAPI ::ActorRuntimeID getVehicleRuntimeID()
const;
865 MCAPI ::Vec3 getViewVector(
float a = 0.0f)
const;
867 MCFOLD
float getYHeadRot()
const;
870 MCAPI ::InterpolationPair getYHeadRotationsNewOld()
const;
873 MCAPI
void handleFallDamage(
float fallDistance,
float multiplier,
::ActorDamageSource source);
877 MCAPI
bool hasAnyEffects()
const;
879 MCAPI
bool hasDimension()
const;
883 MCAPI
bool hasPassenger()
const;
885 MCAPI
bool hasPlayerPassenger()
const;
887 MCAPI
bool hasPriorityAmmunition()
const;
889 MCAPI
bool hasRuntimeID()
const;
891 MCAPI
bool hasSaddle()
const;
893 MCAPI
bool hasTag(::std::string
const& tag)
const;
895 MCAPI
bool hasTags()
const;
897 MCAPI
bool hasType(::ActorType types)
const;
899 MCAPI
bool hasUniqueID()
const;
901 MCAPI
void heal(
int heal);
903 MCAPI ::ActorHurtResult
906 MCAPI
bool inDownwardFlowingLiquid()
const;
910 MCAPI
bool isActorLocationInMaterial(
911 ::SharedTypes::Legacy::ActorLocation actorLocation,
912 ::SharedTypes::v1_26_20::MaterialType type
915 MCAPI
bool isAdventure()
const;
917 MCAPI
bool isAngry()
const;
919 MCAPI
bool isBaby()
const;
921 MCAPI
bool isCreative()
const;
923 MCAPI
bool isDoorOpener()
const;
925 MCAPI
bool isImmersedInWater()
const;
927 MCAPI
bool isInClouds()
const;
929 MCAPI
bool isInLove()
const;
931 MCAPI
bool isInPrecipitation()
const;
933 MCAPI
bool isInRain()
const;
935 MCAPI
bool isInSnow()
const;
937 MCAPI
bool isInThunderstorm()
const;
939 MCAPI
bool isInWater()
const;
941 MCAPI
bool isInWaterOrRain()
const;
943 MCAPI
bool isInsidePortal()
const;
945 MCAPI
bool isInvertedHealAndHarm()
const;
947 MCAPI
bool isJumping()
const;
949 MCAPI
bool isLeashed()
const;
951 MCAPI
bool isLocalPlayer()
const;
953 MCAPI
bool isOrphan()
const;
955 MCAPI
bool isOverWater()
const;
957 MCAPI
bool isPassenger(::Actor
const& passenger)
const;
959 MCAPI
bool isResting()
const;
961 MCAPI
bool isRiding(::Actor* targetVehicle)
const;
963 MCAPI
bool isSilent()
const;
965 MCAPI
bool isSitting()
const;
967 MCAPI
bool isSpectator()
const;
969 MCAPI
bool isStanding()
const;
971 MCAPI
bool isSurvival()
const;
973 MCAPI
bool isSwimmer()
const;
975 MCAPI
bool isTame()
const;
977 MCAPI
bool isTrading()
const;
979 MCAPI
bool isUnderLiquid(::SharedTypes::v1_26_20::MaterialType type)
const;
981 MCAPI
bool isUseNewTradeScreen()
const;
983 MCAPI
bool isWalker()
const;
985 MCAPI
bool isWearingLeatherArmor()
const;
987 MCAPI
bool isWorldBuilder()
const;
989 MCAPI
void killed(::Actor& entity);
991 MCAPI
void lerpTo(
::Vec3 const& pos,
::Vec2 const& rot,
int steps);
993 MCAPI
void lerpTo(
::Vec3 const& pos,
::Vec2 const& rot,
float headYaw,
int steps);
1000 MCAPI
void move(
::Vec3 const& posDelta);
1002 MCAPI
void moveTo(
::Vec3 const& pos,
::Vec2 const& rot);
1004 MCAPI
bool onClimbableBlock()
const;
1006 MCAPI
void pickUpItem(
::ItemActor& itemActor,
int count);
1008 MCAPI
void playSound(
1010 ::SharedTypes::Legacy::LevelSoundEvent type,
1015 MCAPI
void playSynchronizedSound(
1023 MCAPI
void playSynchronizedSound(
1024 ::SharedTypes::Legacy::LevelSoundEvent type,
1028 ::std::optional<::Vec3>
const&
1032 MCAPI
void positionAllPassengers();
1035 MCAPI
void positionPassenger(::Actor& passenger);
1037 MCAPI
void postSplashGameEvent();
1039 MCAPI
bool pullInEntity(::Actor& e);
1041 MCAPI
void pushBackActionEventToActionQueue(
::ActionEvent actionEvent);
1043 MCAPI
void pushOutOfBlocks(
::Vec3 const& vec);
1045 MCAPI
void reload();
1047 MCAPI
void removeAllEffects();
1049 MCAPI
void removeAllPassengers(
bool actorIsBeingDestroyed,
bool exitFromPassenger);
1051 MCAPI
void removeEffect(
int effectId);
1053 MCAPI
bool removeTag(::std::string
const& tag);
1061 MCAPI
void setDead(
bool isDead);
1069 MCAPI
void setFallDistance(
float distance);
1071 MCAPI
void setInLove(::Actor* lovePartner);
1073 MCAPI
void setInvisible(
bool value);
1075 MCAPI
void setLastHurtByMob(
::Mob* mob);
1077 MCAPI
void setLastHurtByPlayer(
::Player* player);
1081 MCAPI
void setLimitedLifetimeTicks(
int lifetimeTicks);
1083 MCAPI
void setNameTag(::std::string
const& name);
1089 MCAPI
void setPersistent();
1094 MCAPI
void setRotationWrapped(
::Vec2 const& rot);
1099 MCAPI
void setStrength(
int strength);
1102 MCAPI
void setTradingPlayer(
::Player* player);
1107 MCAPI
void setYHeadRot(
float yHeadRot);
1109 MCAPI
void setYHeadRotations(
float yHeadRot,
float oldYHeadRot);
1113 MCAPI
bool shouldTick()
const;
1115 MCAPI ::ItemActor* spawnAtLocation(
::ItemStack const& item,
float yOffs);
1117 MCAPI
void spawnTrailBubbles();
1120 stopRiding(
bool exitFromPassenger,
bool actorIsBeingDestroyed,
bool switchingVehicles,
bool isBeingTeleported);
1122 MCAPI
void synchronousSetSize(
float w,
float h);
1124 MCAPI
void teleportPassengersTo(
::Vec3 const& pos,
int cause,
int entityType);
1126 MCAPI
void thawFreezeEffect();
1130 MCAPI
void transferTickingArea(
::Dimension const& toDimension);
1132 MCAPI
void triggerActorRemovedEvent();
1134 MCAPI ::std::vector<::ItemDescriptor>
const* tryGetEquippableSlotAllowedItems(
int slotNumber)
const;
1136 MCAPI ::std::optional<int> tryGetEquippableSlotForItem(
::ItemDescriptor item)
const;
1138 MCAPI
bool tryTeleportTo(
::Vec3 const& pos,
bool landOnBlock,
bool avoidLiquid,
int cause,
int entityType);
1140 MCAPI
void updateDescription();
1142 MCAPI
void updateDimensionChunkMove();
1144 MCAPI
void updateInsideBlock();
1146 MCAPI
void updateInvisibilityStatus();
1148 MCAPI
void updateWaterState();
1150 MCAPI
void wobble();
1156 MCAPI static ::std::vector<::BlockPos> getBlocksCurrentlyStandingOn(
1159 float ignoreGapBelow,
1164 MCAPI static ::Vec3 getInterpolatedPosition(
1171 MCAPI
static bool isInLiquid(
1172 ::SharedTypes::v1_26_20::MaterialType liquidType,
1175 ::std::vector<::AABB>
const& subAABBs
1180 MCAPI static ::Actor*
1207 MCAPI
void $outOfWorld();
1211 MCFOLD
void $reloadHardcodedClient(::ActorInitializationMethod method);
1213 MCAPI
void $initializeComponents(::ActorInitializationMethod method,
::VariantParameterList const& params);
1217 MCAPI
void $_serverInitItemStackIds();
1219 MCAPI
void $_doInitialMove();
1221 MCFOLD
void $resetUserPos(::ActorResetRule resetRule);
1223 MCAPI ::ActorType $getOwnerEntityType();
1225 MCAPI
void $remove();
1227 MCAPI ::Vec3 $getFiringPos()
const;
1229 MCAPI
float $getInterpolatedBodyRot(
float a)
const;
1231 MCFOLD
float $getInterpolatedHeadRot(
float a)
const;
1233 MCFOLD
float $getInterpolatedBodyYaw(
float a)
const;
1235 MCAPI
float $getYawSpeedInDegreesPerSecond()
const;
1237 MCFOLD ::Vec3 $getInterpolatedRidingOffset(
float,
int const)
const;
1239 MCAPI
bool $isFireImmune()
const;
1243 MCAPI
bool $canDisableShield();
1246 $teleportTo(
::Vec3 const& pos,
bool shouldStopRiding,
int cause,
int sourceEntityType,
bool keepVelocity);
1248 MCAPI
void $lerpMotion(
::Vec3 const& delta);
1250 MCAPI ::std::unique_ptr<::Packet> $tryCreateAddActorPacket();
1252 MCAPI
void $normalTick();
1254 MCAPI
void $baseTick();
1256 MCAPI
void $passengerTick();
1258 MCAPI
bool $startRiding(::Actor& vehicle,
bool forceRiding);
1260 MCAPI
void $addPassenger(::Actor& passenger);
1262 MCAPI ::std::string $getExitTip(::std::string
const& kind, ::InputMode mode, ::NewInteractionModel scheme)
const;
1264 MCAPI ::std::string $getEntityLocNameString()
const;
1266 MCAPI
bool $isInvisible()
const;
1268 MCAPI
bool $canShowNameTag()
const;
1270 MCFOLD ::mce::Color $getNameTagTextColor()
const;
1272 MCAPI
float $getShadowRadius()
const;
1274 MCAPI ::Vec3 $getHeadLookVector(
float a)
const;
1276 MCFOLD
bool $canInteractWithOtherEntitiesInGame()
const;
1280 MCFOLD
void $playerTouch(
::Player& player);
1282 MCAPI
bool $isImmobile()
const;
1284 MCAPI
bool $isSilentObserver()
const;
1286 MCFOLD
bool $isSleeping()
const;
1288 MCFOLD
void $setSleeping(
bool val);
1290 MCAPI
void $setSneaking(
bool value);
1292 MCFOLD
bool $isBlocking()
const;
1296 MCAPI
bool $isAlive()
const;
1298 MCAPI
bool $isOnFire()
const;
1300 MCFOLD
bool $isSurfaceMob()
const;
1302 MCFOLD
bool $isTargetable()
const;
1304 MCAPI
void $setTarget(::Actor* entity);
1306 MCFOLD
bool $isValidTarget(::Actor* attacker)
const;
1308 MCAPI ::ActorHurtResult $attack(::Actor& target, ::SharedTypes::Legacy::ActorDamageCause
const& cause);
1310 MCAPI
void $performRangedAttack(::Actor& target,
float);
1314 MCFOLD
void $setSitting(
bool value);
1316 MCFOLD
void $onTame();
1318 MCFOLD
void $onFailedTame();
1320 MCAPI
void $setStanding(
bool value);
1322 MCAPI
bool $canPowerJump()
const;
1324 MCAPI
bool $isEnchanted()
const;
1326 MCAPI
void $playAmbientSound();
1328 MCAPI ::SharedTypes::Legacy::LevelSoundEvent $getAmbientSound()
const;
1332 MCAPI ::SharedTypes::Legacy::ActorDamageCause $getBlockDamageCause(
::Block const& block)
const;
1334 MCAPI ::ActorHurtResult $doFireHurt(
int amount);
1336 MCAPI
void $onLightningHit();
1338 MCAPI
void $feed(
int itemId);
1340 MCAPI
void $handleEntityEvent(::ActorEvent eventId,
int data);
1342 MCAPI ::HashedString
const& $getActorRendererId()
const;
1344 MCAPI
void $despawn();
1346 MCAPI
void $setArmor(::SharedTypes::Legacy::ArmorSlot slot,
::ItemStack const& item);
1348 MCFOLD ::ArmorMaterialType $getArmorMaterialTypeInSlot(::SharedTypes::Legacy::ArmorSlot slot)
const;
1350 MCFOLD
int $getArmorTextureIndexInSlot(::SharedTypes::Legacy::ArmorSlot slot)
const;
1352 MCFOLD
float $getArmorColorInSlot(::SharedTypes::Legacy::ArmorSlot slot,
int channelRGBA)
const;
1354 MCFOLD
void $setEquippedSlot(::SharedTypes::Legacy::EquipmentSlot slot,
::ItemStack const& item);
1356 MCAPI
void $setCarriedItem(
::ItemStack const& item);
1358 MCAPI ::ItemStack
const& $getCarriedItem()
const;
1360 MCAPI
void $setOffhandSlot(
::ItemStack const& item);
1362 MCAPI ::ItemStack
const& $getEquippedTotem()
const;
1364 MCAPI
bool $consumeTotem();
1368 MCAPI ::HashedString
const& $queryEntityRenderer()
const;
1370 MCFOLD ::ActorUniqueID $getSourceUniqueID()
const;
1372 MCAPI ::AABB $getLiquidAABB(::SharedTypes::v1_26_20::MaterialType
const liquidType)
const;
1374 MCAPI
void $handleInsidePortal(
::BlockPos const& portalPos);
1376 MCAPI
bool $canChangeDimensionsUsingPortal()
const;
1386 MCFOLD ::ActorUniqueID $getControllingPlayer()
const;
1388 MCAPI
float $causeFallDamageToActor(
float distance,
float multiplier,
::ActorDamageSource source);
1390 MCAPI
void $onSynchedDataUpdate(
int dataId);
1392 MCAPI
bool $canAddPassenger(::Actor& passenger)
const;
1394 MCFOLD
bool $canPickupItem(
::ItemStack const& item)
const;
1396 MCFOLD
bool $canBePulledIntoVehicle()
const;
1398 MCFOLD
bool $inCaravan()
const;
1400 MCAPI
void $sendMotionPacketIfNeeded();
1402 MCFOLD
bool $canSynchronizeNewEntity()
const;
1404 MCAPI
void $startSwimming();
1406 MCAPI
void $stopSwimming();
1408 MCFOLD
void $buildDebugInfo(::std::string& out)
const;
1410 MCAPI ::CommandPermissionLevel $getCommandPermissionLevel()
const;
1412 MCFOLD
int $getDeathTime()
const;
1414 MCAPI
bool $canBeAffected(uint
id)
const;
1420 MCAPI
bool $canObstructSpawningAndBlockPlacement()
const;
1422 MCAPI ::AnimationComponent& $getAnimationComponent();
1424 MCAPI
void $openContainerComponent(
::Player& player);
1426 MCFOLD
bool $swing(::ActorSwingSource swingSource, ::HandSlot handSlot);
1428 MCAPI
void $useItem(
::ItemStackBase& item, ::ItemUseMethod itemUseMethod,
bool consumeItem);
1430 MCAPI
void $getDebugText(::std::vector<::std::string>& outputInfo);
1432 MCAPI
float $getMapDecorationRotation()
const;
1434 MCAPI
float $getPassengerYRotation(::Actor
const& passenger)
const;
1438 MCAPI
bool $drop(
::ItemStack const& item,
bool const randomly);
1440 MCAPI ::Interaction $getInteraction(
::Player& player,
::Vec3 const& location);
1442 MCFOLD
bool $canDestroyBlock(
::Block const& block)
const;
1444 MCFOLD
void $setAuxValue(
int aux);
1452 MCAPI
bool $shouldDropDeathLoot()
const;
1454 MCAPI
void $applySnapshot(
1459 MCFOLD
void $onPush(::Actor& source);
1461 MCFOLD ::std::optional<::BlockPos> $getLastDeathPos()
const;
1463 MCFOLD ::std::optional<::DimensionType> $getLastDeathDimension()
const;
1465 MCFOLD
bool $hasDiedBefore()
const;
1467 MCFOLD
void $doEnterWaterSplashEffect();
1469 MCFOLD
void $doExitWaterSplashEffect();
1471 MCAPI
void $doWaterSplashEffect();
1473 MCAPI
bool $_shouldProvideFeedbackOnHandContainerItemSet(::HandSlot handSlot,
::ItemStack const& item)
const;
1475 MCAPI
bool $_shouldProvideFeedbackOnArmorSet(::SharedTypes::Legacy::ArmorSlot slot,
::ItemStack const& item)
const;
1477 MCAPI ::ActorHurtResult
1482 MCAPI
void $addAdditionalSaveData(
::CompoundTag& tag)
const;