117 using EntityBlockCollisionCallback =
121 LLNDAPI
class EntityContext& getEntityContext() {
return mEntityContext; }
122 LLNDAPI
class EntityContext const& getEntityContext()
const {
return mEntityContext; }
124 LLNDAPI
float distanceTo(
::Vec3 const& pos)
const;
126 LLNDAPI
float distanceToSqr(::Actor
const& e)
const;
128 LLNDAPI
float distanceToSqr(
::Vec3 const& pos)
const;
130 LLAPI
void refresh();
134 LLNDAPI std::string
const& getTypeName()
const;
136 LLNDAPI
class Vec3 getFeetPos() const;
138 LLNDAPI
class Vec3 getHeadPos() const;
140 LLNDAPI
class BlockPos getFeetBlockPos() const;
142 LLNDAPI
bool isSimulatedPlayer()
const;
144 LLNDAPI
bool isOnGround()
const;
146 LLAPI
void setOnFire(
int time,
bool hasEffect =
true);
147 LLAPI
void stopFire();
149 LLNDAPI
Vec3 getVelocity()
const;
150 LLNDAPI
float getPosDeltaPerSecLength()
const;
152 LLAPI
bool hurtByCause(
154 ::SharedTypes::Legacy::ActorDamageCause cause = ::SharedTypes::Legacy::ActorDamageCause::Override,
160 bool includeActor =
true,
161 bool includeBlock =
true,
162 std::function<bool(
class BlockSource const&,
class Block const&,
bool)>
const& blockCheckFunction =
163 [](
auto&&...) ->
bool {
return true; }
169 LLAPI
void setName(std::string
const& name);
171 LLNDAPI
float evalMolang(std::string
const& expression);
173 LLNDAPI
AABB const& getAABB()
const {
return mBuiltInComponents->mAABBShapeComponent->mAABB; }
175 LLAPI static ::Actor* tryGetFromEntity(
::EntityContext& entity,
bool includeRemoved);
177 [[nodiscard]]
Level& getLevel()
const {
return *
reinterpret_cast<Level*
>(mLevel); }
179 [[nodiscard]]
Vec3 const& getPosition()
const {
return mBuiltInComponents->mStateVectorComponent->mPos; }
181 [[nodiscard]]
Vec3 const& getPosDelta()
const {
return mBuiltInComponents->mStateVectorComponent->mPosDelta; }
183 [[nodiscard]]
Vec2 const& getRotation()
const {
return mBuiltInComponents->mActorRotationComponent->mRot; }
185 [[nodiscard]]
bool hasCategory(ActorCategory category)
const {
return (mCategories & category) == category; }
187 LLNDAPI ::DimensionType getDimensionId()
const;
189 [[nodiscard]]
inline bool isType(::ActorType type)
const {
return getEntityTypeId() == type; }
191 LLNDAPI
bool isPlayer()
const;
193 [[nodiscard]]
inline bool isClientSide()
const {
return !mLevel; }
195 LLNDAPI
bool isTouchingDamageBlock()
const;
197 LLNDAPI
int getHealth()
const;
199 LLNDAPI
int getMaxHealth()
const;
201 LLNDAPI
bool isInWorld()
const;
203 LLNDAPI
ItemStack const& getArmor(::SharedTypes::Legacy::ArmorSlot slot)
const;
205 LLNDAPI
bool getStatusFlag(::ActorFlags flag)
const;
207 LLNDAPI
bool isOnHotBlock()
const;
209 [[nodiscard]]
bool isSwimming()
const {
return getStatusFlag(::ActorFlags::Swimming); }
210 [[nodiscard]]
bool isMoving()
const {
return getStatusFlag(::ActorFlags::Moving); }
211 [[nodiscard]]
bool isSprinting()
const {
return getStatusFlag(::ActorFlags::Sprinting); }
212 [[nodiscard]]
bool isSneaking()
const {
return getStatusFlag(::ActorFlags::Sneaking); }
213 [[nodiscard]]
bool isCrawling()
const {
return getStatusFlag(::ActorFlags::Crawling); }
214 [[nodiscard]]
bool isGliding()
const {
return getStatusFlag(::ActorFlags::Gliding); }
215 [[nodiscard]]
bool isDancing()
const {
return getStatusFlag(::ActorFlags::Dancing); }
216 [[nodiscard]]
bool isHurt()
const {
217 if (
auto health = getHealth(); health > 0 && health < getMaxHealth()) {
224 LLNDAPI ::ItemStack
const& getOffhandSlot()
const;
226 LLNDAPI
bool isDead()
const;
231 ::ll::TypedStorage<8, 24, ::EntityContext> mEntityContext;
232 ::ll::TypedStorage<8, 72, ::VariantParameterList> mInitParams;
233 ::ll::TypedStorage<8, 32, ::std::string> mCustomInitEventName;
234 ::ll::TypedStorage<1, 1, ::ActorInitializationMethod> mInitMethod;
235 ::ll::TypedStorage<1, 1, bool> mForceInitMethodToSpawnOnReload;
236 ::ll::TypedStorage<1, 1, bool> mAdded;
237 ::ll::TypedStorage<8, 8, ::ActorDefinitionGroup*> mDefinitions;
238 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ActorDefinitionDescriptor>> mCurrentDescription;
239 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::RopeSystem>> mLeashRopeSystem;
240 ::ll::TypedStorage<8, 32, ::std::string> mAlias;
241 ::ll::TypedStorage<4, 68, ::std::optional<::glm::mat4x4>> mPreviousRenderTransform;
242 ::ll::TypedStorage<4, 4, int> mLastHurtByPlayerTime;
243 ::ll::TypedStorage<8, 16, ::std::map<::HashedString, ::std::vector<::std::vector<::glm::mat4x4>>>>
244 mPreviousBoneMatrices;
245 ::ll::TypedStorage<8, 48, ::SynchedActorDataEntityWrapper> mEntityData;
246 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SpatialActorNetworkData>> mNetworkData;
247 ::ll::TypedStorage<4, 12, ::Vec3> mSentDelta;
248 ::ll::TypedStorage<4, 4, float> mScale;
249 ::ll::TypedStorage<4, 4, float> mScalePrev;
250 ::ll::TypedStorage<1, 1, bool> mIgnoreLighting;
251 ::ll::TypedStorage<1, 1, bool> mFilterLighting;
252 ::ll::TypedStorage<4, 4, float> mStepSoundVolume;
253 ::ll::TypedStorage<4, 4, float> mStepSoundPitch;
254 ::ll::TypedStorage<8, 8, ::AABB*> mLastHitBB;
255 ::ll::TypedStorage<8, 8, uint64> mNameTagHash;
256 ::ll::TypedStorage<4, 4, float> mShadowOffset;
257 ::ll::TypedStorage<4, 4, float> mPushThrough;
258 ::ll::TypedStorage<4, 4, int> mTickCount;
259 ::ll::TypedStorage<4, 4, int> mInvulnerableTime;
260 ::ll::TypedStorage<4, 4, int> mLastHealth;
261 ::ll::TypedStorage<1, 1, bool> mInvulnerable;
262 ::ll::TypedStorage<4, 4, int> mFlameTexFrameIndex;
263 ::ll::TypedStorage<4, 4, float> mFlameFrameIncrementTime;
264 ::ll::TypedStorage<1, 1, bool> mAlwaysFireImmune;
265 ::ll::TypedStorage<1, 1, bool> mInheritRotationWhenRiding;
266 ::ll::TypedStorage<1, 1, bool> mForcedLoading;
267 ::ll::TypedStorage<1, 1, bool> mHighlightedThisFrame;
268 ::ll::TypedStorage<1, 1, bool> mInitialized;
269 ::ll::TypedStorage<1, 1, bool> mProcessedOnChunkDiscard;
270 ::ll::TypedStorage<4, 4, float> mSoundVolume;
271 ::ll::TypedStorage<4, 4, int> mShakeTime;
272 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mLegacyUniqueID;
273 ::ll::TypedStorage<8, 16, ::WeakRef<::Dimension>> mDimension;
274 ::ll::TypedStorage<8, 8, ::ILevel*> mLevel;
275 ::ll::TypedStorage<8, 48, ::HashedString> mActorRendererId;
276 ::ll::TypedStorage<4, 4, ::ActorCategory> mCategories;
277 ::ll::TypedStorage<4, 4, ::ActorVersion> mVersion;
278 ::ll::TypedStorage<8, 32, ::BuiltInActorComponents> mBuiltInComponents;
279 ::ll::TypedStorage<8, 48, ::HashedString> mActorRendererIdThatAnimationComponentWasInitializedWith;
280 ::ll::TypedStorage<1, 1, bool> mChanged;
281 ::ll::TypedStorage<1, 1, bool> mRemoved;
282 ::ll::TypedStorage<1, 1, bool> mMovedToLimbo;
283 ::ll::TypedStorage<1, 1, bool> mMovedToUnloadedChunk;
284 ::ll::TypedStorage<1, 1, bool> mBlocksBuilding;
285 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::AnimationComponent>> mAnimationComponent;
286 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::AnimationComponent>> mUIAnimationComponent;
287 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mTargetId;
288 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mInLovePartner;
289 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CompoundTag>> mPersistingTradeOffers;
290 ::ll::TypedStorage<4, 4, int> mPersistingTradeRiches;
291 ::ll::TypedStorage<1, 1, bool> mPersistingTrade;
292 ::ll::TypedStorage<1, 1, bool> mEffectsDirty;
293 ::ll::TypedStorage<1, 1, bool> mLootDropped;
294 ::ll::TypedStorage<1, 1, bool> mLoadedFromNBTThisFrame;
295 ::ll::TypedStorage<4, 16, ::mce::Color> mHurtColor;
296 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ActorDefinitionDiffList>> mDefinitionList;
297 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CompoundTag>> mLoadedActorPropertyTag;
298 ::ll::TypedStorage<8, 16, ::ActorDefinitionPtr> mActorDefinitionPtr;
299 ::ll::TypedStorage<8, 32, ::std::string> mFilteredNameTag;
300 ::ll::TypedStorage<8, 24, ::ActorTerrainInterlockData> mTerrainInterlockData;
301 ::ll::TypedStorage<1, 1, bool> mWasHurtThisTick;
302 ::ll::TypedStorage<1, 1, bool> mWasHurtLastTick;
303 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mLastHurtMobId;
304 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mLastHurtByMobId;
305 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mLastHurtByPlayerId;
306 ::ll::TypedStorage<8, 8, uint64> mLastHurtTimestamp;
307 ::ll::TypedStorage<4, 4, ::SharedTypes::Legacy::ActorDamageCause> mLastHurtCause;
308 ::ll::TypedStorage<4, 4, float> mLastHurt;
309 ::ll::TypedStorage<4, 4, int> mLastHurtMobTimestamp;
310 ::ll::TypedStorage<4, 4, int> mLastHurtByMobTime;
311 ::ll::TypedStorage<4, 4, int> mLastHurtByMobTimestamp;
312 ::ll::TypedStorage<1, 1, bool> mIsPredictableProjectile;
313 ::ll::TypedStorage<1, 1, bool> mIsRenderingInUI;
315 ::ll::TypedStorage<1, 1, bool> mIsOnScreen;
316 ::ll::TypedStorage<1, 1, bool> mUpdateBonesAndEffects;
318 ::ll::TypedStorage<1, 1, bool> mUpdateEffects;
319 ::ll::TypedStorage<1, 1, bool> mCanPickupItems;
320 ::ll::TypedStorage<1, 1, bool> mHasSetCanPickupItems;
321 ::ll::TypedStorage<1, 1, bool> mChainedDamageEffects;
322 ::ll::TypedStorage<4, 4, int> mAffectedByWaterBottleTicksToEffect;
323 ::ll::TypedStorage<4, 4, ::SpawnRuleEnum> mSpawnRulesEnum;
324 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ActionQueue>> mActionQueue;
325 ::ll::TypedStorage<8, 56, ::MolangVariableMap> mMolangVariables;
326 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mFishingHookID;
338 virtual void outOfWorld();
342 virtual void reloadHardcodedClient(::ActorInitializationMethod method);
344 virtual void initializeComponents(::ActorInitializationMethod method,
::VariantParameterList const& params);
348 virtual void _serverInitItemStackIds();
350 virtual void _doInitialMove();
354 virtual void resetUserPos(::ActorResetRule resetRule);
356 virtual ::ActorType getOwnerEntityType();
358 virtual void remove();
360 virtual ::Vec3 getFiringPos()
const;
362 virtual float getInterpolatedBodyRot(
float a = 0.0f)
const;
364 virtual float getInterpolatedHeadRot(
float a = 0.0f)
const;
366 virtual float getInterpolatedBodyYaw(
float a = 0.0f)
const;
368 virtual float getYawSpeedInDegreesPerSecond()
const;
370 virtual ::Vec3 getInterpolatedRidingOffset(
float,
int const)
const;
372 virtual bool isFireImmune()
const;
376 virtual bool canDisableShield();
379 teleportTo(
::Vec3 const& pos,
bool shouldStopRiding,
int cause,
int sourceEntityType,
bool keepVelocity);
381 virtual void lerpMotion(
::Vec3 const& delta);
383 virtual ::std::unique_ptr<::Packet> tryCreateAddActorPacket();
385 virtual void normalTick();
387 virtual void baseTick();
389 virtual void passengerTick();
391 virtual bool startRiding(::Actor& vehicle,
bool forceRiding);
393 virtual void addPassenger(::Actor& passenger);
395 virtual ::std::string getExitTip(::std::string
const& kind, ::InputMode mode, ::NewInteractionModel scheme)
const;
397 virtual ::std::string getEntityLocNameString()
const;
399 virtual bool isInvisible()
const;
401 virtual bool canShowNameTag()
const;
403 virtual ::mce::Color getNameTagTextColor()
const;
405 virtual float getShadowRadius()
const;
407 virtual ::Vec3 getHeadLookVector(
float a = 0.0f)
const;
409 virtual bool canInteractWithOtherEntitiesInGame()
const;
413 virtual void playerTouch(
::Player& player);
415 virtual bool isImmobile()
const;
417 virtual bool isSilentObserver()
const;
419 virtual bool isSleeping()
const;
421 virtual void setSleeping(
bool val);
423 virtual void setSneaking(
bool value);
425 virtual bool isBlocking()
const;
429 virtual bool isAlive()
const;
431 virtual bool isOnFire()
const;
433 virtual bool isSurfaceMob()
const;
435 virtual bool isTargetable()
const;
437 virtual void setTarget(::Actor* entity);
439 virtual bool isValidTarget(::Actor* attacker)
const;
441 virtual ::ActorHurtResult attack(::Actor& target, ::SharedTypes::Legacy::ActorDamageCause
const& cause);
443 virtual void performRangedAttack(::Actor& target,
float);
447 virtual void setSitting(
bool value);
449 virtual void onTame();
451 virtual void onFailedTame();
453 virtual void setStanding(
bool value);
455 virtual bool canPowerJump()
const;
457 virtual bool isEnchanted()
const;
459 virtual void playAmbientSound();
461 virtual ::SharedTypes::Legacy::LevelSoundEvent getAmbientSound()
const;
465 virtual ::SharedTypes::Legacy::ActorDamageCause getBlockDamageCause(
::Block const& block)
const;
467 virtual ::ActorHurtResult doFireHurt(
int amount);
469 virtual void onLightningHit();
471 virtual void feed(
int itemId);
473 virtual void handleEntityEvent(::ActorEvent eventId,
int data);
475 virtual ::HashedString
const& getActorRendererId()
const;
477 virtual void despawn();
479 virtual void setArmor(::SharedTypes::Legacy::ArmorSlot slot,
::ItemStack const& item);
481 virtual ::ArmorMaterialType getArmorMaterialTypeInSlot(::SharedTypes::Legacy::ArmorSlot slot)
const;
483 virtual int getArmorTextureIndexInSlot(::SharedTypes::Legacy::ArmorSlot slot)
const;
485 virtual float getArmorColorInSlot(::SharedTypes::Legacy::ArmorSlot slot,
int channelRGBA)
const;
487 virtual void setEquippedSlot(::SharedTypes::Legacy::EquipmentSlot slot,
::ItemStack const& item);
489 virtual void setCarriedItem(
::ItemStack const& item);
491 virtual ::ItemStack
const& getCarriedItem()
const;
493 virtual void setOffhandSlot(
::ItemStack const& item);
495 virtual ::ItemStack
const& getEquippedTotem()
const;
497 virtual bool consumeTotem();
501 virtual ::HashedString
const& queryEntityRenderer()
const;
503 virtual ::ActorUniqueID getSourceUniqueID()
const;
505 virtual bool canFreeze()
const;
507 virtual ::AABB getLiquidAABB(::SharedTypes::v1_26_20::MaterialType
const liquidType)
const;
509 virtual void handleInsidePortal(
::BlockPos const& portalPos);
511 virtual bool canChangeDimensionsUsingPortal()
const;
521 virtual ::ActorUniqueID getControllingPlayer()
const;
523 virtual float causeFallDamageToActor(
float distance,
float multiplier,
::ActorDamageSource source);
525 virtual void onSynchedDataUpdate(
int dataId);
527 virtual bool canAddPassenger(::Actor& passenger)
const;
529 virtual bool canPickupItem(
::ItemStack const& item)
const;
531 virtual bool canBePulledIntoVehicle()
const;
533 virtual bool inCaravan()
const;
535 virtual void sendMotionPacketIfNeeded();
537 virtual bool canSynchronizeNewEntity()
const;
539 virtual void startSwimming();
541 virtual void stopSwimming();
543 virtual void buildDebugInfo(::std::string& out)
const;
545 virtual ::CommandPermissionLevel getCommandPermissionLevel()
const;
547 virtual int getDeathTime()
const;
549 virtual bool canBeAffected(uint
id)
const;
555 virtual bool canObstructSpawningAndBlockPlacement()
const;
557 virtual ::AnimationComponent& getAnimationComponent();
559 virtual void openContainerComponent(
::Player& player);
561 virtual bool swing(::ActorSwingSource swingSource);
563 virtual void useItem(
::ItemStackBase& item, ::ItemUseMethod itemUseMethod,
bool consumeItem);
565 virtual void getDebugText(::std::vector<::std::string>& outputInfo);
567 virtual float getMapDecorationRotation()
const;
569 virtual float getPassengerYRotation(::Actor
const& passenger)
const;
573 virtual bool drop(
::ItemStack const& item,
bool const randomly);
575 virtual ::InteractionResult
578 virtual bool canDestroyBlock(
::Block const& block)
const;
580 virtual void setAuxValue(
int aux);
588 virtual bool shouldDropDeathLoot()
const;
590 virtual void applySnapshot(
595 virtual void onPush(::Actor& source);
597 virtual ::std::optional<::BlockPos> getLastDeathPos()
const;
599 virtual ::std::optional<::DimensionType> getLastDeathDimension()
const;
601 virtual bool hasDiedBefore()
const;
603 virtual void doEnterWaterSplashEffect();
605 virtual void doExitWaterSplashEffect();
607 virtual void doWaterSplashEffect();
609 virtual bool _shouldProvideFeedbackOnHandContainerItemSet(::HandSlot handSlot,
::ItemStack const& item)
const;
611 virtual bool _shouldProvideFeedbackOnArmorSet(::SharedTypes::Legacy::ArmorSlot slot,
::ItemStack const& item)
const;
613 virtual ::ActorHurtResult
618 virtual void addAdditionalSaveData(
::CompoundTag& tag)
const;
632 MCAPI ::BuiltInActorComponents _addActorBuiltInComponents();
634 MCAPI
void _addActorNonBuiltInComponents();
636 MCAPI
bool _applyPendingPropertyChanges();
638 MCAPI ::ItemActor
const* _drop(
::ItemStack const& item,
bool randomly);
640 MCFOLD ::std::vector<::MobEffectInstance>& _getAllEffectsNonConst();
642 MCAPI ::AnimationComponent& _getAnimationComponent(
643 ::std::shared_ptr<::AnimationComponent>& animationComponent,
644 ::AnimationComponentGroupType group
647 MCAPI
void _initializeMaxAutoStep(
float maxAutoStep);
649 MCAPI
bool _isDeathLootAllowed()
const;
653 MCAPI
void _refreshAABB();
655 MCAPI
void _sendDirtyActorData();
657 MCAPI
void _setActorTypeId(::ActorType type);
661 MCAPI
void _setHandContainerItem(
::ItemStack const& item, ::HandSlot handSlot);
663 MCAPI
void _setPos(
::Vec3 const& pos);
665 MCAPI
void _setupServerAnimationComponent();
667 MCAPI
void _updateComposition(
bool reload);
671 MCAPI
bool addTag(::std::string
const& tag);
673 MCAPI
void applyOnBornPropertyChanges();
675 MCAPI
void buildDebugGroupInfo(::std::string& out)
const;
677 MCAPI
void burn(
int damage,
bool inFire);
679 MCAPI
bool canAttack(::Actor
const& entity)
const;
681 MCAPI
bool canBeginOrContinueClimbingLadder()
const;
683 MCAPI
bool canFly()
const;
685 MCAPI
bool canMate(::Actor
const& partner)
const;
687 MCAPI
bool canReceiveMobEffectsFromGameplay()
const;
689 MCAPI
bool canSee(
::Vec3 const& targetPos, ::ShapeType obstructionType)
const;
691 MCAPI
bool canSeeDaylight()
const;
693 MCAPI
void celebrateHunt(
int duration,
bool special);
695 MCAPI
void checkFallDamage(
float ya,
bool onGround,
bool recheckLiquid);
697 MCAPI
void chorusFruitTeleport(
::Vec3 const& range);
699 MCAPI
bool closerThan(::Actor
const& e,
float distance)
const;
701 MCAPI
bool closerThan(::Actor
const& e,
float distanceXZ,
float distanceY)
const;
703 MCAPI
void consumeItem(
::ItemActor& itemActor,
int count);
705 MCAPI ::UpdateEquipPacket createUpdateEquipPacket(
int containerID);
707 MCAPI ::UpdateTradePacket createUpdateTradePacket(
int containerID);
709 MCAPI
void deregisterTagsFromLevelCache();
711 MCAPI
float distanceSqrToBlockPosCenter(
::BlockPos const& pos)
const;
713 MCAPI
float distanceTo(::Actor
const& e)
const;
719 MCAPI
void equip(::std::string
const& lootTableFilePath);
721 MCAPI
void equipFromEquipmentDefinition();
723 MCAPI
float evaluateSeatRotation(
::RideableComponent const& rideable,
bool useVehicleRenderParams);
727 MCAPI
void exitVehicle(
bool exitFromPassenger,
bool actorIsBeingDestroyed,
bool wasEjectedByActivatorRail);
729 MCAPI ::FishingHook* fetchFishingHook();
731 MCAPI ::std::vector<::DistanceSortedActor> fetchNearbyActorsSorted(
::Vec3 const& distance, ::ActorType actorTypeId);
734 MCAPI
int getActiveEffectCount()
const;
737 MCAPI ::ActorDefinitionIdentifier
const& getActorIdentifier()
const;
740 MCAPI ::Matrix getActorToWorldTransform(
float frameAlpha,
bool useActorRotation,
::Vec3 const& offset)
const;
743 MCFOLD ::std::vector<::MobEffectInstance>
const& getAllEffects()
const;
745 MCAPI ::Vec3 getAttachPos(::SharedTypes::Legacy::ActorLocation location,
float alpha = 0.0f)
const;
747 MCAPI ::AttributeInstanceConstRef getAttribute(
::Attribute const& attribute)
const;
749 MCAPI ::gsl::not_null<::BaseAttributeMap const*> getAttributes()
const;
752 MCAPI ::gsl::not_null<::BaseAttributeMap*> getAttributes();
755 MCAPI ::BlockPos getBlockPosCurrentlyStandingOn(::Actor
const* actor)
const;
757 MCAPI ::ItemStack
const& getCarriedItemInSlotPreferredBy(
::ItemStack const& item)
const;
759 MCAPI
int getChestSlots()
const;
761 MCAPI
float getCurrentSwimAmount()
const;
763 MCAPI ::Dimension& getDimension()
const;
765 MCFOLD ::BlockSource& getDimensionBlockSource()
const;
767 MCFOLD ::BlockSource
const& getDimensionBlockSourceConst()
const;
769 MCAPI ::MobEffectInstance
const* getEffect(
::MobEffect const& effect)
const;
771 MCAPI ::MobEffectInstance
const* getEffect(uint effectId)
const;
773 MCAPI ::StackRefResult<::EntityRegistry> getEntityRegistry();
775 MCAPI ::ActorType getEntityTypeId()
const;
777 MCAPI
int getEquipSlots()
const;
779 MCAPI
int getEquipmentCount()
const;
781 MCAPI ::SharedTypes::Legacy::EquipmentSlot getEquipmentSlotForItem(
::ItemStack const& item)
const;
783 MCAPI ::Vec3 getEyePos()
const;
785 MCAPI
float getFallDistance()
const;
788 MCAPI ::std::string getFilteredNameTag()
const;
791 MCAPI
bool getFirstAvailableSeatPos(::Actor& potentialPassenger,
::Vec3& result)
const;
793 MCAPI ::Actor* getFirstPassenger()
const;
796 MCAPI ::Block
const* getInsideBlock()
const;
799 MCAPI ::Vec3 getInterpolatedPosition(
float a = 0.0f)
const;
801 MCAPI ::Vec3 getInterpolatedRidingPosition(
float a = 0.0f)
const;
804 MCAPI ::Vec2 getInterpolatedRotation(
float a)
const;
807 MCAPI
int getInventorySize()
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 isBaby()
const;
919 MCAPI
bool isCreative()
const;
921 MCAPI
bool isDoorOpener()
const;
923 MCAPI
bool isImmersedInWater()
const;
925 MCAPI
bool isInClouds()
const;
927 MCAPI
bool isInPrecipitation()
const;
929 MCAPI
bool isInRain()
const;
931 MCAPI
bool isInSnow()
const;
933 MCAPI
bool isInThunderstorm()
const;
935 MCAPI
bool isInWater()
const;
937 MCAPI
bool isInWaterOrRain()
const;
939 MCAPI
bool isInsidePortal()
const;
941 MCAPI
bool isInvertedHealAndHarm()
const;
943 MCAPI
bool isJumping()
const;
945 MCAPI
bool isLayingDown()
const;
947 MCAPI
bool isLeashed()
const;
949 MCAPI
bool isLocalPlayer()
const;
951 MCAPI
bool isOrphan()
const;
953 MCAPI
bool isOverWater()
const;
955 MCAPI
bool isPassenger(::Actor
const& passenger)
const;
957 MCAPI
bool isRiding(::Actor* targetVehicle)
const;
959 MCAPI
bool isSilent()
const;
961 MCAPI
bool isSitting()
const;
963 MCAPI
bool isSpectator()
const;
965 MCAPI
bool isStanding()
const;
967 MCAPI
bool isSurvival()
const;
969 MCAPI
bool isSwimmer()
const;
971 MCAPI
bool isTame()
const;
973 MCAPI
bool isTrading()
const;
975 MCAPI
bool isUnderLiquid(::SharedTypes::v1_26_20::MaterialType type)
const;
977 MCAPI
bool isUseNewTradeScreen()
const;
979 MCAPI
bool isWalker()
const;
981 MCAPI
bool isWearingLeatherArmor()
const;
983 MCAPI
bool isWorldBuilder()
const;
985 MCAPI
void killed(::Actor& entity);
987 MCAPI
void lerpTo(
::Vec3 const& pos,
::Vec2 const& rot,
int steps);
989 MCAPI
void lerpTo(
::Vec3 const& pos,
::Vec2 const& rot,
float headYaw,
int steps);
996 MCAPI
void move(
::Vec3 const& posDelta);
998 MCAPI
void moveTo(
::Vec3 const& pos,
::Vec2 const& rot);
1000 MCAPI
bool onClimbableBlock()
const;
1002 MCAPI
void pickUpItem(
::ItemActor& itemActor,
int count);
1004 MCAPI
void playSound(
1006 ::SharedTypes::Legacy::LevelSoundEvent type,
1011 MCAPI
void playSynchronizedSound(
1019 MCAPI
void playSynchronizedSound(
1020 ::SharedTypes::Legacy::LevelSoundEvent type,
1024 ::std::optional<::Vec3>
const&
1028 MCAPI
void positionAllPassengers();
1031 MCAPI
void positionPassenger(::Actor& passenger);
1033 MCAPI
void postSplashGameEvent();
1035 MCAPI
bool pullInEntity(::Actor& e);
1037 MCAPI
void pushBackActionEventToActionQueue(
::ActionEvent actionEvent);
1039 MCAPI
void pushOutOfBlocks(
::Vec3 const& vec);
1041 MCAPI
void reload();
1043 MCAPI
void removeAllEffects();
1045 MCAPI
void removeAllPassengers(
bool actorIsBeingDestroyed,
bool exitFromPassenger);
1047 MCAPI
void removeEffect(
int effectId);
1049 MCAPI
bool removeTag(::std::string
const& tag);
1057 MCAPI
void setDead(
bool isDead);
1065 MCAPI
void setFallDistance(
float distance);
1067 MCAPI
void setInLove(::Actor* lovePartner);
1069 MCAPI
void setInvisible(
bool value);
1071 MCAPI
void setLastHurtByMob(
::Mob* mob);
1073 MCAPI
void setLastHurtByPlayer(
::Player* player);
1077 MCAPI
void setLimitedLifetimeTicks(
int lifetimeTicks);
1079 MCAPI
void setNameTag(::std::string
const& name);
1085 MCAPI
void setPersistent();
1090 MCAPI
void setRotationWrapped(
::Vec2 const& rot);
1095 MCAPI
void setStrength(
int strength);
1098 MCAPI
void setTradingPlayer(
::Player* player);
1103 MCAPI
void setYHeadRot(
float yHeadRot);
1105 MCAPI
void setYHeadRotations(
float yHeadRot,
float oldYHeadRot);
1109 MCAPI
bool shouldTick()
const;
1111 MCAPI ::ItemActor* spawnAtLocation(
::ItemStack const& item,
float yOffs);
1113 MCAPI
void spawnTrailBubbles();
1116 stopRiding(
bool exitFromPassenger,
bool actorIsBeingDestroyed,
bool switchingVehicles,
bool isBeingTeleported);
1118 MCAPI
void synchronousSetSize(
float w,
float h);
1120 MCAPI
void teleportPassengersTo(
::Vec3 const& pos,
int cause,
int entityType);
1122 MCAPI
void thawFreezeEffect();
1126 MCAPI
void transferTickingArea(
::Dimension const& toDimension);
1128 MCAPI
void triggerActorRemovedEvent();
1130 MCAPI ::std::vector<::ItemDescriptor>
const* tryGetEquippableSlotAllowedItems(
int slotNumber)
const;
1132 MCAPI ::std::optional<int> tryGetEquippableSlotForItem(
::ItemDescriptor item)
const;
1134 MCAPI
bool tryTeleportTo(
::Vec3 const& pos,
bool landOnBlock,
bool avoidLiquid,
int cause,
int entityType);
1136 MCAPI
void updateDescription();
1138 MCAPI
void updateDimensionChunkMove();
1140 MCAPI
void updateInsideBlock();
1142 MCAPI
void updateInvisibilityStatus();
1144 MCAPI
void updateWaterState();
1146 MCAPI
void wobble();
1152 MCAPI static ::std::vector<::BlockPos> getBlocksCurrentlyStandingOn(
1155 float ignoreGapBelow,
1160 MCAPI static ::Vec3 getInterpolatedPosition(
1167 MCAPI
static bool isInLiquid(
1168 ::SharedTypes::v1_26_20::MaterialType liquidType,
1171 ::std::vector<::AABB>
const& subAABBs
1176 MCAPI static ::Actor*
1203 MCAPI
void $outOfWorld();
1207 MCFOLD
void $reloadHardcodedClient(::ActorInitializationMethod method);
1209 MCAPI
void $initializeComponents(::ActorInitializationMethod method,
::VariantParameterList const& params);
1213 MCAPI
void $_serverInitItemStackIds();
1215 MCAPI
void $_doInitialMove();
1217 MCFOLD
void $resetUserPos(::ActorResetRule resetRule);
1219 MCAPI ::ActorType $getOwnerEntityType();
1221 MCAPI
void $remove();
1223 MCAPI ::Vec3 $getFiringPos()
const;
1225 MCAPI
float $getInterpolatedBodyRot(
float a)
const;
1227 MCFOLD
float $getInterpolatedHeadRot(
float a)
const;
1229 MCFOLD
float $getInterpolatedBodyYaw(
float a)
const;
1231 MCAPI
float $getYawSpeedInDegreesPerSecond()
const;
1233 MCFOLD ::Vec3 $getInterpolatedRidingOffset(
float,
int const)
const;
1235 MCAPI
bool $isFireImmune()
const;
1239 MCAPI
bool $canDisableShield();
1242 $teleportTo(
::Vec3 const& pos,
bool shouldStopRiding,
int cause,
int sourceEntityType,
bool keepVelocity);
1244 MCAPI
void $lerpMotion(
::Vec3 const& delta);
1246 MCAPI ::std::unique_ptr<::Packet> $tryCreateAddActorPacket();
1248 MCAPI
void $normalTick();
1250 MCAPI
void $baseTick();
1252 MCAPI
void $passengerTick();
1254 MCAPI
bool $startRiding(::Actor& vehicle,
bool forceRiding);
1256 MCAPI
void $addPassenger(::Actor& passenger);
1258 MCAPI ::std::string $getExitTip(::std::string
const& kind, ::InputMode mode, ::NewInteractionModel scheme)
const;
1260 MCAPI ::std::string $getEntityLocNameString()
const;
1262 MCAPI
bool $isInvisible()
const;
1264 MCAPI
bool $canShowNameTag()
const;
1266 MCFOLD ::mce::Color $getNameTagTextColor()
const;
1268 MCAPI
float $getShadowRadius()
const;
1270 MCAPI ::Vec3 $getHeadLookVector(
float a)
const;
1272 MCFOLD
bool $canInteractWithOtherEntitiesInGame()
const;
1276 MCFOLD
void $playerTouch(
::Player& player);
1278 MCAPI
bool $isImmobile()
const;
1280 MCAPI
bool $isSilentObserver()
const;
1282 MCFOLD
bool $isSleeping()
const;
1284 MCFOLD
void $setSleeping(
bool val);
1286 MCAPI
void $setSneaking(
bool value);
1288 MCFOLD
bool $isBlocking()
const;
1292 MCAPI
bool $isAlive()
const;
1294 MCAPI
bool $isOnFire()
const;
1296 MCFOLD
bool $isSurfaceMob()
const;
1298 MCFOLD
bool $isTargetable()
const;
1300 MCAPI
void $setTarget(::Actor* entity);
1302 MCFOLD
bool $isValidTarget(::Actor* attacker)
const;
1304 MCAPI ::ActorHurtResult $attack(::Actor& target, ::SharedTypes::Legacy::ActorDamageCause
const& cause);
1306 MCAPI
void $performRangedAttack(::Actor& target,
float);
1310 MCFOLD
void $setSitting(
bool value);
1312 MCFOLD
void $onTame();
1314 MCFOLD
void $onFailedTame();
1316 MCAPI
void $setStanding(
bool value);
1318 MCAPI
bool $canPowerJump()
const;
1320 MCAPI
bool $isEnchanted()
const;
1322 MCAPI
void $playAmbientSound();
1324 MCAPI ::SharedTypes::Legacy::LevelSoundEvent $getAmbientSound()
const;
1328 MCAPI ::SharedTypes::Legacy::ActorDamageCause $getBlockDamageCause(
::Block const& block)
const;
1330 MCAPI ::ActorHurtResult $doFireHurt(
int amount);
1332 MCAPI
void $onLightningHit();
1334 MCAPI
void $feed(
int itemId);
1336 MCAPI
void $handleEntityEvent(::ActorEvent eventId,
int data);
1339 MCFOLD ::HashedString
const& $getActorRendererId()
const;
1341 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 MCFOLD
bool $canFreeze()
const;
1374 MCAPI ::AABB $getLiquidAABB(::SharedTypes::v1_26_20::MaterialType
const liquidType)
const;
1376 MCAPI
void $handleInsidePortal(
::BlockPos const& portalPos);
1378 MCAPI
bool $canChangeDimensionsUsingPortal()
const;
1388 MCFOLD ::ActorUniqueID $getControllingPlayer()
const;
1390 MCAPI
float $causeFallDamageToActor(
float distance,
float multiplier,
::ActorDamageSource source);
1392 MCAPI
void $onSynchedDataUpdate(
int dataId);
1394 MCAPI
bool $canAddPassenger(::Actor& passenger)
const;
1396 MCFOLD
bool $canPickupItem(
::ItemStack const& item)
const;
1398 MCFOLD
bool $canBePulledIntoVehicle()
const;
1400 MCFOLD
bool $inCaravan()
const;
1402 MCAPI
void $sendMotionPacketIfNeeded();
1404 MCFOLD
bool $canSynchronizeNewEntity()
const;
1406 MCAPI
void $startSwimming();
1408 MCAPI
void $stopSwimming();
1410 MCFOLD
void $buildDebugInfo(::std::string& out)
const;
1412 MCAPI ::CommandPermissionLevel $getCommandPermissionLevel()
const;
1414 MCFOLD
int $getDeathTime()
const;
1416 MCAPI
bool $canBeAffected(uint
id)
const;
1422 MCAPI
bool $canObstructSpawningAndBlockPlacement()
const;
1424 MCAPI ::AnimationComponent& $getAnimationComponent();
1426 MCAPI
void $openContainerComponent(
::Player& player);
1428 MCFOLD
bool $swing(::ActorSwingSource swingSource);
1430 MCAPI
void $useItem(
::ItemStackBase& item, ::ItemUseMethod itemUseMethod,
bool consumeItem);
1432 MCAPI
void $getDebugText(::std::vector<::std::string>& outputInfo);
1434 MCAPI
float $getMapDecorationRotation()
const;
1436 MCAPI
float $getPassengerYRotation(::Actor
const& passenger)
const;
1440 MCAPI
bool $drop(
::ItemStack const& item,
bool const randomly);
1442 MCAPI ::InteractionResult
1445 MCFOLD
bool $canDestroyBlock(
::Block const& block)
const;
1447 MCFOLD
void $setAuxValue(
int aux);
1455 MCAPI
bool $shouldDropDeathLoot()
const;
1457 MCAPI
void $applySnapshot(
1462 MCFOLD
void $onPush(::Actor& source);
1464 MCFOLD ::std::optional<::BlockPos> $getLastDeathPos()
const;
1466 MCFOLD ::std::optional<::DimensionType> $getLastDeathDimension()
const;
1468 MCFOLD
bool $hasDiedBefore()
const;
1470 MCFOLD
void $doEnterWaterSplashEffect();
1472 MCFOLD
void $doExitWaterSplashEffect();
1474 MCAPI
void $doWaterSplashEffect();
1476 MCAPI
bool $_shouldProvideFeedbackOnHandContainerItemSet(::HandSlot handSlot,
::ItemStack const& item)
const;
1478 MCAPI
bool $_shouldProvideFeedbackOnArmorSet(::SharedTypes::Legacy::ArmorSlot slot,
::ItemStack const& item)
const;
1480 MCAPI ::ActorHurtResult
1485 MCAPI
void $addAdditionalSaveData(
::CompoundTag& tag)
const;