3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/certificates/identity/PlayerAuthenticationType.h"
7#include "mc/client/game/ClientGameSetupResult.h"
8#include "mc/client/game/ClientInstanceState.h"
9#include "mc/client/game/ControlOptionType.h"
10#include "mc/client/game/DiskStatus.h"
11#include "mc/client/game/IClientInstance.h"
12#include "mc/client/gui/GameEventNotification.h"
13#include "mc/client/gui/SceneType.h"
14#include "mc/client/gui/StoreNavigationOrigin.h"
15#include "mc/client/gui/screens/controllers/InventoryTabIndex.h"
16#include "mc/client/gui/screens/controllers/MarketplacePassTabIndex.h"
17#include "mc/client/gui/screens/models/PlayScreenDefaultTab.h"
18#include "mc/client/options/SplitScreenDirection.h"
19#include "mc/client/persona/IPersonaClientProvider.h"
20#include "mc/client/social/MultiplayerServiceIdentifier.h"
21#include "mc/client/social/connection/UIReturnTarget.h"
22#include "mc/client/store/StoreErrorCodes.h"
23#include "mc/client/util/ClipboardProxy.h"
24#include "mc/common/SubClientId.h"
25#include "mc/deps/core/file/LevelStorageState.h"
26#include "mc/deps/core/file/PathBuffer.h"
27#include "mc/deps/core/file/StorageAreaStateListener.h"
28#include "mc/deps/core/threading/Async.h"
29#include "mc/deps/core/utility/NonOwnerPointer.h"
30#include "mc/deps/core/utility/UniqueOwnerPointer.h"
31#include "mc/deps/core_graphics/math/Rect.h"
32#include "mc/deps/game_refs/OwnerPtr.h"
33#include "mc/deps/game_refs/WeakRef.h"
34#include "mc/deps/input/InputMode.h"
35#include "mc/deps/input/PointerType.h"
36#include "mc/deps/input/enums/WYSIWYGState.h"
37#include "mc/deps/minecraft_renderer/renderer/TexturePtr.h"
38#include "mc/deps/renderer/MatrixStack.h"
39#include "mc/events/NetworkType.h"
40#include "mc/input/ClientPlayMode.h"
41#include "mc/network/connection/DisconnectFailReason.h"
42#include "mc/options/option_types/OptionID.h"
43#include "mc/platform/brstd/function_ref.h"
44#include "mc/util/ProfanityFilterContext.h"
45#include "mc/world/GameCallbacks.h"
46#include "mc/world/actor/bhave/BehaviorStatus.h"
47#include "mc/world/actor/player/PlayerListener.h"
48#include "mc/world/level/GameType.h"
119class MarketplaceServicesManager;
143class StoreCatalogItem;
144class StoreCatalogRepository;
170namespace Bedrock::Http {
class Status; }
173namespace Core {
class Path; }
177namespace OreUI {
class Router; }
181namespace Realms {
struct World; }
187namespace Social {
class User; }
189namespace mce {
class Camera; }
190namespace mce {
class Texture; }
201 public ::std::enable_shared_from_this<::ClientInstance> {
216 ::ll::TypedStorage<8, 8, ::mce::Texture*> mUITexture;
217 ::ll::TypedStorage<8, 32, ::mce::TexturePtr> mUICursorTexture;
225 ::ll::UntypedStorage<8, 8> mUnkff7778;
226 ::ll::UntypedStorage<8, 8> mUnk241918;
227 ::ll::UntypedStorage<1, 1> mUnkb9c8a1;
228 ::ll::UntypedStorage<8, 8> mUnk4fdef3;
229 ::ll::UntypedStorage<8, 64> mUnk4fd828;
230 ::ll::UntypedStorage<8, 64> mUnk738e7f;
231 ::ll::UntypedStorage<8, 64> mUnk525e8f;
236 ClientDestroyBlockState& operator=(ClientDestroyBlockState
const&);
237 ClientDestroyBlockState(ClientDestroyBlockState
const&);
238 ClientDestroyBlockState();
398 virtual void onInitMinecraftGame() ;
400 virtual void onDestroyMinecraftGame() ;
404 virtual void initSceneFactory(
405 ::std::unique_ptr<::SceneFactory> sceneFactory,
406 ::std::unique_ptr<::OreUI::SceneProvider> sceneProvider
409 virtual void setUiRouter(::std::unique_ptr<::OreUI::Router> uiRouter) ;
411 virtual void initGraphics() ;
413 virtual void stop() ;
415 virtual void teardown() ;
417 virtual void preShutDown() ;
421 virtual ::std::optional<::Social::GameConnectionInfo> getGameConnectionInfo() ;
423 virtual void onStartJoinGame(
425 ::std::string
const& multiplayerCorrelationId,
426 ::std::string
const& serverName,
427 ::std::string
const& worldName,
428 ::NetworkType networkType,
429 ::Social::MultiplayerServiceIdentifier service,
433 virtual void onCancelJoinGame() ;
435 virtual void requestLeaveGameAsync() ;
437 virtual void requestLeaveGame(
bool switchScreen,
bool sync) ;
439 virtual void stopPlayScreen() ;
441 virtual bool isLeaveGameDone() const ;
443 virtual
void setupPlayScreenForLeaveGame() ;
445 virtual
void preCacheOutOfGameViews() ;
447 virtual
void resetPrimaryClient() ;
449 virtual
void resetGameSession() ;
451 virtual
void tick() ;
455 virtual
void preFrameTick() ;
457 virtual
bool update(
bool isInitFinished) ;
459 virtual
void endFrame() ;
461 virtual
float getFrameAlpha() ;
463 virtual
void startSubClientLateJoin(
464 bool hasXBLBroadcast,
469 virtual ::Bedrock::Threading::Async<::ClientGameSetupResult> setupClientGame(
470 bool joiningLocalServer,
479 virtual
void setupPrimaryClientEditorManager() ;
481 virtual ::Bedrock::NonOwnerPointer<::Editor::IEditorPlayer> getLocalEditorPlayer() const ;
483 virtual ::Bedrock::NonOwnerPointer<::Editor::IEditorManager> getEditorManager() const ;
485 virtual
bool isPlayerInEditor() const ;
491 virtual ::
Actor* getCameraActor() const ;
493 virtual
void setCameraActor(::
Actor* cameraActor) ;
497 virtual ::
Actor* getCameraTargetActor() const ;
499 virtual
void setCameraTargetActor(::
Actor* cameraTargetActor) ;
508 virtual ::
HitResult const& getLatestHitResult() const ;
510 virtual
bool isLeavingGame() const ;
512 virtual
bool isDestroyingGame() const ;
514 virtual
bool isShuttingDown() const ;
516 virtual
bool useLowFrequencyUIRender() const ;
518 virtual
bool isSplitScreenActive() const ;
520 virtual
bool isExitingLevel() const ;
522 virtual
bool isInBedScreen() const ;
524 virtual
bool isInDeathScreen() const ;
526 virtual
bool isKeyboardEnabled() const ;
528 virtual
bool hasCommands() const ;
530 virtual
int getSplitScreenCount() const ;
532 virtual
bool isShowingLoadingScreen() const ;
534 virtual
bool shouldDisconnectOnAppSuspended() const ;
536 virtual
bool isGamePlayTipsEnabled() const ;
538 virtual
bool isPlatformNX() const ;
540 virtual
bool isLocalSplitscreenWith(::
ActorUniqueID const&
id) const ;
542 virtual
bool isValidCrossPlatformSkin(
bool valueIfNull) const ;
544 virtual
bool isSelectedSkinInitialized() const ;
548 virtual
bool getHandlingControllerDisconnect() ;
550 virtual
void setOpenControllerDisconnectScreen(
bool open) ;
552 virtual ::ClientPlayMode getClientPlayMode() const ;
554 virtual
void setClientPlayMode(::ClientPlayMode const& mode) ;
556 virtual ::
std::function<
void()> getCreditsCallback() ;
558 virtual
void setCreditsCallback(::
std::function<
void()> callback) ;
560 virtual
void setupTransitionForCredits(::
std::function<
void()> callback) ;
562 virtual
void refreshScreenSizeData() ;
564 virtual
void onScreenSizeChanged(
int width,
int height) ;
566 virtual
void onGuiScaleOffsetChanged() ;
568 virtual
void onSafeZoneChanged() ;
570 virtual
bool hasDismissedNewPlayerFlow() const ;
572 virtual
void quit(::
std::
string const& src, ::
std::
string const& reason) ;
578 virtual ::World::WorldSystem& getWorldSystem() const ;
580 virtual
bool isWorldSystemReady() const ;
582 virtual ::Bedrock::NotNullNonOwnerPtr<::Automation::AutomationClient> getAutomationClient() const ;
584 virtual ::Bedrock::NonOwnerPointer<::
EDUSystems> getEDUSystems() ;
586 virtual ::Bedrock::NonOwnerPointer<::
EDUSystems const> getEDUSystems() const ;
592 virtual ::Bedrock::Profiling::IProfilingOrchestratorProvider& getProfilingOrchestratorProvider() const ;
596 virtual ::
FontHandle getRuneFontHandle() const ;
598 virtual ::
FontHandle getUnicodeFontHandle() const ;
600 virtual ::Bedrock::NotNullNonOwnerPtr<::
GeometryGroup> getGeometryGroup() const ;
602 virtual ::Bedrock::NotNullNonOwnerPtr<::
BlockCullingGroup> getBlockCullingGroup() const ;
604 virtual ::Bedrock::NotNullNonOwnerPtr<::Social::MultiplayerServiceManager> getMultiplayerServiceManager() const
613 virtual ::Bedrock::NotNullNonOwnerPtr<::
IContentKeyProvider const> getKeyProvider() const ;
615 virtual ::
PacksInfoData const& getHostSpecifiedPacks() const ;
621 virtual ::MarketplaceServicesManager& getMarketplaceServicesManager() const ;
625 virtual ::Bedrock::NotNullNonOwnerPtr<::StoreCatalogRepository> getStoreCatalogRepository() ;
627 virtual ::
std::shared_ptr<::mce::TextureGroup> getTextureGroup() const ;
629 virtual ::Bedrock::NotNullNonOwnerPtr<::mce::TextureGroup> getStoreCacheTextures() const ;
631 virtual ::Bedrock::NotNullNonOwnerPtr<::
MinecraftGraphics> getMinecraftGraphics() const ;
633 virtual ::Bedrock::NotNullNonOwnerPtr<::
IUIRepository> getUIRepository() const ;
635 virtual ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> getUserManager() const ;
637 virtual ::Bedrock::NotNullNonOwnerPtr<::
TrialManager> getTrialManager() const ;
639 virtual
bool wantToQuit() const ;
641 virtual
bool isPrimaryLevelCrossPlatformMultiplayer() const ;
643 virtual
bool isPrimaryLevelMultiplayer() const ;
645 virtual
bool isAdhocEnabled() const ;
649 virtual
bool isMarketplaceDisabled() const ;
651 virtual ::
std::pair<::StoreErrorCodes, ::
std::
string> const getMarketplaceDisabledReasonWithErrorCode() const
654 virtual
void linkToOffer(::
std::
string const& productId,
bool allowWhileInGame) ;
656 virtual
void linkToPage(::
std::
string const& pageId) ;
658 virtual
void linkTo3PServerOffers(::
std::
string const& pageId, ::
std::
string const& creatorName) ;
660 virtual
void navigateToMarketplaceInventoryScreen(::InventoryTabIndex tabIndex) ;
662 virtual
void navigateToStoreHomeScreen() ;
664 virtual
void navigateToCoinPurchaseScreen(
int neededCoins, ::
std::function<
void(
bool,
int)> callback) ;
667 navigateToPurchaseOfferScreen(::StoreCatalogItem& item, ::StoreNavigationOrigin,
bool const) ;
669 virtual
void navigateToDressingRoomOfferScreen(::
std::
string const& offerId) ;
671 virtual
bool navigateToProfileScreen(::
std::
string const&,
bool const preventProgressScreen) ;
673 virtual
void navigateToServersScreen(
bool const calledFromHyperlink) ;
675 virtual
void navigateToHowToPlayScreen(::
std::
string const& startTopic) ;
677 virtual
void navigateToMarketplacePassPDPScreen(::MarketplacePassTabIndex tabIndex) ;
679 virtual
void navigateToRealmsStoriesTransitionScreen(::Realms::World const& world) ;
681 virtual
void tryPushLeaveGameScreen() ;
683 virtual
void tryStartDayOneExperience() ;
685 virtual
bool isReadyToRender() const ;
687 virtual
void onDimensionChangedEvent() ;
689 virtual
void onGameEventNotification(::ui::GameEventNotification notification) ;
691 virtual ::
std::
string getTopScreenName() const ;
693 virtual
void setLeaveGameInProgressAsReadyToContinue() ;
695 virtual
void stopDestroying() ;
697 virtual
void onClientCreatedLevel(
704 virtual
void createPlayerAuthentication() ;
706 virtual
void createPlayerAuthentication(uint64 clientRandomId) ;
708 virtual ::
std::
string getPlatformId() const ;
710 virtual ::
std::
string getPlatformOnlineId() const ;
712 virtual
bool useController() const ;
714 virtual
bool useTouchscreen() const ;
716 virtual
bool getMouseGrabbed() const ;
718 virtual
bool currentInputModeIsMouseAndKeyboard() const ;
720 virtual
bool allowPicking() const ;
722 virtual
bool isShowingMenu() const ;
724 virtual
bool isShowingPauseScreen() const ;
726 virtual
bool isShowingProgressScreen() const ;
728 virtual
bool isShowingWorldProgressScreen() const ;
730 virtual
bool isShowingRealmsProgressScreen() const ;
732 virtual
bool isShowingDeathScreen() const ;
734 virtual
bool isShowingServerForm() const ;
736 virtual
bool isScreenReplaceable() const ;
738 virtual
bool isInWorldAndNotShowingAnyMenuScreens() const ;
740 virtual
bool isWorldActive() const ;
742 virtual
bool isInRealm() ;
744 virtual
bool readyForShutdown() const ;
746 virtual
bool isPrimaryClient() const ;
748 virtual
bool isEduMode() const ;
750 virtual
bool isGamepadCursorEnabled() const ;
752 virtual
bool isInControlCustomization() const ;
754 virtual ::Bedrock::NotNullNonOwnerPtr<::
Minecraft> getServerData() ;
756 virtual ::Bedrock::NotNullNonOwnerPtr<::
Minecraft const> getServerData() const ;
762 virtual
bool hasLevel() const ;
764 virtual
bool isPreGame() const ;
766 virtual
bool isInMultiplayerGame() const ;
768 virtual
bool isMultiPlayerClient() const ;
780 virtual ::
std::shared_ptr<::Social::User> const& getUser() const ;
782 virtual ::
std::shared_ptr<::Settings::IRegistry> getSettingsRegistry() ;
784 virtual ::
Option const& getShowLearningPromptsOption() const ;
786 virtual ::
Option& getShowControlTipsOption() ;
788 virtual ::
Option& getShowControlTipsOverrideOption() ;
790 virtual
double getControlTipsTimeElapsed() const ;
792 virtual
void setControlTipsTimeElapsedStart() ;
800 virtual ::Bedrock::NonOwnerPointer<::
CameraRegistry> getCameraRegistry() ;
802 virtual ::Bedrock::NonOwnerPointer<::
CameraRegistry const> getCameraRegistry() const ;
804 virtual ::Bedrock::NonOwnerPointer<::
EntitySystems> getCameraSystems() ;
810 virtual ::mce::ViewportInfo const& getViewportInfo() const ;
812 virtual
void setViewportInfo(::mce::ViewportInfo const& viewportInfo) ;
814 virtual ::
Vec2 getNormalizedViewportSize() const ;
816 virtual
void updateChunkRadius() ;
818 virtual
void setUITexture(::mce::Texture* tex) ;
820 virtual ::mce::Texture* getUITexture() ;
822 virtual
void setLevelTexture(::mce::Texture* tex) ;
824 virtual ::mce::Texture* getLevelTexture() ;
826 virtual
void setUICursorTexture(::mce::TexturePtr tex) ;
828 virtual ::mce::TexturePtr getUICursorTexture() const ;
830 virtual ::mce::Camera& getCamera() ;
836 virtual
void clearGraphicsCache() ;
839 getNormalizedUICursorTransform(::
MatrixStack::MatrixStackRef& matrix,
float cursorHalfSizeTexels) ;
841 virtual
bool shouldRenderUICursor() const ;
843 virtual
bool getRenderPlayerModel() const ;
847 virtual
float getGuiScale() const ;
849 virtual ::
Option const& getGuiScaleOption() const ;
851 virtual
int getGuiScaleOffset() const ;
853 virtual
void setGuiScaleOffset(
int guiScale) ;
855 virtual
void renderImGui(::
ScreenContext& screenContext,
bool drawMenuBar) ;
857 virtual ::Bedrock::NotNullNonOwnerPtr<::
GuiData> getGuiData() ;
859 virtual ::Bedrock::NotNullNonOwnerPtr<::
GuiData const> getGuiData() const ;
863 virtual ::
PixelCalc const& getDpadScale() const ;
865 virtual ::Bedrock::NotNullNonOwnerPtr<::
DateManager const> getDateManager() const ;
867 virtual
void addOverrideHoursToDateTime(uint const hoursToAdd) ;
871 virtual ::
ClipboardProxy<::ApplicationSignal::ClipboardCopy, ::ApplicationSignal::ClipboardPasteRequest>&
872 getClipboardManager() ;
884 virtual ::OreUI::SceneProvider& getSceneProvider() const ;
886 virtual ::ui::ScreenTechStackSelector& getScreenTechStackSelector() ;
888 virtual ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack const> getClientSceneStack() const ;
890 virtual ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack> getClientSceneStack() ;
892 virtual ::OreUI::Router& getClientUIRouter() const ;
894 virtual ::
ISceneStack& getMainSceneStackInterface() ;
896 virtual ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack> getMainSceneStack() ;
898 virtual ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack const> getMainSceneStack() const ;
900 virtual ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack const> getCurrentSceneStack() const ;
902 virtual ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack> getCurrentSceneStack() ;
904 virtual ::OreUI::Router& getCurrentUIRouter() ;
906 virtual ::OreUI::Router const& getCurrentUIRouter() const ;
908 virtual ::OreUI::ITelemetry& getOreUITelemetry() ;
910 virtual ::
WeakRef<::OreUI::UIBlockThumbnailAtlasManager> getOreUIBlockThumbnailAtlasManager() const ;
912 virtual ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack> prepareSceneFor(
913 ::ui::SceneType const sceneTypeToFind,
919 virtual ::
std::
string getScreenName() const ;
921 virtual ::
std::
string getScreenTelemetry() const ;
923 virtual ::ui::SceneType getTopSceneType() const ;
927 virtual ::
std::
string emoticonifyText(::
std::
string const& text) const ;
929 virtual ::
std::
string emoticonifyText(::
std::
string const& text,
bool isGameTip) ;
931 virtual
void onMobEffectsChange() ;
933 virtual
void setUISize(
int w,
int h) ;
935 virtual
void forEachVisibleScreen(::brstd::function_ref<
void(::
AbstractScene&)> callback) ;
937 virtual
void forEachScreen(::brstd::function_ref<
bool(::
AbstractScene&)> callback,
bool topDown) ;
939 virtual
void forEachScreenConst(::brstd::function_ref<
bool(::
AbstractScene const&)> callback,
bool topDown) const
942 virtual
bool updateSceneStack() ;
944 virtual
void forEachAlwaysAcceptInputScreen(
949 virtual
void forEachAlwaysAcceptInputScreenWithTop(::
std::function<
void(::
AbstractScene&)> callback) ;
951 virtual
void showPlayerProfile(::
std::
string const& xuid, ::
std::
string const& platformId) ;
953 virtual
bool isInGameInputEnabled() const ;
955 virtual
void setInGameInputEnabled(
bool isEnabled) ;
957 virtual ::
Vec2 getSafeZoneScale() const ;
959 virtual
void verifySkinApproval(
960 ::
std::function<
void(::
std::
string)> const& notApprovedCallback,
961 ::
std::function<
void()> const& approvedCallback
964 virtual ::InputMode getCurrentInputMode() const ;
966 virtual
bool isTouchGameplayAllowed() const ;
972 virtual
void setLastPointerLocation(
float x,
float y,
float z) ;
974 virtual
void clearTouchPointerLocations() ;
976 virtual
void clearTouchPointerLocation(
int id) ;
978 virtual
void updateTouchPointerLocation(
int id,
float x,
float y) ;
980 virtual ::
Vec3 getLastPointerLocation() ;
982 virtual ::
Vec2 getTouchPointerLocation(
int id) const ;
984 virtual
void updateActionPointerId(
int id) ;
986 virtual
int getActionPointerId() const ;
988 virtual
bool shouldUseLastPointerLocationOnFocusChange() ;
990 virtual
bool currentScreenShouldStealMouse() ;
1000 virtual ::glm::vec2 getGamepadCursorPosition() const ;
1002 virtual
void updateControlOptionState(uint
id,
bool active) ;
1004 virtual
void clearActiveControlOptions() ;
1006 virtual ::
std::set<uint> const& getActiveControlOptions() const ;
1008 virtual ::
std::vector<::OptionID> getActiveOptionIDs(::ControlOptionType controlOptionType) const ;
1010 virtual
void setNumberOfActiveConfigs(
int numberOfActiveConfigs) ;
1012 virtual
int getNumberOfActiveConfigs() const ;
1014 virtual
bool isNoConfigSelected() const ;
1016 virtual
void setNumberOfEnabledConfigs(
int numberOfEnabledConfigs) ;
1018 virtual
int getNumberOfEnabledConfigs() const ;
1020 virtual
void setWYSIWYGState(::WYSIWYGState wysiwygState) ;
1022 virtual ::WYSIWYGState getWYSIWYGState() const ;
1024 virtual
void setOtherConfigsExistInThisCategory(
bool otherConfigsExistInThisCategory) ;
1026 virtual
bool getOtherConfigsExistInThisCategory() const ;
1030 virtual
void setupPersistentControls(::InputMode currentMode) ;
1032 virtual
void resetPlayerMovement() ;
1034 virtual
void suspendPredictedMovement() ;
1036 virtual
void onClientInputInitComplete() ;
1042 virtual
int getControllerId() const ;
1044 virtual
bool hasConnectedController() const ;
1046 virtual ::SubClientId getClientSubId() const ;
1048 virtual
void setSuspendInput(
bool suspendInput) ;
1050 virtual
void setSuspendDirectionalInput(
bool suspendDirectionalInput) ;
1052 virtual
void setDisableInput(
bool disableInput) ;
1054 virtual
void grabMouse() ;
1056 virtual
void releaseMouse() ;
1058 virtual
void refocusMouse(
bool lostMouse) ;
1060 virtual
void setMouseType(::Bedrock::Input::PointerType type) ;
1062 virtual
void resetBai(
int baiFlags) ;
1064 virtual
void clearInProgressBAI() ;
1066 virtual ::Bedrock::NotNullNonOwnerPtr<::
SoundEngine> getSoundEngine() const ;
1068 virtual ::
MusicManager const* getMusicManager() const ;
1070 virtual ::
MusicManager* getMusicManagerNonConst() const ;
1072 virtual
void play(::
std::
string const& name, ::
Vec3 const& pos,
float volume,
float pitch) ;
1074 virtual
void playUI(::
std::
string const& name,
float volume,
float pitch) ;
1076 virtual
void muteAudio() ;
1078 virtual
void unMuteAudio() ;
1080 virtual
void fadeOutMusic() const ;
1084 virtual
void onFullVanillaPackOnStack() ;
1086 virtual
bool isFullVanillaPackOnStack() const ;
1088 virtual
void onPlayerLoaded(::
Player& player) ;
1090 virtual
void setClientGameMode(::GameType gameType) ;
1092 virtual
void resetToDefaultGameMode() ;
1096 virtual
void connectToThirdPartyServer(::
std::
string const& ipAddress,
int port) ;
1098 virtual
void startExternalNetworkWorld(
1099 ::Social::GameConnectionInfo connection,
1100 ::
std::
string const& serverName,
1104 virtual
bool isReadyToReconnect() const ;
1106 virtual
bool checkForPiracy() ;
1108 virtual
void updateChatFilterStatus(::
ProfanityContext& profanityContext) ;
1110 virtual
void updateControllerHandling() ;
1112 virtual
void onPlayerDestruction(::
Player& player) ;
1115 setBehaviorCommandCallback(::
std::function<
void(::
std::
string const&, ::BehaviorStatus)> callback) ;
1117 virtual
void setBehaviorCommandStatus(::
std::
string const& treeName, ::BehaviorStatus status) ;
1119 virtual
void setConnectGamepadScreenActive(
bool active) ;
1121 virtual ::Bedrock::Threading::Async<::Core::PathBuffer<::
std::
string>>
1124 virtual ::Bedrock::NotNullNonOwnerPtr<::
DevConsoleLogger> getDevConsoleLogger() const ;
1127 ::
std::
string const& imageUrl,
1128 ::
std::function<
void(::Bedrock::Http::Status, ::Core::
Path const&, uint64)> callback
1131 virtual
void setActiveFileStorageArea(::
std::shared_ptr<::Core::FileStorageArea> storageArea) ;
1133 virtual
void onExtendDiskSpace(
1135 ::
std::weak_ptr<::Core::FileStorageArea> const& storageAreaWeakPtr,
1137 ::
std::function<
void()> onHandledEventCallback
1140 virtual
void onLowDiskSpace(
bool const bSet, uint64 freeSpace) ;
1142 virtual
void onOutOfDiskSpace(
bool const bSet, uint64 freeSpace) ;
1144 virtual
void onCriticalDiskError(
bool const bSet, ::Core::LevelStorageState const& errorCode) ;
1146 virtual
void onLevelCorrupt() ;
1148 virtual
void onGameModeChanged() ;
1150 virtual
void onBeforeSimTick() ;
1152 virtual
void onTick(
int nTick,
int maxTick) ;
1154 virtual
void onInternetUpdate() ;
1156 virtual
void onGameSessionReset() ;
1158 virtual
void onLevelExit() ;
1160 virtual
void onRequestResourceReload() ;
1162 virtual
void updateScreens() ;
1164 virtual
void initializeRenderResources() ;
1166 virtual
void postInitRenderResources() ;
1168 virtual
void onAppSuspended() ;
1170 virtual
void onAppResumed() ;
1172 virtual
void onActiveResourcePacksChanged(
1176 virtual
void reloadEntityRenderers(
1194 virtual ::
std::deque<::
std::
string>& getSentMessageHistory() ;
1196 virtual ::
std::deque<::
std::
string>& getDevConsoleMessageHistory() ;
1198 virtual ::Bedrock::NotNullNonOwnerPtr<::
ProfanityContext> getProfanityContext() const ;
1208 virtual
void addTTSMessage(
1209 ::
std::
string const& message,
1210 ::ProfanityFilterContext profanityFilterContext,
1212 ::
std::
string const& interruptibleId,
1214 bool disregardAppFocus
1217 virtual
void initCommands() ;
1219 virtual uint getUserId() const ;
1221 virtual
bool isPrimaryUser() const ;
1223 virtual
double getServerConnectionTime() const ;
1225 virtual
void setServerPingTime(::
std::chrono::milliseconds pingTime) ;
1227 virtual ::
std::chrono::milliseconds getServerPingTime() const ;
1229 virtual
void setDefaultPlayscreenTab(::PlayScreenDefaultTab defaultTab) ;
1231 virtual
void setClientInstanceState(::ClientInstanceState const& newstate) ;
1233 virtual
void setUIEventCoordinator(::Bedrock::UniqueOwnerPointer<::
UIEventCoordinator>&& coordinator) ;
1235 virtual ::Bedrock::NotNullNonOwnerPtr<::
UIEventCoordinator> getUIEventCoordinator() ;
1243 virtual ::
std::chrono::steady_clock::time_point getNoBlockBreakUntil() ;
1245 virtual
void setNoBlockBreakUntil(::
std::chrono::steady_clock::time_point timePoint) ;
1253 virtual
void sendClientEnteredLevel() ;
1257 virtual
bool isPlaying() const ;
1259 virtual ::ClientInstanceState getClientInstanceState() const ;
1263 virtual ::PlayerCapabilities::IClientController const& getClientCapabilities() const ;
1265 virtual ::cg::math::Rect<
float> calculateViewPortModifiers(
1266 ::SubClientId const clientId,
1267 uint64 const clientCount,
1268 ::SplitScreenDirection const splitScreenConfiguration
1275 virtual ::Bedrock::NotNullNonOwnerPtr<::
FogDefinitionRegistry const> getFogDefinitionRegistry() const ;
1279 virtual ::Bedrock::NotNullNonOwnerPtr<::
FogManager const> getFogManager() const ;
1281 virtual ::Bedrock::NotNullNonOwnerPtr<::
FogManager> getFogManager() ;
1290 virtual
float getRemoteServerTimeMs() const ;
1292 virtual
void setRemoteServerTimeMs(
float time) ;
1294 virtual
float getRemoteServerNetworkTimeMs() const ;
1296 virtual
void setRemoteServerNetworkTimeMs(
float time) ;
1300 virtual ::Scripting::ScriptEngine* getScriptingEngine() ;
1302 virtual ::Bedrock::NonOwnerPointer<::
WorldTransferAgent> const getWorldTransferAgent() const ;
1308 virtual
void flagDisconnectionAndNotify(::Connection::DisconnectFailReason disconnectReason) ;
1312 virtual
void disconnectSubClient(::Connection::DisconnectFailReason disconnectReason) ;
1314 virtual
void setClientUpdateAndRenderThrottling(
bool enabled,
int threshold,
float scalar) ;
1316 virtual
bool isClientUpdateAndRenderThrottlingEnabled() const ;
1318 virtual
int getClientUpdateAndRenderThrottlingThreshold() const ;
1320 virtual
float getClientUpdateAndRenderThrottlingScalar() const ;
1322 virtual
bool isUserBanned() const ;
1324 virtual
bool isEligibleForPauseFeature() const ;
1326 virtual
void setupPauseManagers() ;
1328 virtual
bool requestInGamePause(
bool status) ;
1330 virtual
void openContentLogHistory() ;
1332 virtual
double getGameUpdateDurationInSeconds() const ;
1336 virtual ::Bedrock::NonOwnerPointer<::
PersonaClient> tryGetPersonaClient() const ;
1345 _createNetworkHandler(::PlayerAuthenticationType authType, ::
RawGameServerToken&& token);
1347 MCAPI
bool _getIsConnectedToApplicationLayer() const;
1349 MCAPI
bool _isEditorModeOrInEditorWorld() const;
1351 MCAPI
bool _isShowingScreen(::
std::string_view screenName) const;
1355 MCAPI
void _leaveGameOnUnrecoverableError(
1356 ::Connection::DisconnectFailReason reason,
1357 ::
std::
string const& telemetryMessage,
1358 ::
std::
string const& errorDescriptionOverride
1361 MCAPI
void _perspectiveOptionChanged(::
Option const&);
1363 MCAPI
void _requestLeaveGameImpl(
bool const switchScreen,
bool const sync);
1365 MCAPI
void _startDestroyingGame();
1367 MCAPI
void _startLeaveGame();
1369 MCAPI
void _startWorldPrimaryClient(::PlayerAuthenticationType authType, ::
RawGameServerToken&& token);
1372 _tickBuildAction(::
HitResult const& solidHitResult_, ::
HitResult const& liquidHitResult_,
bool advanceTime);
1374 MCAPI
void _updateScreenSizeVariables(::
Vec2 const& totalScreenSize, ::
Vec2 const& safeZone);
1376 MCAPI
void fireEventDiskStatus(::DiskStatus status, ::Core::LevelStorageState errorCode);
1378 MCAPI
void flagDisconnectionAndNotifyWithTarget(
1380 ::Connection::UIReturnTarget uiReturnTarget
1393 MCAPI
void $onInitMinecraftGame();
1395 MCAPI
void $onDestroyMinecraftGame();
1399 MCAPI
void $initSceneFactory(
1401 ::
std::unique_ptr<::OreUI::SceneProvider> sceneProvider
1404 MCAPI
void $setUiRouter(::
std::unique_ptr<::OreUI::Router> uiRouter);
1406 MCAPI
void $initGraphics();
1408 MCFOLD
void $stop();
1410 MCAPI
void $teardown();
1412 MCAPI
void $preShutDown();
1414 MCAPI
void $setGameConnectionInfo(::Social::GameConnectionInfo const& gameConnection);
1416 MCAPI ::
std::optional<::Social::GameConnectionInfo> $getGameConnectionInfo();
1418 MCAPI
void $onStartJoinGame(
1420 ::
std::
string const& multiplayerCorrelationId,
1421 ::
std::
string const& serverName,
1422 ::
std::
string const& worldName,
1423 ::NetworkType networkType,
1424 ::Social::MultiplayerServiceIdentifier service,
1428 MCAPI
void $onCancelJoinGame();
1430 MCAPI
void $requestLeaveGameAsync();
1432 MCAPI
void $requestLeaveGame(
bool switchScreen,
bool sync);
1434 MCAPI
void $stopPlayScreen();
1436 MCAPI
bool $isLeaveGameDone() const;
1438 MCAPI
void $setupPlayScreenForLeaveGame();
1440 MCAPI
void $preCacheOutOfGameViews();
1442 MCAPI
void $resetPrimaryClient();
1444 MCAPI
void $resetGameSession();
1446 MCFOLD
void $tick();
1450 MCAPI
void $preFrameTick();
1452 MCAPI
bool $update(
bool isInitFinished);
1454 MCFOLD
void $endFrame();
1456 MCAPI
float $getFrameAlpha();
1458 MCAPI
void $startSubClientLateJoin(
1459 bool hasXBLBroadcast,
1464 MCAPI ::Bedrock::Threading::Async<::ClientGameSetupResult> $setupClientGame(
1465 bool joiningLocalServer,
1474 MCAPI
void $setupPrimaryClientEditorManager();
1476 MCAPI ::Bedrock::NonOwnerPointer<::Editor::IEditorPlayer> $getLocalEditorPlayer() const;
1478 MCAPI ::Bedrock::NonOwnerPointer<::Editor::IEditorManager> $getEditorManager() const;
1480 MCAPI
bool $isPlayerInEditor() const;
1486 MCAPI ::
Actor* $getCameraActor() const;
1488 MCAPI
void $setCameraActor(::
Actor* cameraActor);
1492 MCAPI ::
Actor* $getCameraTargetActor() const;
1494 MCAPI
void $setCameraTargetActor(::
Actor* cameraTargetActor);
1502 MCAPI ::
HitResult const& $getLatestHitResult() const;
1504 MCAPI
bool $isLeavingGame() const;
1506 MCAPI
bool $isDestroyingGame() const;
1508 MCAPI
bool $isShuttingDown() const;
1510 MCAPI
bool $useLowFrequencyUIRender() const;
1512 MCAPI
bool $isSplitScreenActive() const;
1514 MCAPI
bool $isExitingLevel() const;
1516 MCAPI
bool $isInBedScreen() const;
1518 MCAPI
bool $isInDeathScreen() const;
1520 MCAPI
bool $isKeyboardEnabled() const;
1522 MCAPI
bool $hasCommands() const;
1524 MCAPI
int $getSplitScreenCount() const;
1526 MCAPI
bool $isShowingLoadingScreen() const;
1528 MCFOLD
bool $shouldDisconnectOnAppSuspended() const;
1530 MCAPI
bool $isGamePlayTipsEnabled() const;
1532 MCFOLD
bool $isPlatformNX() const;
1534 MCAPI
bool $isLocalSplitscreenWith(::
ActorUniqueID const&
id) const;
1536 MCAPI
bool $isValidCrossPlatformSkin(
bool valueIfNull) const;
1538 MCAPI
bool $isSelectedSkinInitialized() const;
1542 MCAPI
bool $getHandlingControllerDisconnect();
1544 MCAPI
void $setOpenControllerDisconnectScreen(
bool open);
1546 MCAPI ::ClientPlayMode $getClientPlayMode() const;
1548 MCAPI
void $setClientPlayMode(::ClientPlayMode const& mode);
1550 MCAPI ::
std::function<
void()> $getCreditsCallback();
1552 MCAPI
void $setCreditsCallback(::
std::function<
void()> callback);
1554 MCAPI
void $setupTransitionForCredits(::
std::function<
void()> callback);
1556 MCAPI
void $refreshScreenSizeData();
1558 MCAPI
void $onScreenSizeChanged(
int width,
int height);
1560 MCAPI
void $onGuiScaleOffsetChanged();
1562 MCAPI
void $onSafeZoneChanged();
1564 MCAPI
bool $hasDismissedNewPlayerFlow() const;
1566 MCAPI
void $quit(::
std::
string const& src, ::
std::
string const& reason);
1572 MCAPI ::World::WorldSystem& $getWorldSystem() const;
1574 MCAPI
bool $isWorldSystemReady() const;
1576 MCAPI ::Bedrock::NotNullNonOwnerPtr<::Automation::AutomationClient> $getAutomationClient() const;
1578 MCAPI ::Bedrock::NonOwnerPointer<::
EDUSystems> $getEDUSystems();
1580 MCAPI ::Bedrock::NonOwnerPointer<::
EDUSystems const> $getEDUSystems() const;
1586 MCAPI ::Bedrock::Profiling::IProfilingOrchestratorProvider& $getProfilingOrchestratorProvider() const;
1590 MCAPI ::
FontHandle $getRuneFontHandle() const;
1592 MCAPI ::
FontHandle $getUnicodeFontHandle() const;
1594 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
GeometryGroup> $getGeometryGroup() const;
1596 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
BlockCullingGroup> $getBlockCullingGroup() const;
1598 MCAPI ::Bedrock::NotNullNonOwnerPtr<::Social::MultiplayerServiceManager> $getMultiplayerServiceManager() const;
1608 MCAPI ::
PacksInfoData const& $getHostSpecifiedPacks() const;
1614 MCAPI ::MarketplaceServicesManager& $getMarketplaceServicesManager() const;
1618 MCAPI ::Bedrock::NotNullNonOwnerPtr<::StoreCatalogRepository> $getStoreCatalogRepository();
1620 MCAPI ::
std::shared_ptr<::mce::TextureGroup> $getTextureGroup() const;
1622 MCAPI ::Bedrock::NotNullNonOwnerPtr<::mce::TextureGroup> $getStoreCacheTextures() const;
1624 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
MinecraftGraphics> $getMinecraftGraphics() const;
1626 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
IUIRepository> $getUIRepository() const;
1628 MCAPI ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> $getUserManager() const;
1630 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
TrialManager> $getTrialManager() const;
1632 MCAPI
bool $wantToQuit() const;
1634 MCAPI
bool $isPrimaryLevelCrossPlatformMultiplayer() const;
1636 MCAPI
bool $isPrimaryLevelMultiplayer() const;
1638 MCAPI
bool $isAdhocEnabled() const;
1642 MCAPI
bool $isMarketplaceDisabled() const;
1644 MCAPI ::
std::pair<::StoreErrorCodes, ::
std::
string> const $getMarketplaceDisabledReasonWithErrorCode() const;
1646 MCAPI
void $linkToOffer(::
std::
string const& productId,
bool allowWhileInGame);
1648 MCAPI
void $linkToPage(::
std::
string const& pageId);
1650 MCAPI
void $linkTo3PServerOffers(::
std::
string const& pageId, ::
std::
string const& creatorName);
1652 MCAPI
void $navigateToMarketplaceInventoryScreen(::InventoryTabIndex tabIndex);
1654 MCAPI
void $navigateToStoreHomeScreen();
1656 MCAPI
void $navigateToCoinPurchaseScreen(
int neededCoins, ::
std::function<
void(
bool,
int)> callback);
1658 MCAPI
void $navigateToPurchaseOfferScreen(::StoreCatalogItem& item, ::StoreNavigationOrigin,
bool const);
1660 MCAPI
void $navigateToDressingRoomOfferScreen(::
std::
string const& offerId);
1662 MCAPI
bool $navigateToProfileScreen(::
std::
string const&,
bool const preventProgressScreen);
1664 MCAPI
void $navigateToServersScreen(
bool const calledFromHyperlink);
1666 MCAPI
void $navigateToHowToPlayScreen(::
std::
string const& startTopic);
1668 MCAPI
void $navigateToMarketplacePassPDPScreen(::MarketplacePassTabIndex tabIndex);
1670 MCAPI
void $navigateToRealmsStoriesTransitionScreen(::Realms::World const& world);
1672 MCAPI
void $tryPushLeaveGameScreen();
1674 MCAPI
void $tryStartDayOneExperience();
1676 MCAPI
bool $isReadyToRender() const;
1678 MCAPI
void $onDimensionChangedEvent();
1680 MCAPI
void $onGameEventNotification(::ui::GameEventNotification notification);
1682 MCAPI ::
std::
string $getTopScreenName() const;
1684 MCAPI
void $setLeaveGameInProgressAsReadyToContinue();
1686 MCAPI
void $stopDestroying();
1688 MCAPI
void $onClientCreatedLevel(
1695 MCAPI
void $createPlayerAuthentication();
1697 MCAPI
void $createPlayerAuthentication(uint64 clientRandomId);
1699 MCAPI ::
std::
string $getPlatformId() const;
1701 MCAPI ::
std::
string $getPlatformOnlineId() const;
1703 MCAPI
bool $useController() const;
1705 MCAPI
bool $useTouchscreen() const;
1707 MCAPI
bool $getMouseGrabbed() const;
1709 MCAPI
bool $currentInputModeIsMouseAndKeyboard() const;
1711 MCAPI
bool $allowPicking() const;
1713 MCAPI
bool $isShowingMenu() const;
1715 MCAPI
bool $isShowingPauseScreen() const;
1717 MCAPI
bool $isShowingProgressScreen() const;
1719 MCAPI
bool $isShowingWorldProgressScreen() const;
1721 MCAPI
bool $isShowingRealmsProgressScreen() const;
1723 MCAPI
bool $isShowingDeathScreen() const;
1725 MCAPI
bool $isShowingServerForm() const;
1727 MCAPI
bool $isScreenReplaceable() const;
1729 MCAPI
bool $isInWorldAndNotShowingAnyMenuScreens() const;
1731 MCAPI
bool $isWorldActive() const;
1733 MCAPI
bool $isInRealm();
1735 MCAPI
bool $readyForShutdown() const;
1737 MCAPI
bool $isPrimaryClient() const;
1739 MCAPI
bool $isEduMode() const;
1741 MCAPI
bool $isGamepadCursorEnabled() const;
1743 MCAPI
bool $isInControlCustomization() const;
1745 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
Minecraft> $getServerData();
1747 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
Minecraft const> $getServerData() const;
1753 MCAPI
bool $hasLevel() const;
1755 MCAPI
bool $isPreGame() const;
1757 MCAPI
bool $isInMultiplayerGame() const;
1759 MCAPI
bool $isMultiPlayerClient() const;
1771 MCAPI ::
std::shared_ptr<::Social::User> const& $getUser() const;
1773 MCAPI ::
std::shared_ptr<::Settings::IRegistry> $getSettingsRegistry();
1775 MCAPI ::
Option const& $getShowLearningPromptsOption() const;
1777 MCAPI ::
Option& $getShowControlTipsOption();
1779 MCAPI ::
Option& $getShowControlTipsOverrideOption();
1781 MCAPI
double $getControlTipsTimeElapsed() const;
1783 MCAPI
void $setControlTipsTimeElapsedStart();
1791 MCAPI ::Bedrock::NonOwnerPointer<::
CameraRegistry> $getCameraRegistry();
1793 MCAPI ::Bedrock::NonOwnerPointer<::
CameraRegistry const> $getCameraRegistry() const;
1795 MCAPI ::Bedrock::NonOwnerPointer<::
EntitySystems> $getCameraSystems();
1801 MCAPI ::mce::ViewportInfo const& $getViewportInfo() const;
1803 MCAPI
void $setViewportInfo(::mce::ViewportInfo const& viewportInfo);
1805 MCAPI ::
Vec2 $getNormalizedViewportSize() const;
1807 MCAPI
void $updateChunkRadius();
1809 MCAPI
void $setUITexture(::mce::Texture* tex);
1811 MCAPI ::mce::Texture* $getUITexture();
1813 MCAPI
void $setLevelTexture(::mce::Texture* tex);
1815 MCFOLD ::mce::Texture* $getLevelTexture();
1817 MCAPI
void $setUICursorTexture(::mce::TexturePtr tex);
1819 MCAPI ::mce::TexturePtr $getUICursorTexture() const;
1821 MCAPI ::mce::Camera& $getCamera();
1827 MCAPI
void $clearGraphicsCache();
1829 MCAPI
void $getNormalizedUICursorTransform(::
MatrixStack::MatrixStackRef& matrix,
float cursorHalfSizeTexels);
1831 MCAPI
bool $shouldRenderUICursor() const;
1833 MCAPI
bool $getRenderPlayerModel() const;
1837 MCAPI
float $getGuiScale() const;
1839 MCAPI ::
Option const& $getGuiScaleOption() const;
1841 MCAPI
int $getGuiScaleOffset() const;
1843 MCAPI
void $setGuiScaleOffset(
int guiScale);
1845 MCFOLD
void $renderImGui(::
ScreenContext& screenContext,
bool drawMenuBar);
1847 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
GuiData> $getGuiData();
1849 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
GuiData const> $getGuiData() const;
1853 MCAPI ::
PixelCalc const& $getDpadScale() const;
1855 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
DateManager const> $getDateManager() const;
1857 MCAPI
void $addOverrideHoursToDateTime(uint const hoursToAdd);
1861 MCAPI ::
ClipboardProxy<::ApplicationSignal::ClipboardCopy, ::ApplicationSignal::ClipboardPasteRequest>&
1862 $getClipboardManager();
1874 MCAPI ::OreUI::SceneProvider& $getSceneProvider() const;
1876 MCAPI ::ui::ScreenTechStackSelector& $getScreenTechStackSelector();
1878 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack const> $getClientSceneStack() const;
1880 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack> $getClientSceneStack();
1882 MCAPI ::OreUI::Router& $getClientUIRouter() const;
1884 MCAPI ::
ISceneStack& $getMainSceneStackInterface();
1886 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack> $getMainSceneStack();
1888 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack const> $getMainSceneStack() const;
1890 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack const> $getCurrentSceneStack() const;
1892 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack> $getCurrentSceneStack();
1894 MCAPI ::OreUI::Router& $getCurrentUIRouter();
1896 MCAPI ::OreUI::Router const& $getCurrentUIRouter() const;
1898 MCAPI ::OreUI::ITelemetry& $getOreUITelemetry();
1900 MCAPI ::
WeakRef<::OreUI::UIBlockThumbnailAtlasManager> $getOreUIBlockThumbnailAtlasManager() const;
1902 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack> $prepareSceneFor(
1903 ::ui::SceneType const sceneTypeToFind,
1909 MCAPI ::
std::
string $getScreenName() const;
1911 MCAPI ::
std::
string $getScreenTelemetry() const;
1913 MCAPI ::ui::SceneType $getTopSceneType() const;
1917 MCAPI ::
std::
string $emoticonifyText(::
std::
string const& text) const;
1919 MCAPI ::
std::
string $emoticonifyText(::
std::
string const& text,
bool isGameTip);
1921 MCAPI
void $onMobEffectsChange();
1923 MCAPI
void $setUISize(
int w,
int h);
1925 MCAPI
void $forEachVisibleScreen(::brstd::function_ref<
void(::
AbstractScene&)> callback);
1927 MCAPI
void $forEachScreen(::brstd::function_ref<
bool(::
AbstractScene&)> callback,
bool topDown);
1929 MCAPI
void $forEachScreenConst(::brstd::function_ref<
bool(::
AbstractScene const&)> callback,
bool topDown) const;
1931 MCAPI
bool $updateSceneStack();
1933 MCAPI
void $forEachAlwaysAcceptInputScreen(
1938 MCAPI
void $forEachAlwaysAcceptInputScreenWithTop(::
std::function<
void(::
AbstractScene&)> callback);
1940 MCAPI
void $showPlayerProfile(::
std::
string const& xuid, ::
std::
string const& platformId);
1942 MCAPI
bool $isInGameInputEnabled() const;
1944 MCAPI
void $setInGameInputEnabled(
bool isEnabled);
1946 MCAPI ::
Vec2 $getSafeZoneScale() const;
1948 MCAPI
void $verifySkinApproval(
1949 ::
std::function<
void(::
std::
string)> const& notApprovedCallback,
1950 ::
std::function<
void()> const& approvedCallback
1953 MCAPI ::InputMode $getCurrentInputMode() const;
1955 MCAPI
bool $isTouchGameplayAllowed() const;
1961 MCAPI
void $setLastPointerLocation(
float x,
float y,
float z);
1963 MCAPI
void $clearTouchPointerLocations();
1965 MCAPI
void $clearTouchPointerLocation(
int id);
1967 MCAPI
void $updateTouchPointerLocation(
int id,
float x,
float y);
1969 MCAPI ::
Vec3 $getLastPointerLocation();
1971 MCAPI ::
Vec2 $getTouchPointerLocation(
int id) const;
1973 MCAPI
void $updateActionPointerId(
int id);
1975 MCAPI
int $getActionPointerId() const;
1977 MCAPI
bool $shouldUseLastPointerLocationOnFocusChange();
1979 MCAPI
bool $currentScreenShouldStealMouse();
1989 MCAPI ::glm::vec2 $getGamepadCursorPosition() const;
1991 MCAPI
void $updateControlOptionState(uint
id,
bool active);
1993 MCAPI
void $clearActiveControlOptions();
1995 MCAPI ::
std::set<uint> const& $getActiveControlOptions() const;
1997 MCAPI ::
std::vector<::OptionID> $getActiveOptionIDs(::ControlOptionType controlOptionType) const;
1999 MCAPI
void $setNumberOfActiveConfigs(
int numberOfActiveConfigs);
2001 MCAPI
int $getNumberOfActiveConfigs() const;
2003 MCAPI
bool $isNoConfigSelected() const;
2005 MCAPI
void $setNumberOfEnabledConfigs(
int numberOfEnabledConfigs);
2007 MCAPI
int $getNumberOfEnabledConfigs() const;
2009 MCAPI
void $setWYSIWYGState(::WYSIWYGState wysiwygState);
2011 MCAPI ::WYSIWYGState $getWYSIWYGState() const;
2013 MCAPI
void $setOtherConfigsExistInThisCategory(
bool otherConfigsExistInThisCategory);
2015 MCAPI
bool $getOtherConfigsExistInThisCategory() const;
2019 MCAPI
void $setupPersistentControls(::InputMode currentMode);
2021 MCAPI
void $resetPlayerMovement();
2023 MCAPI
void $suspendPredictedMovement();
2025 MCAPI
void $onClientInputInitComplete();
2031 MCAPI
int $getControllerId() const;
2033 MCAPI
bool $hasConnectedController() const;
2035 MCAPI ::SubClientId $getClientSubId() const;
2037 MCAPI
void $setSuspendInput(
bool suspendInput);
2039 MCAPI
void $setSuspendDirectionalInput(
bool suspendDirectionalInput);
2041 MCAPI
void $setDisableInput(
bool disableInput);
2043 MCAPI
void $grabMouse();
2045 MCAPI
void $releaseMouse();
2047 MCAPI
void $refocusMouse(
bool lostMouse);
2049 MCAPI
void $setMouseType(::Bedrock::Input::PointerType type);
2051 MCAPI
void $resetBai(
int baiFlags);
2053 MCAPI
void $clearInProgressBAI();
2055 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
SoundEngine> $getSoundEngine() const;
2059 MCAPI ::
MusicManager* $getMusicManagerNonConst() const;
2061 MCAPI
void $play(::
std::
string const& name, ::
Vec3 const& pos,
float volume,
float pitch);
2063 MCAPI
void $playUI(::
std::
string const& name,
float volume,
float pitch);
2065 MCAPI
void $muteAudio();
2067 MCAPI
void $unMuteAudio();
2069 MCAPI
void $fadeOutMusic() const;
2073 MCAPI
void $onFullVanillaPackOnStack();
2075 MCAPI
bool $isFullVanillaPackOnStack() const;
2077 MCAPI
void $onPlayerLoaded(::
Player& player);
2079 MCAPI
void $setClientGameMode(::GameType gameType);
2081 MCAPI
void $resetToDefaultGameMode();
2085 MCAPI
void $connectToThirdPartyServer(::
std::
string const& ipAddress,
int port);
2087 MCAPI
void $startExternalNetworkWorld(
2088 ::Social::GameConnectionInfo connection,
2089 ::
std::
string const& serverName,
2093 MCAPI
bool $isReadyToReconnect() const;
2095 MCAPI
bool $checkForPiracy();
2099 MCAPI
void $updateControllerHandling();
2101 MCAPI
void $onPlayerDestruction(::
Player& player);
2103 MCAPI
void $setBehaviorCommandCallback(::
std::function<
void(::
std::
string const&, ::BehaviorStatus)> callback);
2105 MCAPI
void $setBehaviorCommandStatus(::
std::
string const& treeName, ::BehaviorStatus status);
2107 MCAPI
void $setConnectGamepadScreenActive(
bool active);
2109 MCAPI ::Bedrock::Threading::Async<::Core::PathBuffer<::
std::
string>>
2112 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
DevConsoleLogger> $getDevConsoleLogger() const;
2115 ::
std::
string const& imageUrl,
2116 ::
std::function<
void(::Bedrock::Http::Status, ::Core::
Path const&, uint64)> callback
2119 MCAPI
void $setActiveFileStorageArea(::
std::shared_ptr<::Core::FileStorageArea> storageArea);
2121 MCAPI
void $onExtendDiskSpace(
2123 ::
std::weak_ptr<::Core::FileStorageArea> const& storageAreaWeakPtr,
2125 ::
std::function<
void()> onHandledEventCallback
2128 MCAPI
void $onLowDiskSpace(
bool const bSet, uint64 freeSpace);
2130 MCAPI
void $onOutOfDiskSpace(
bool const bSet, uint64 freeSpace);
2132 MCAPI
void $onCriticalDiskError(
bool const bSet, ::Core::LevelStorageState const& errorCode);
2134 MCAPI
void $onLevelCorrupt();
2136 MCAPI
void $onGameModeChanged();
2138 MCAPI
void $onBeforeSimTick();
2140 MCAPI
void $onTick(
int nTick,
int maxTick);
2142 MCAPI
void $onInternetUpdate();
2144 MCAPI
void $onGameSessionReset();
2146 MCAPI
void $onLevelExit();
2148 MCFOLD
void $onRequestResourceReload();
2150 MCAPI
void $updateScreens();
2152 MCAPI
void $initializeRenderResources();
2154 MCAPI
void $postInitRenderResources();
2156 MCAPI
void $onAppSuspended();
2158 MCAPI
void $onAppResumed();
2160 MCAPI
void $onActiveResourcePacksChanged(
2164 MCAPI
void $reloadEntityRenderers(
2182 MCAPI ::
std::deque<::
std::
string>& $getSentMessageHistory();
2184 MCAPI ::
std::deque<::
std::
string>& $getDevConsoleMessageHistory();
2186 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
ProfanityContext> $getProfanityContext() const;
2196 MCAPI
void $addTTSMessage(
2197 ::
std::
string const& message,
2198 ::ProfanityFilterContext profanityFilterContext,
2200 ::
std::
string const& interruptibleId,
2202 bool disregardAppFocus
2205 MCAPI
void $initCommands();
2207 MCAPI uint $getUserId() const;
2209 MCAPI
bool $isPrimaryUser() const;
2211 MCAPI
double $getServerConnectionTime() const;
2213 MCAPI
void $setServerPingTime(::
std::chrono::milliseconds pingTime);
2215 MCAPI ::
std::chrono::milliseconds $getServerPingTime() const;
2217 MCAPI
void $setDefaultPlayscreenTab(::PlayScreenDefaultTab defaultTab);
2219 MCAPI
void $setClientInstanceState(::ClientInstanceState const& newstate);
2221 MCAPI
void $setUIEventCoordinator(::Bedrock::UniqueOwnerPointer<::
UIEventCoordinator>&& coordinator);
2231 MCAPI ::
std::chrono::steady_clock::time_point $getNoBlockBreakUntil();
2233 MCAPI
void $setNoBlockBreakUntil(::
std::chrono::steady_clock::time_point timePoint);
2241 MCAPI
void $sendClientEnteredLevel();
2245 MCAPI
bool $isPlaying() const;
2247 MCFOLD ::ClientInstanceState $getClientInstanceState() const;
2251 MCAPI ::PlayerCapabilities::IClientController const& $getClientCapabilities() const;
2253 MCAPI ::cg::math::Rect<
float> $calculateViewPortModifiers(
2254 ::SubClientId const clientId,
2255 uint64 const clientCount,
2256 ::SplitScreenDirection const splitScreenConfiguration
2263 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
FogDefinitionRegistry const> $getFogDefinitionRegistry() const;
2267 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
FogManager const> $getFogManager() const;
2269 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
FogManager> $getFogManager();
2277 MCAPI
float $getRemoteServerTimeMs() const;
2279 MCAPI
void $setRemoteServerTimeMs(
float time);
2281 MCAPI
float $getRemoteServerNetworkTimeMs() const;
2283 MCAPI
void $setRemoteServerNetworkTimeMs(
float time);
2287 MCAPI ::Scripting::ScriptEngine* $getScriptingEngine();
2289 MCAPI ::Bedrock::NonOwnerPointer<::
WorldTransferAgent> const $getWorldTransferAgent() const;
2295 MCAPI
void $flagDisconnectionAndNotify(::Connection::DisconnectFailReason disconnectReason);
2299 MCAPI
void $disconnectSubClient(::Connection::DisconnectFailReason disconnectReason);
2301 MCAPI
void $setClientUpdateAndRenderThrottling(
bool enabled,
int threshold,
float scalar);
2303 MCAPI
bool $isClientUpdateAndRenderThrottlingEnabled() const;
2305 MCAPI
int $getClientUpdateAndRenderThrottlingThreshold() const;
2307 MCAPI
float $getClientUpdateAndRenderThrottlingScalar() const;
2309 MCAPI
bool $isUserBanned() const;
2311 MCAPI
bool $isEligibleForPauseFeature() const;
2313 MCAPI
void $setupPauseManagers();
2315 MCAPI
bool $requestInGamePause(
bool status);
2317 MCAPI
void $openContentLogHistory();
2319 MCAPI
double $getGameUpdateDurationInSeconds() const;
2323 MCAPI ::Bedrock::NonOwnerPointer<::
PersonaClient> $tryGetPersonaClient() const;
Definition AbstractScene.h:5
Definition ActorAnimationGroup.h:22
Definition ActorBlockRenderer.h:5
Definition ActorRenderDispatcher.h:5
Definition ActorResourceDefinitionGroup.h:5
Definition ClipboardCopy.h:7
Definition ClipboardPasteRequest.h:7
Definition AutomationClient.h:26
Definition BlockActorRenderDispatcher.h:5
Definition BlockCullingGroup.h:5
Definition BlockSource.h:71
Definition BlockTessellator.h:5
Definition BuildActionIntention.h:5
Definition CachedScenes.h:5
Definition CameraRegistry.h:5
Definition ClientHitDetectCoordinator.h:5
Definition ClientInstanceEventCoordinator.h:5
Definition ClientInstance.h:5
Definition ClientLevel.h:5
Definition ClientNetworkEventCoordinator.h:5
Definition ClientNetworkSystem.h:46
Definition ClientRequirementVerifier.h:5
Definition ClientScriptEventCoordinator.h:5
Definition ClientScriptManager.h:5
Definition ClipboardProxy.h:6
Definition FileStorageArea.h:30
Definition StorageAreaStateListener.h:15
Definition DateManager.h:14
Definition DeferredLighting.h:5
Definition DevConsoleLogger.h:5
Definition DisconnectionRequestHandler.h:5
Definition EDUSystems.h:25
Definition IEditorManager.h:25
Definition IEditorPlayer.h:17
Definition EntityContext.h:15
Definition EntitySystems.h:25
Definition FileDataRequest.h:5
Definition FogDefinitionRegistry.h:5
Definition FogManager.h:5
Definition FontHandle.h:5
Definition FrameUpdateContext.h:5
Definition GameCallbacks.h:5
Definition GameModuleClient.h:5
Definition GameRenderer.h:5
Definition GeometryGroup.h:5
Definition GuidedFlowManager.h:5
Definition HitDetectSystem.h:5
Definition HitResult.h:18
Definition HudIconActorRenderer.h:5
Definition IClientInstance.h:5
Definition IClientInstances.h:5
Definition IConnectionEventing.h:10
Definition IContentKeyProvider.h:13
Definition IGameConnectionListener.h:5
Definition IMinecraftEventing.h:147
Definition IMinecraftGame.h:5
Definition IOptionRegistry.h:5
Definition IPersonaClientProvider.h:5
Definition IReadWriteOptions.h:5
Definition IResourcePackRepository.h:35
Definition ISceneStack.h:5
Definition ITTSEventManager.h:5
Definition IUIRepository.h:5
Definition ItemInHandRenderer.h:5
Definition ItemRegistryRef.h:41
Definition ItemRenderer.h:5
Definition KeyboardManager.h:5
Definition LatencyGraphDisplay.h:5
Definition LegacyClientNetworkHandler.h:5
Definition LevelRendererCameraProxy.h:5
Definition LevelRenderer.h:5
Definition LightTexture.h:5
Definition LinkedAssetValidator.h:8
Definition LocalPlayer.h:5
Definition MatrixStack.h:5
Definition MinecraftGraphics.h:5
Definition Minecraft.h:59
Definition MobEffectsLayout.h:5
Definition MusicManager.h:5
Definition OptionRegistry.h:5
Definition ITelemetry.h:7
Definition SceneProvider.h:7
Definition UIBlockThumbnailAtlasManager.h:7
Definition PackManifestFactory.h:21
Definition PacketSender.h:17
Definition PersonaClient.h:5
Definition PersonaRepository.h:5
Definition PlayerAuthentication.h:5
Definition PlayerListener.h:5
Definition PlayerReportHandler.h:5
Definition ProfanityContext.h:5
Definition ResourcePackManager.h:36
Definition SceneFactory.h:5
Definition ScreenContext.h:5
Definition ScreenLoadTimeTracker.h:5
Definition ScriptEngine.h:21
Definition ShaderColor.h:5
Definition SkinRepository.h:5
Definition GameConnectionInfo.h:24
Definition IUserManager.h:7
Definition MultiplayerServiceManager.h:7
Definition SoundEngine.h:5
Definition TaskGroup.h:86
Definition TextToSpeechClient.h:5
Definition ToastManager.h:5
Definition TrialManager.h:5
Definition UIEventCoordinator.h:5
Definition WeakEntityRef.h:14
Definition WorldTransferAgent.h:5
Definition WorldSystem.h:7
Definition TextureGroup.h:7
Definition ScreenTechStackSelector.h:7
Definition ActorUniqueID.h:5
Definition IProfilingOrchestratorProvider.h:7
Definition ClientInstanceArguments.h:5
Definition ClientInstanceInitArguments.h:5
Definition ClientInstance.h:16
Definition ClientInstance.h:14
Definition ClientInstance.h:241
Definition ClientInstance.h:243
Definition ConnectionContextInfo.h:5
Definition DisconnectionScreenParams.h:5
Definition ListenerState.h:5
Definition LocalPlayerChangedConnector.h:5
Definition PacksInfoData.h:14
Definition IClientController.h:7
Definition PlayerJoinWorldContext.h:5
Definition RawGameServerToken.h:8
Definition ScreenshotOptions.h:5
Definition ServerSupportedAuthenticationTypes.h:5
Definition SplitScreenInfo.h:5
Definition ViewportInfo.h:7