72 using OnPlayerLoadedCallback = ::std::function<void(
::ServerPlayer&)>;
77 enum class State :
int {
87 ::ll::TypedStorage<1, 1, bool> isAutonomous;
88 ::ll::TypedStorage<4, 4, ::ServerPlayer::NearbyActor::State> state;
89 ::ll::TypedStorage<8, 8, ::Actor*> tempActor;
96 ::ll::TypedStorage<4, 4, ::DeviceMemoryTier> mMemoryTier;
97 ::ll::TypedStorage<4, 4, ::PlatformType> mPlatformType;
98 ::ll::TypedStorage<4, 4, int> mMaxClientViewDistance;
99 ::ll::TypedStorage<8, 8, ::ServerNetworkSystem&> mNetwork;
100 ::ll::TypedStorage<8, 64, ::std::function<void(
::ServerPlayer&)>> mOnPlayerLoadedCallback;
101 ::ll::TypedStorage<8, 112, ::InventoryMenu> mInventoryMenu;
102 ::ll::TypedStorage<1, 1, ::ContainerID> mContainerCounter;
103 ::ll::TypedStorage<4, 4, uint> mMaxChunkRadius;
104 ::ll::TypedStorage<1, 1, bool> mIsInitialPlayerLoadHappening;
105 ::ll::TypedStorage<1, 1, bool> mIsTeacher;
106 ::ll::TypedStorage<1, 1, bool> mLocalPlayerInitialized;
107 ::ll::TypedStorage<1, 1, bool> mWaitingForTickingAreasPreload;
108 ::ll::TypedStorage<8, 8, ::Tick> mPrevShieldBlockingTick;
109 ::ll::TypedStorage<4, 4, uint> mClientViewRadius;
110 ::ll::TypedStorage<4, 4, uint> mClientRequestedRadius;
111 ::ll::TypedStorage<1, 1, bool> mIsCompatibleWithClientSideChunkGen;
112 ::ll::TypedStorage<4, 4, int> mRemainingStructureRefreshTicks;
113 ::ll::TypedStorage<8, 48, ::HashedString> mCurrentStructureFeature;
114 ::ll::TypedStorage<4, 4, int> mLastKnownSyncTick;
115 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ActorUniqueID, ::ServerPlayer::NearbyActor>> mNearbyActors;
116 ::ll::TypedStorage<8, 16, ::CallbackToken> mCloseContainerToken;
117 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Editor::IEditorPlayer>> mEditorServerPlayer;
118 ::ll::TypedStorage<1, 1, bool> mHasQueuedViewMove;
119 ::ll::TypedStorage<1, 1, bool> mIsPendingDisconnect;
120 ::ll::TypedStorage<4, 52, ::std::array<::HudVisibility, 13>> mHudElementsVisibilityState;
134 virtual void aiStep() ;
137 virtual void normalTick() ;
140 virtual void knockback(
145 float horizontalPower,
154 virtual void moveView() ;
163 virtual bool isValidTarget(
::Actor* attacker)
const ;
167 hurtArmorSlots(
::ActorDamageSource const& source,
int dmg, ::std::bitset<5>
const hurtSlots) ;
170 virtual void sendArmorDamage(::std::bitset<5>
const damagedSlots) ;
173 virtual void sendArmor(::std::bitset<5>
const armorSlots) ;
176 virtual void setDamagedArmor(::SharedTypes::Legacy::ArmorSlot slot,
::ItemStack const& item) ;
179 virtual void sendInventory(
bool shouldSelectSlot) ;
185 virtual void sendComplexInventoryTransaction(::std::unique_ptr<::ComplexInventoryTransaction> transaction)
const
189 virtual void sendNetworkPacket(
::Packet& packet)
const ;
192 virtual void displayTextObjectMessage(
194 ::std::string
const& fromXuid,
195 ::std::string
const& fromPlatformId
199 virtual void displayTextObjectWhisperMessage(
201 ::std::string
const& xuid,
202 ::std::string
const& platformId
206 virtual void displayTextObjectWhisperMessage(
207 ::std::string
const& message,
208 ::std::string
const& xuid,
209 ::std::string
const& platformId
213 virtual void displayWhisperMessage(
214 ::std::string
const& author,
215 ::std::string
const& message,
216 ::std::optional<::std::string>
const filteredMessage,
217 ::std::string
const& xuid,
218 ::std::string
const& platformId
222 virtual void openTrading(
::ActorUniqueID const& uniqueID,
bool useNewScreen) ;
225 virtual void openPortfolio() ;
228 virtual void openNpcInteractScreen(::std::shared_ptr<::INpcDialogueData> npc) ;
231 virtual void openInventory() ;
234 virtual void openBook(
int,
bool,
int,
::BlockActor* lectern) ;
237 virtual void openSign(
::BlockPos const& position,
bool isFrontSide) ;
240 virtual void checkMovementStats(
::Vec3 const& d) ;
243 virtual ::HashedString getCurrentStructureFeature() const ;
246 virtual
void handleEntityEvent(::ActorEvent eventId,
int data) ;
252 virtual
void slotChanged(
265 virtual
void stopSleepInBed(
bool forcefulWakeUp,
bool updateLevelList) ;
268 virtual
void setArmor(::SharedTypes::Legacy::ArmorSlot const armorSlot, ::
ItemStack const& item) ;
271 virtual
void setOffhandSlot(::
ItemStack const& item) ;
274 virtual
void clearVanishEnchantedItemsOnDeath() ;
277 virtual
bool canChangeDimensionsUsingPortal() const ;
283 virtual
void changeDimensionWithCredits(::
DimensionType dimension) ;
286 virtual
void setPlayerGameType(::GameType gameType) ;
289 virtual
void prepareRegion(::
ChunkSource& mainChunkSource) ;
292 virtual
bool isActorRelevant(::
Actor const& actor) ;
298 virtual
void destroyRegion() ;
301 virtual
void onSuspension() ;
304 virtual
void onLinkedSlotsChanged() ;
307 virtual
bool isTeacher() const ;
310 virtual
bool isLoading() const ;
316 virtual
bool isPlayerInitialized() const ;
319 virtual
void respawn() ;
325 virtual
void destroyEditorPlayer() ;
328 virtual ::Bedrock::NonOwnerPointer<::Editor::IEditorPlayer> getEditorPlayer() const ;
331 virtual uchar getMaxChunkBuildRadius() const ;
334 virtual
int _getSpawnChunkLimit() const;
337 virtual
void _updateChunkPublisherView(::
Vec3 const& position,
float minDistance);
340 virtual
void _serverInitItemStackIds() ;
350 ::ClientBlobCache::Server::ActiveTransfersManager& clientCacheMirror,
351 ::GameType playerGameType,
352 bool isHostingPlayer,
357 ::
std::
string const& playFabId,
358 ::
std::
string const& deviceId,
361 bool enableItemStackNetManager,
363 ::DeviceMemoryTier memoryTier,
364 ::PlatformType platformType,
365 int maxClientViewDistance,
366 ::InputMode inputMode
369 MCAPI
bool _checkForLoadedTickingAreas() const;
371 MCAPI
void _logCDEvent(
372 ::CrashDumpLogStringID option1,
373 ::CrashDumpLogStringID option2,
374 ::CrashDumpLogStringID option3,
375 ::CrashDumpLogStringID option4
378 MCAPI
void _removeNearbyEntities();
382 MCAPI
void _updateNearbyActors();
384 MCAPI
void acceptClientPosition(::
Vec3 const& clientPos, ::
Vec3 const& clientPosDelta);
386 MCAPI
void addActorToReplicationList(::gsl::not_null<::
Actor*> actor,
bool autonomous);
388 MCAPI
void checkCheating(::
Vec3 const& clientPos, ::
Vec3 const& clientPosDelta);
390 MCAPI
void createEditorPlayer(::Bedrock::NonOwnerPointer<::Editor::IEditorManager> editorManager);
392 MCAPI
void disconnect();
394 MCAPI
void doDeleteContainerManager(
bool forceDisconnect);
396 MCAPI
void doInitialSpawn();
398 MCAPI
void handleActorPickRequestOnServer(::
Actor& target,
bool withData,
bool isActorAgentAndEduMode);
400 MCAPI
void handleBlockPickRequestOnServer(::
BlockPos const& position,
bool withData);
402 MCAPI
void hideAllExcept(::
std::optional<::
std::vector<::HudElement>> const& hudElements);
404 MCAPI
bool isInPickRangeOf(::
BlockPos const& pos);
406 MCAPI ::ContainerID openUnmanagedContainer();
408 MCAPI
void postReplicationTick(::
Tick const& currentTick);
410 MCAPI
void preReplicationTick(::
Tick const& currentTick);
412 MCAPI
bool selectItem(::
ItemStack const& item);
414 MCAPI
void setClientChunkRadius(uint requestedRadius, uchar clientMaxChunkRadius);
416 MCAPI
void setHudVisibilityState(
417 ::HudVisibility hudVisibility,
418 ::
std::optional<::
std::vector<::HudElement>> const& hudElements
421 MCAPI
void setPlayerInput(
float xxa,
float zza,
bool jumping,
bool sneaking);
439 ::ClientBlobCache::Server::ActiveTransfersManager& clientCacheMirror,
440 ::GameType playerGameType,
441 bool isHostingPlayer,
446 ::
std::
string const& playFabId,
447 ::
std::
string const& deviceId,
450 bool enableItemStackNetManager,
452 ::DeviceMemoryTier memoryTier,
453 ::PlatformType platformType,
454 int maxClientViewDistance,
455 ::InputMode inputMode
468 MCAPI
void $initializeComponents(::ActorInitializationMethod method, ::
VariantParameterList const& params);
470 MCAPI
void $aiStep();
472 MCAPI
void $normalTick();
474 MCAPI
void $knockback(
479 float horizontalPower,
486 MCAPI
void $moveView();
488 MCAPI
void $moveSpawnView(::
Vec3 const& spawnPosition, ::
DimensionType dimension);
492 MCAPI
bool $isValidTarget(::
Actor* attacker) const;
494 MCAPI
void $hurtArmorSlots(::
ActorDamageSource const& source,
int dmg, ::
std::bitset<5> const hurtSlots);
496 MCAPI
void $sendArmorDamage(::
std::bitset<5> const damagedSlots);
498 MCAPI
void $sendArmor(::
std::bitset<5> const armorSlots);
500 MCAPI
void $setDamagedArmor(::SharedTypes::Legacy::ArmorSlot slot, ::
ItemStack const& item);
502 MCAPI
void $sendInventory(
bool shouldSelectSlot);
508 MCAPI
void $sendNetworkPacket(::
Packet& packet) const;
510 MCAPI
void $displayTextObjectMessage(
512 ::
std::
string const& fromXuid,
513 ::
std::
string const& fromPlatformId
516 MCAPI
void $displayTextObjectWhisperMessage(
518 ::
std::
string const& xuid,
519 ::
std::
string const& platformId
522 MCAPI
void $displayTextObjectWhisperMessage(
523 ::
std::
string const& message,
524 ::
std::
string const& xuid,
525 ::
std::
string const& platformId
528 MCAPI
void $displayWhisperMessage(
529 ::
std::
string const& author,
530 ::
std::
string const& message,
531 ::
std::optional<::
std::
string> const filteredMessage,
532 ::
std::
string const& xuid,
533 ::
std::
string const& platformId
536 MCAPI
void $openTrading(::
ActorUniqueID const& uniqueID,
bool useNewScreen);
538 MCFOLD
void $openPortfolio();
542 MCAPI
void $openInventory();
544 MCAPI
void $openBook(
int,
bool,
int, ::
BlockActor* lectern);
546 MCAPI
void $openSign(::
BlockPos const& position,
bool isFrontSide);
548 MCAPI
void $checkMovementStats(::
Vec3 const& d);
550 MCAPI ::
HashedString $getCurrentStructureFeature() const;
554 MCAPI
void $slotChanged(
565 MCAPI
void $stopSleepInBed(
bool forcefulWakeUp,
bool updateLevelList);
567 MCAPI
void $setArmor(::SharedTypes::Legacy::ArmorSlot const armorSlot, ::
ItemStack const& item);
569 MCAPI
void $setOffhandSlot(::
ItemStack const& item);
571 MCAPI
void $clearVanishEnchantedItemsOnDeath();
573 MCAPI
bool $canChangeDimensionsUsingPortal() const;
577 MCAPI
void $changeDimensionWithCredits(::
DimensionType dimension);
579 MCAPI
void $setPlayerGameType(::GameType gameType);
581 MCAPI
void $prepareRegion(::
ChunkSource& mainChunkSource);
583 MCAPI
bool $isActorRelevant(::
Actor const& actor);
587 MCAPI
void $destroyRegion();
589 MCAPI
void $onSuspension();
591 MCAPI
void $onLinkedSlotsChanged();
593 MCAPI
bool $isTeacher() const;
595 MCAPI
bool $isLoading() const;
599 MCAPI
bool $isPlayerInitialized() const;
601 MCAPI
void $respawn();
605 MCAPI
void $destroyEditorPlayer();
607 MCAPI ::Bedrock::NonOwnerPointer<::Editor::IEditorPlayer> $getEditorPlayer() const;
609 MCAPI uchar $getMaxChunkBuildRadius() const;
611 MCAPI
int $_getSpawnChunkLimit() const;
613 MCAPI
void $_updateChunkPublisherView(::
Vec3 const& position,
float minDistance);
615 MCAPI
void $_serverInitItemStackIds();
621 MCAPI static
void** $vftable();