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/MousePointerType.h"
14#include "mc/client/gui/SceneType.h"
15#include "mc/client/gui/StoreNavigationOrigin.h"
16#include "mc/client/gui/screens/controllers/InventoryTabIndex.h"
17#include "mc/client/gui/screens/controllers/MarketplacePassTabIndex.h"
18#include "mc/client/gui/screens/models/PlayScreenDefaultTab.h"
19#include "mc/client/options/SplitScreenDirection.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/client/world/JoinServerWorldResult.h"
25#include "mc/common/SubClientId.h"
26#include "mc/deps/core/file/LevelStorageState.h"
27#include "mc/deps/core/file/PathBuffer.h"
28#include "mc/deps/core/file/StorageAreaStateListener.h"
29#include "mc/deps/core/threading/Async.h"
30#include "mc/deps/core/utility/NonOwnerPointer.h"
31#include "mc/deps/core/utility/UniqueOwnerPointer.h"
32#include "mc/deps/core_graphics/math/Rect.h"
33#include "mc/deps/game_refs/OwnerPtr.h"
34#include "mc/deps/game_refs/WeakRef.h"
35#include "mc/deps/input/InputMode.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/network/connection/DisconnectionStage.h"
43#include "mc/options/option_types/OptionID.h"
44#include "mc/platform/brstd/function_ref.h"
45#include "mc/util/ProfanityFilterContext.h"
46#include "mc/world/GameCallbacks.h"
47#include "mc/world/actor/bhave/BehaviorStatus.h"
48#include "mc/world/actor/player/PlayerListener.h"
49#include "mc/world/level/GameType.h"
151struct MarketplaceServicesManager;
165struct StoreCatalogItem;
166struct StoreCatalogRepository;
173namespace Bedrock::Http {
class Status; }
175namespace Core {
class Path; }
179namespace OreUI {
class Router; }
183namespace Realms {
struct World; }
188namespace Social {
struct User; }
190namespace mce {
class Camera; }
191namespace mce {
class Texture; }
201 public ::std::enable_shared_from_this<::ClientInstance> {
214 ::ll::TypedStorage<8, 8, ::mce::Texture*> mUITexture;
215 ::ll::TypedStorage<8, 32, ::mce::TexturePtr> mUICursorTexture;
221 MCAPI ~ClientRenderResources();
235 ::ll::UntypedStorage<8, 8> mUnkff7778;
236 ::ll::UntypedStorage<8, 8> mUnk241918;
237 ::ll::UntypedStorage<1, 1> mUnkb9c8a1;
238 ::ll::UntypedStorage<8, 8> mUnk4fdef3;
239 ::ll::UntypedStorage<8, 64> mUnk4fd828;
240 ::ll::UntypedStorage<8, 64> mUnk738e7f;
241 ::ll::UntypedStorage<8, 64> mUnk525e8f;
246 ClientDestroyBlockState& operator=(ClientDestroyBlockState
const&);
247 ClientDestroyBlockState(ClientDestroyBlockState
const&);
248 ClientDestroyBlockState();
402 ClientInstance& operator=(ClientInstance
const&);
403 ClientInstance(ClientInstance
const&);
409 virtual ~ClientInstance() ;
411 virtual void onInitMinecraftGame() ;
413 virtual void onDestroyMinecraftGame() ;
417 virtual void initSceneFactory(
418 ::std::unique_ptr<::SceneFactory> sceneFactory,
419 ::std::unique_ptr<::OreUI::SceneProvider> sceneProvider
422 virtual void setUiRouter(::std::unique_ptr<::OreUI::Router> uiRouter) ;
424 virtual void initGraphics() ;
426 virtual void stop() ;
428 virtual void teardown() ;
430 virtual void preShutDown() ;
434 virtual ::std::optional<::Social::GameConnectionInfo> getGameConnectionInfo() ;
436 virtual void onStartJoinGame(
437 bool isJoiningLocalServer,
438 ::std::string
const& multiplayerCorrelationId,
439 ::std::string
const& serverName,
440 ::std::string
const& worldName,
441 ::NetworkType networkTypeOverride,
442 ::Social::MultiplayerServiceIdentifier service,
443 bool isServerTransfer
446 virtual void onCancelJoinGame() ;
448 virtual void requestLeaveGameAsync() ;
450 virtual void requestLeaveGame(
bool switchScreen,
bool sync) ;
452 virtual void stopPlayScreen() ;
454 virtual bool isLeaveGameDone() const ;
456 virtual
void setupPlayScreenForLeaveGame() ;
458 virtual
void preCacheOutOfGameViews() ;
460 virtual
void resetPrimaryClient() ;
462 virtual
void resetGameSession() ;
464 virtual
void tick() ;
468 virtual
void preFrameTick() ;
470 virtual
bool update(
bool isInWorld) ;
472 virtual
void endFrame() ;
474 virtual
float getFrameAlpha() ;
476 virtual
void startSubClientLateJoin(
477 bool hasXBLBroadcast,
482 virtual ::Bedrock::Threading::Async<::ClientGameSetupResult>
483 setupClientGame(
bool joiningLocalServer, ::
std::unique_ptr<::
GameModuleClient> gameModuleClient) ;
489 virtual
void setupPrimaryClientEditorManager() ;
491 virtual ::Bedrock::NonOwnerPointer<::Editor::IEditorPlayer> getLocalEditorPlayer() const ;
493 virtual ::Bedrock::NonOwnerPointer<::Editor::IEditorManager> getEditorManager() const ;
495 virtual
bool isPlayerInEditor() const ;
501 virtual ::
Actor* getCameraActor() const ;
503 virtual
void setCameraActor(::
Actor* cameraActor) ;
507 virtual ::
Actor* getCameraTargetActor() const ;
509 virtual
void setCameraTargetActor(::
Actor* cameraTargetActor) ;
518 virtual ::
HitResult const& getLatestHitResult() const ;
520 virtual
bool isLeavingGame() const ;
522 virtual
bool isDestroyingGame() const ;
524 virtual
bool isShuttingDown() const ;
526 virtual
bool useLowFrequencyUIRender() const ;
528 virtual
bool isSplitScreenActive() const ;
530 virtual
bool isExitingLevel() const ;
532 virtual
bool isInBedScreen() const ;
534 virtual
bool isInDeathScreen() const ;
536 virtual
bool isKeyboardEnabled() const ;
538 virtual
bool hasCommands() const ;
540 virtual
int getSplitScreenCount() const ;
542 virtual
bool isShowingLoadingScreen() const ;
544 virtual
bool shouldDisconnectOnAppSuspended() const ;
546 virtual
bool isGamePlayTipsEnabled() const ;
548 virtual
bool isPlatformNX() const ;
550 virtual
bool isLocalSplitscreenWith(::
ActorUniqueID const&
id) const ;
552 virtual
bool isValidCrossPlatformSkin() const ;
554 virtual
bool isCurrentSkinPlatformLocked() const ;
556 virtual
bool isSelectedSkinInitialized() const ;
560 virtual
int getCurrentMaxGUIScaleIndex() const ;
562 virtual
bool getHandlingControllerDisconnect() ;
564 virtual
void setOpenControllerDisconnectScreen(
bool open) ;
566 virtual ::ClientPlayMode getClientPlayMode() const ;
568 virtual
void setClientPlayMode(::ClientPlayMode const& mode) ;
570 virtual ::
std::function<
void()> getCreditsCallback() ;
572 virtual
void setCreditsCallback(::
std::function<
void()> callback) ;
574 virtual
void setupTransitionForCredits(::
std::function<
void()> callback) ;
576 virtual
void refreshScreenSizeData() ;
578 virtual
void onScreenSizeChanged(
int width,
int height,
float forcedGuiScale) ;
580 virtual
void onGuiScaleOffsetChanged() ;
582 virtual
void onSafeZoneChanged() ;
584 virtual
bool hasDismissedNewPlayerFlow() const ;
586 virtual
void quit(::
std::
string const& src, ::
std::
string const& reason) ;
592 virtual ::World::WorldSystem& getWorldSystem() const ;
594 virtual
bool isWorldSystemReady() const ;
596 virtual ::Bedrock::NotNullNonOwnerPtr<::Automation::AutomationClient> getAutomationClient() const ;
598 virtual ::Bedrock::NonOwnerPointer<::
EDUSystems> getEDUSystems() ;
600 virtual ::Bedrock::NonOwnerPointer<::
EDUSystems const> getEDUSystems() const ;
608 virtual ::
FontHandle getRuneFontHandle() const ;
610 virtual ::
FontHandle getUnicodeFontHandle() const ;
612 virtual ::Bedrock::NotNullNonOwnerPtr<::
GeometryGroup> getGeometryGroup() const ;
614 virtual ::Bedrock::NotNullNonOwnerPtr<::
BlockCullingGroup> getBlockCullingGroup() const ;
616 virtual ::Bedrock::NotNullNonOwnerPtr<::Social::MultiplayerServiceManager> getMultiplayerServiceManager() const
625 virtual ::Bedrock::NotNullNonOwnerPtr<::
IContentKeyProvider const> getKeyProvider() const ;
627 virtual ::
PacksInfoData const& getHostSpecifiedPacks() const ;
633 virtual ::MarketplaceServicesManager& getMarketplaceServicesManager() const ;
637 virtual ::Bedrock::NotNullNonOwnerPtr<::StoreCatalogRepository> getStoreCatalogRepository() ;
639 virtual ::
std::shared_ptr<::mce::TextureGroup> getTextureGroup() const ;
641 virtual ::Bedrock::NotNullNonOwnerPtr<::mce::TextureGroup> getStoreCacheTextures() const ;
643 virtual ::Bedrock::NotNullNonOwnerPtr<::
MinecraftGraphics> getMinecraftGraphics() const ;
645 virtual ::Bedrock::NotNullNonOwnerPtr<::
IUIRepository> getUIRepository() const ;
647 virtual ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> getUserManager() const ;
649 virtual ::Bedrock::NotNullNonOwnerPtr<::
TrialManager> getTrialManager() const ;
651 virtual
bool wantToQuit() const ;
653 virtual
bool isPrimaryLevelCrossPlatformMultiplayer() const ;
655 virtual
bool isPrimaryLevelMultiplayer() const ;
657 virtual
bool isAdhocEnabled() const ;
661 virtual
bool isMarketplaceDisabled() const ;
663 virtual ::
std::pair<::StoreErrorCodes, ::
std::
string> const getMarketplaceDisabledReasonWithErrorCode() const
666 virtual
void linkToOffer(::
std::
string const& productId,
bool allowWhileInGame) ;
668 virtual
void linkToPage(::
std::
string const& pageId) ;
670 virtual
void linkTo3PServerOffers(::
std::
string const& pageId, ::
std::
string const& creatorName) ;
672 virtual
void navigateToMarketplaceInventoryScreen(::InventoryTabIndex tabIndex) ;
674 virtual
void navigateToStoreHomeScreen() ;
676 virtual
void navigateToCoinPurchaseScreen(
int neededCoins, ::
std::function<
void(
bool,
int)> callback) ;
679 navigateToPurchaseOfferScreen(::StoreCatalogItem& item, ::StoreNavigationOrigin,
bool const) ;
681 virtual
void navigateToDressingRoomOfferScreen(::
std::
string const& offerId) ;
683 virtual
bool navigateToProfileScreen(::
std::
string const&,
bool const preventProgressScreen) ;
685 virtual
void navigateToServersScreen(
bool const calledFromHyperlink) ;
687 virtual
void navigateToHowToPlayScreen(::
std::
string const& startTopic) ;
689 virtual
void navigateToGatheringInfoScreen(
bool autoConnect) ;
691 virtual
void navigateToMarketplacePassPDPScreen(::MarketplacePassTabIndex tabIndex) ;
693 virtual
void navigateToRealmsStoriesTransitionScreen(::Realms::World const& world) ;
695 virtual
void tryPushLeaveGameScreen() ;
697 virtual
void tryStartDayOneExperience() ;
699 virtual
bool isReadyToRender() const ;
701 virtual
void onDimensionChangedEvent() ;
703 virtual
void onGameEventNotification(::ui::GameEventNotification notification) ;
705 virtual ::
std::
string getTopScreenName() const ;
707 virtual
void setLeaveGameInProgressAsReadyToContinue() ;
709 virtual
void stopDestroying() ;
711 virtual
void onClientCreatedLevel(
718 virtual
void createPlayerAuthentication() ;
720 virtual
void createPlayerAuthentication(uint64 clientRandomId) ;
722 virtual ::
std::
string getPlatformId() const ;
724 virtual ::
std::
string getPlatformOnlineId() const ;
726 virtual
bool useController() const ;
728 virtual
bool useTouchscreen() const ;
730 virtual
bool getMouseGrabbed() const ;
732 virtual
bool currentInputModeIsMouseAndKeyboard() const ;
734 virtual
bool allowPicking() const ;
736 virtual
bool isShowingMenu() const ;
738 virtual
bool isShowingPauseScreen() const ;
740 virtual
bool isShowingProgressScreen() const ;
742 virtual
bool isShowingWorldProgressScreen() const ;
744 virtual
bool isShowingRealmsProgressScreen() const ;
746 virtual
bool isShowingDeathScreen() const ;
748 virtual
bool isShowingServerForm() const ;
750 virtual
bool isScreenReplaceable() const ;
752 virtual
bool isInWorldAndNotShowingAnyMenuScreens() const ;
754 virtual
bool isWorldActive() const ;
756 virtual
bool isInRealm() ;
758 virtual
bool readyForShutdown() const ;
760 virtual
bool isPrimaryClient() const ;
762 virtual
bool isEduMode() const ;
764 virtual
bool isGamepadCursorEnabled() const ;
766 virtual
bool isInControlCustomization() const ;
768 virtual ::Bedrock::NotNullNonOwnerPtr<::
Minecraft> getServerData() ;
770 virtual ::Bedrock::NotNullNonOwnerPtr<::
Minecraft const> getServerData() const ;
776 virtual
bool hasLevel() const ;
778 virtual
bool isPreGame() const ;
780 virtual
bool isInMultiplayerGame() const ;
782 virtual
bool isMultiPlayerClient() const ;
786 virtual ::
IOptions const& getOptions() const ;
788 virtual ::
std::shared_ptr<::
Options> getOptionsPtr() ;
790 virtual ::
std::shared_ptr<::
Options const> const getOptionsPtr() const ;
792 virtual ::
std::shared_ptr<::Social::User> const& getUser() const ;
796 virtual ::
Option const& getShowLearningPromptsOption() const ;
798 virtual ::
Option& getShowControlTipsOption() ;
800 virtual ::
Option& getShowControlTipsOverrideOption() ;
802 virtual
double getControlTipsTimeElapsed() const ;
804 virtual
void setControlTipsTimeElapsedStart() ;
812 virtual ::Bedrock::NonOwnerPointer<::
CameraRegistry> getCameraRegistry() ;
814 virtual ::Bedrock::NonOwnerPointer<::
CameraRegistry const> getCameraRegistry() const ;
816 virtual ::Bedrock::NonOwnerPointer<::
EntitySystems> getCameraSystems() ;
822 virtual ::mce::ViewportInfo const& getViewportInfo() const ;
824 virtual
void setViewportInfo(::mce::ViewportInfo const& viewportInfo) ;
826 virtual ::
Vec2 getNormalizedViewportSize() const ;
828 virtual
void updateChunkRadius() ;
830 virtual
void setUITexture(::mce::Texture* tex) ;
832 virtual ::mce::Texture* getUITexture() ;
834 virtual
void setLevelTexture(::mce::Texture* tex) ;
836 virtual ::mce::Texture* getLevelTexture() ;
838 virtual
void setUICursorTexture(::mce::TexturePtr tex) ;
840 virtual ::mce::TexturePtr getUICursorTexture() const ;
842 virtual ::mce::Camera& getCamera() ;
848 virtual
void clearGraphicsCache() ;
851 getNormalizedUICursorTransform(::
MatrixStack::MatrixStackRef& matrix,
float cursorHalfSizeTexels) ;
853 virtual
bool shouldRenderUICursor() const ;
855 virtual
bool getRenderPlayerModel() const ;
859 virtual
float getGuiScale() const ;
861 virtual ::
Option const& getGuiScaleOption() const ;
863 virtual
int getGuiScaleOffset() const ;
865 virtual
void setGuiScaleOffset(
int guiScale) ;
867 virtual
void renderImGui(::
ScreenContext& screenContext,
bool drawMenuBar) ;
869 virtual ::Bedrock::NotNullNonOwnerPtr<::
GuiData> getGuiData() ;
871 virtual ::Bedrock::NotNullNonOwnerPtr<::
GuiData const> getGuiData() const ;
875 virtual ::
PixelCalc const& getDpadScale() const ;
877 virtual ::Bedrock::NotNullNonOwnerPtr<::
DateManager const> getDateManager() const ;
879 virtual
void addOverrideHoursToDateTime(uint const hoursToAdd) ;
883 virtual ::
ClipboardProxy<::ApplicationSignal::ClipboardCopy, ::ApplicationSignal::ClipboardPasteRequest>&
884 getClipboardManager() ;
896 virtual ::OreUI::SceneProvider& getSceneProvider() const ;
898 virtual ::ui::ScreenTechStackSelector& getScreenTechStackSelector() ;
900 virtual ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack const> getClientSceneStack() const ;
902 virtual ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack> getClientSceneStack() ;
904 virtual ::OreUI::Router& getClientUIRouter() const ;
906 virtual ::
ISceneStack& getMainSceneStackInterface() ;
908 virtual ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack> getMainSceneStack() ;
910 virtual ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack const> getMainSceneStack() const ;
912 virtual ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack const> getCurrentSceneStack() const ;
914 virtual ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack> getCurrentSceneStack() ;
916 virtual ::OreUI::Router& getCurrentUIRouter() ;
918 virtual ::OreUI::Router const& getCurrentUIRouter() const ;
920 virtual ::OreUI::ITelemetry& getOreUITelemetry() ;
922 virtual ::
WeakRef<::OreUI::UIBlockThumbnailAtlasManager> getOreUIBlockThumbnailAtlasManager() const ;
924 virtual ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack> prepareSceneFor(
925 ::ui::SceneType const sceneTypeToFind,
931 virtual ::
std::
string getScreenName() const ;
933 virtual ::
std::
string getScreenTelemetry() const ;
935 virtual ::ui::SceneType getTopSceneType() const ;
939 virtual ::
std::
string emoticonifyText(::
std::
string const& text) const ;
941 virtual ::
std::
string emoticonifyText(::
std::
string const& text,
bool isGameTip) ;
943 virtual
void onMobEffectsChange() ;
945 virtual
void setUISizeAndScale(
int w,
int h,
float forcedGuiScale) ;
947 virtual
void forEachVisibleScreen(::brstd::function_ref<
void(::
AbstractScene&)> callback) ;
949 virtual
void forEachScreen(::brstd::function_ref<
bool(::
AbstractScene&)> callback,
bool topDown) ;
951 virtual
void forEachScreenConst(::brstd::function_ref<
bool(::
AbstractScene const&)> callback,
bool topDown) const
954 virtual
bool updateSceneStack() ;
956 virtual
void forEachAlwaysAcceptInputScreen(
961 virtual
void forEachAlwaysAcceptInputScreenWithTop(::
std::function<
void(::
AbstractScene&)> callback) ;
963 virtual
void showPlayerProfile(::
std::
string const& xuid, ::
std::
string const& platformId) ;
965 virtual
bool isInGameInputEnabled() const ;
967 virtual
void setInGameInputEnabled(
bool isEnabled) ;
969 virtual ::
Vec2 getSafeZoneScale() const ;
971 virtual
void verifySkinApproval(
972 ::
std::
string const& serverType,
973 ::
std::function<
void(::
std::
string)> const& notApprovedCallback,
974 ::
std::function<
void()> const& approvedCallback
977 virtual ::InputMode getCurrentInputMode() const ;
979 virtual
bool isTouchGameplayAllowed() const ;
985 virtual
void setLastPointerLocation(
float x,
float y,
float z) ;
987 virtual
void clearTouchPointerLocations() ;
989 virtual
void clearTouchPointerLocation(
int id) ;
991 virtual
void updateTouchPointerLocation(
int id,
float x,
float y) ;
993 virtual ::
Vec3 getLastPointerLocation() ;
995 virtual ::
Vec2 getTouchPointerLocation(
int id) const ;
997 virtual
void updateActionPointerId(
int id) ;
999 virtual
int getActionPointerId() const ;
1001 virtual
bool shouldUseLastPointerLocationOnFocusChange() ;
1003 virtual
bool currentScreenShouldStealMouse() ;
1013 virtual ::glm::vec2 getGamepadCursorPosition() const ;
1015 virtual
void updateControlOptionState(uint
id,
bool active) ;
1017 virtual
void clearActiveControlOptions() ;
1019 virtual ::
std::set<uint> const& getActiveControlOptions() const ;
1021 virtual ::
std::vector<::OptionID> getActiveOptionIDs(::ControlOptionType controlOptionType) const ;
1023 virtual
void setNumberOfActiveConfigs(
int numberOfActiveConfigs) ;
1025 virtual
int getNumberOfActiveConfigs() const ;
1027 virtual
bool isNoConfigSelected() const ;
1029 virtual
void setNumberOfEnabledConfigs(
int numberOfEnabledConfigs) ;
1031 virtual
int getNumberOfEnabledConfigs() const ;
1033 virtual
void setWYSIWYGState(::WYSIWYGState wysiwygState) ;
1035 virtual ::WYSIWYGState getWYSIWYGState() const ;
1037 virtual
void setOtherConfigsExistInThisCategory(
bool otherConfigsExistInThisCategory) ;
1039 virtual
bool getOtherConfigsExistInThisCategory() const ;
1043 virtual
void setupPersistentControls(::InputMode currentMode) ;
1045 virtual
void resetPlayerMovement() ;
1047 virtual
void suspendPredictedMovement() ;
1049 virtual
void onClientInputInitComplete() ;
1055 virtual
int getControllerId() const ;
1057 virtual
bool hasConnectedController() const ;
1059 virtual ::SubClientId getClientSubId() const ;
1061 virtual
void setSuspendInput(
bool suspendInput) ;
1063 virtual
void setSuspendDirectionalInput(
bool suspendDirectionalInput) ;
1065 virtual
void setDisableInput(
bool disableInput) ;
1067 virtual
void grabMouse() ;
1069 virtual
void releaseMouse() ;
1071 virtual
void refocusMouse(
bool lostMouse) ;
1073 virtual
void setMouseType(::ui::MousePointerType type) ;
1075 virtual
void resetBai(
int baiFlags) ;
1077 virtual
void clearInProgressBAI() ;
1079 virtual ::Bedrock::NotNullNonOwnerPtr<::
SoundEngine> getSoundEngine() const ;
1081 virtual ::
MusicManager const* getMusicManager() const ;
1083 virtual ::
MusicManager* getMusicManagerNonConst() const ;
1085 virtual
void play(::
std::
string const& name, ::
Vec3 const& pos,
float volume,
float pitch) ;
1087 virtual
void playUI(::
std::
string const& name,
float volume,
float pitch) ;
1089 virtual
void muteAudio() ;
1091 virtual
void unMuteAudio() ;
1093 virtual
void fadeOutMusic() const ;
1097 virtual
void onFullVanillaPackOnStack() ;
1099 virtual
bool isFullVanillaPackOnStack() const ;
1101 virtual
void onPlayerLoaded(::
Player& player) ;
1103 virtual
void setClientGameMode(::GameType gameType) ;
1105 virtual
void resetToDefaultGameMode() ;
1109 virtual
void connectToThirdPartyServer(::
std::
string const& ipAddress,
int port) ;
1111 virtual
void startExternalNetworkWorld(
1112 ::Social::GameConnectionInfo connection,
1113 ::
std::
string const& serverName,
1117 virtual
void connectToExperience(
1120 ::
std::function<
void(::World::JoinServerWorldResult)> onErrorCallback
1123 virtual
bool isReadyToReconnect() const ;
1125 virtual
bool checkForPiracy() ;
1127 virtual
void updateChatFilterStatus(::
ProfanityContext& profanityContext) ;
1129 virtual
void updateControllerHandling() ;
1131 virtual
void onPlayerDestruction(::
Player& player) ;
1134 setBehaviorCommandCallback(::
std::function<
void(::
std::
string const&, ::BehaviorStatus)> callback) ;
1136 virtual
void setBehaviorCommandStatus(::
std::
string const& treeName, ::BehaviorStatus status) ;
1138 virtual
void setConnectGamepadScreenActive(
bool active) ;
1140 virtual ::Bedrock::Threading::Async<::Core::PathBuffer<::
std::
string>>
1143 virtual ::Bedrock::NotNullNonOwnerPtr<::
DevConsoleLogger> getDevConsoleLogger() const ;
1146 ::
std::
string const& imageUrl,
1147 ::
std::function<
void(::Bedrock::Http::Status, ::Core::
Path const&, uint64)> callback
1150 virtual
void setActiveFileStorageArea(::
std::shared_ptr<::Core::FileStorageArea> storageArea) ;
1152 virtual
void onExtendDiskSpace(
1154 ::
std::weak_ptr<::Core::FileStorageArea> const& storageAreaWeakPtr,
1156 ::
std::function<
void()> onHandledEventCallback
1159 virtual
void onLowDiskSpace(
bool const bSet) ;
1161 virtual
void onOutOfDiskSpace(
bool const bSet) ;
1163 virtual
void onCriticalDiskError(
bool const bSet, ::Core::LevelStorageState const& errorCode) ;
1165 virtual
void onLevelCorrupt() ;
1167 virtual
void onGameModeChanged() ;
1169 virtual
void onBeforeSimTick() ;
1171 virtual
void onTick(
int nTick,
int maxTick) ;
1173 virtual
void onInternetUpdate() ;
1175 virtual
void onGameSessionReset() ;
1177 virtual
void onLevelExit() ;
1179 virtual
void onRequestResourceReload() ;
1181 virtual
void updateScreens() ;
1183 virtual
void initializeRenderResources() ;
1185 virtual
void postInitRenderResources() ;
1187 virtual
void onAppSuspended() ;
1189 virtual
void onAppSuspensionDisconnect() ;
1191 virtual
void onAppResumed() ;
1193 virtual
void onActiveResourcePacksChanged(
1197 virtual
void reloadEntityRenderers(
1215 virtual ::
std::deque<::
std::
string>& getSentMessageHistory() ;
1217 virtual ::
std::deque<::
std::
string>& getDevConsoleMessageHistory() ;
1219 virtual ::Bedrock::NotNullNonOwnerPtr<::
ProfanityContext> getProfanityContext() const ;
1229 virtual
void addTTSMessage(
1230 ::
std::
string const& message,
1231 ::ProfanityFilterContext profanityFilterContext,
1233 ::
std::
string const& interruptibleId,
1235 bool disregardAppFocus
1238 virtual
void initCommands() ;
1240 virtual uint getUserId() const ;
1242 virtual
bool isPrimaryUser() const ;
1244 virtual
double getServerConnectionTime() const ;
1246 virtual
void setServerPingTime(
int pingTime) ;
1248 virtual
int getServerPingTime() const ;
1250 virtual
void setDefaultPlayscreenTab(::PlayScreenDefaultTab defaultTab) ;
1252 virtual
void setClientInstanceState(::ClientInstanceState const& newstate) ;
1254 virtual
void setUIEventCoordinator(::Bedrock::UniqueOwnerPointer<::
UIEventCoordinator>&& coordinator) ;
1256 virtual ::Bedrock::NotNullNonOwnerPtr<::
UIEventCoordinator> getUIEventCoordinator() ;
1264 virtual ::
std::chrono::steady_clock::time_point getNoBlockBreakUntil() ;
1266 virtual
void setNoBlockBreakUntil(::
std::chrono::steady_clock::time_point timePoint) ;
1274 virtual
void sendClientEnteredLevel() ;
1278 virtual
bool isPlaying() const ;
1280 virtual ::ClientInstanceState getClientInstanceState() const ;
1284 virtual ::PlayerCapabilities::IClientController const& getClientCapabilities() const ;
1286 virtual ::cg::math::Rect<
float> calculateViewPortModifiers(
1287 ::SubClientId const clientId,
1288 uint64 const clientCount,
1289 ::SplitScreenDirection const splitScreenConfiguration
1296 virtual ::Bedrock::NotNullNonOwnerPtr<::
FogDefinitionRegistry const> getFogDefinitionRegistry() const ;
1300 virtual ::Bedrock::NotNullNonOwnerPtr<::
FogManager const> getFogManager() const ;
1302 virtual ::Bedrock::NotNullNonOwnerPtr<::
FogManager> getFogManager() ;
1311 virtual
float getRemoteServerTimeMs() const ;
1313 virtual
void setRemoteServerTimeMs(
float time) ;
1315 virtual
float getRemoteServerNetworkTimeMs() const ;
1317 virtual
void setRemoteServerNetworkTimeMs(
float time) ;
1321 virtual ::Scripting::ScriptEngine* getScriptingEngine() ;
1323 virtual ::Bedrock::NonOwnerPointer<::
WorldTransferAgent> const getWorldTransferAgent() const ;
1329 virtual
void flagDisconnectionAndNotify(::Connection::DisconnectFailReason disconnectReason) ;
1333 virtual
void disconnectSubClient(::Connection::DisconnectFailReason disconnectReason) ;
1335 virtual
void setClientUpdateAndRenderThrottling(
bool enabled,
int threshold,
float scalar) ;
1337 virtual
bool isClientUpdateAndRenderThrottlingEnabled() const ;
1339 virtual
int getClientUpdateAndRenderThrottlingThreshold() const ;
1341 virtual
float getClientUpdateAndRenderThrottlingScalar() const ;
1343 virtual
bool isUserBanned() const ;
1345 virtual
bool isEligibleForPauseFeature() const ;
1347 virtual
void setupPauseManagers() ;
1349 virtual
bool requestInGamePause(
bool status) ;
1351 virtual
void openContentLogHistory() ;
1353 virtual
double getGameUpdateDurationInSeconds() const ;
1366 ::PlayerAuthenticationType authType,
1371 MCAPI
void _createSkinRepositoryClientInterface();
1373 MCAPI
void _finishDestroyingGame();
1378 MCAPI
bool _getIsConnectedToApplicationLayer() const;
1380 MCAPI
void _handleDisconnectionScreenRequests();
1382 MCAPI
void _handlePossibleControllerDisconnect(
bool isInitFinished);
1384 MCAPI
void _initSceneStack();
1386 MCAPI
bool _isEditorModeOrInEditorWorld() const;
1388 MCAPI
bool _isInEditorTestWorld() const;
1390 MCAPI
bool _isShowingScreen(::
std::string_view screenName) const;
1392 MCAPI ::
std::optional<
bool> _isUsingTurn() const;
1397 MCAPI
void _leaveGameOnUnrecoverableError(
1398 ::Connection::DisconnectFailReason reason,
1399 ::
std::
string const& telemetryMessage,
1400 ::
std::
string const& errorDescriptionOverride
1403 MCAPI
void _navigateToSDLCharacterCreatorOffer(::
std::
string const& productId);
1405 MCAPI
void _notifyTelemetryClientCanceledJoinAttempt();
1407 MCAPI
void _notifyTelemetryClientStartedJoinAttempt();
1409 MCAPI
void _notifyTelemetryClientSuccessfullyEnteredWorld();
1411 MCAPI
void _notifyTelemetryOfFlaggedDisconnect(
1412 ::Connection::DisconnectFailReason failReason,
1413 ::
std::
string const& titleMessage,
1414 ::
std::
string const& errorMessage,
1415 ::
std::
string const& codeword
1418 MCAPI
void _perspectiveOptionChanged(::
Option const&);
1420 MCAPI
void _requestLeaveGameImpl(
bool switchScreen,
bool sync);
1422 MCAPI
void _startDestroyingGame();
1424 MCAPI
void _startExternalNetworkWorld(
1425 ::Social::GameConnectionInfo connection,
1426 ::
std::
string const& serverName,
1427 bool isServerTransfer
1430 MCAPI
void _startLeaveGame();
1432 MCAPI
void _startWorldPrimaryClient(
1433 ::PlayerAuthenticationType authType,
1438 MCAPI
void _startWorldSubClient(
1439 ::PlayerAuthenticationType authType,
1445 _tickBuildAction(::
HitResult const& solidHitResult_, ::
HitResult const& liquidHitResult_,
bool advanceTime);
1447 MCAPI
void _updateScreenSizeVariables(::
Vec2 const& totalScreenSize, ::
Vec2 const& safeZone,
float forcedGuiScale);
1449 MCAPI
void fireEventDiskStatus(::DiskStatus status, ::Core::LevelStorageState errorCode);
1451 MCAPI
void flagDisconnectionAndNotifyWithTarget(
1453 ::Connection::UIReturnTarget uiReturnTarget
1478 MCAPI
void $onInitMinecraftGame();
1480 MCAPI
void $onDestroyMinecraftGame();
1484 MCAPI
void $initSceneFactory(
1486 ::
std::unique_ptr<::OreUI::SceneProvider> sceneProvider
1489 MCAPI
void $setUiRouter(::
std::unique_ptr<::OreUI::Router> uiRouter);
1491 MCAPI
void $initGraphics();
1493 MCFOLD
void $stop();
1495 MCAPI
void $teardown();
1497 MCAPI
void $preShutDown();
1499 MCAPI
void $setGameConnectionInfo(::Social::GameConnectionInfo const& gameConnection);
1501 MCAPI ::
std::optional<::Social::GameConnectionInfo> $getGameConnectionInfo();
1503 MCAPI
void $onStartJoinGame(
1504 bool isJoiningLocalServer,
1505 ::
std::
string const& multiplayerCorrelationId,
1506 ::
std::
string const& serverName,
1507 ::
std::
string const& worldName,
1508 ::NetworkType networkTypeOverride,
1509 ::Social::MultiplayerServiceIdentifier service,
1510 bool isServerTransfer
1513 MCAPI
void $onCancelJoinGame();
1515 MCAPI
void $requestLeaveGameAsync();
1517 MCAPI
void $requestLeaveGame(
bool switchScreen,
bool sync);
1519 MCAPI
void $stopPlayScreen();
1521 MCAPI
bool $isLeaveGameDone() const;
1523 MCAPI
void $setupPlayScreenForLeaveGame();
1525 MCAPI
void $preCacheOutOfGameViews();
1527 MCAPI
void $resetPrimaryClient();
1529 MCAPI
void $resetGameSession();
1531 MCFOLD
void $tick();
1535 MCAPI
void $preFrameTick();
1537 MCAPI
bool $update(
bool isInWorld);
1539 MCFOLD
void $endFrame();
1541 MCAPI
float $getFrameAlpha();
1543 MCAPI
void $startSubClientLateJoin(
1544 bool hasXBLBroadcast,
1549 MCAPI ::Bedrock::Threading::Async<::ClientGameSetupResult>
1550 $setupClientGame(
bool joiningLocalServer, ::
std::unique_ptr<::
GameModuleClient> gameModuleClient);
1556 MCAPI
void $setupPrimaryClientEditorManager();
1558 MCAPI ::Bedrock::NonOwnerPointer<::Editor::IEditorPlayer> $getLocalEditorPlayer() const;
1560 MCAPI ::Bedrock::NonOwnerPointer<::Editor::IEditorManager> $getEditorManager() const;
1562 MCAPI
bool $isPlayerInEditor() const;
1568 MCAPI ::
Actor* $getCameraActor() const;
1570 MCAPI
void $setCameraActor(::
Actor* cameraActor);
1574 MCAPI ::
Actor* $getCameraTargetActor() const;
1576 MCAPI
void $setCameraTargetActor(::
Actor* cameraTargetActor);
1584 MCAPI ::
HitResult const& $getLatestHitResult() const;
1586 MCAPI
bool $isLeavingGame() const;
1588 MCAPI
bool $isDestroyingGame() const;
1590 MCAPI
bool $isShuttingDown() const;
1592 MCAPI
bool $useLowFrequencyUIRender() const;
1594 MCAPI
bool $isSplitScreenActive() const;
1596 MCAPI
bool $isExitingLevel() const;
1598 MCAPI
bool $isInBedScreen() const;
1600 MCAPI
bool $isInDeathScreen() const;
1602 MCAPI
bool $isKeyboardEnabled() const;
1604 MCAPI
bool $hasCommands() const;
1606 MCAPI
int $getSplitScreenCount() const;
1608 MCAPI
bool $isShowingLoadingScreen() const;
1610 MCFOLD
bool $shouldDisconnectOnAppSuspended() const;
1612 MCAPI
bool $isGamePlayTipsEnabled() const;
1614 MCAPI
bool $isPlatformNX() const;
1616 MCAPI
bool $isLocalSplitscreenWith(::
ActorUniqueID const&
id) const;
1618 MCAPI
bool $isValidCrossPlatformSkin() const;
1620 MCAPI
bool $isCurrentSkinPlatformLocked() const;
1622 MCAPI
bool $isSelectedSkinInitialized() const;
1626 MCAPI
int $getCurrentMaxGUIScaleIndex() const;
1628 MCAPI
bool $getHandlingControllerDisconnect();
1630 MCAPI
void $setOpenControllerDisconnectScreen(
bool open);
1632 MCAPI ::ClientPlayMode $getClientPlayMode() const;
1634 MCAPI
void $setClientPlayMode(::ClientPlayMode const& mode);
1636 MCAPI ::
std::function<
void()> $getCreditsCallback();
1638 MCAPI
void $setCreditsCallback(::
std::function<
void()> callback);
1640 MCAPI
void $setupTransitionForCredits(::
std::function<
void()> callback);
1642 MCAPI
void $refreshScreenSizeData();
1644 MCAPI
void $onScreenSizeChanged(
int width,
int height,
float forcedGuiScale);
1646 MCAPI
void $onGuiScaleOffsetChanged();
1648 MCAPI
void $onSafeZoneChanged();
1650 MCAPI
bool $hasDismissedNewPlayerFlow() const;
1652 MCAPI
void $quit(::
std::
string const& src, ::
std::
string const& reason);
1658 MCAPI ::World::WorldSystem& $getWorldSystem() const;
1660 MCAPI
bool $isWorldSystemReady() const;
1662 MCAPI ::Bedrock::NotNullNonOwnerPtr<::Automation::AutomationClient> $getAutomationClient() const;
1664 MCAPI ::Bedrock::NonOwnerPointer<::
EDUSystems> $getEDUSystems();
1666 MCAPI ::Bedrock::NonOwnerPointer<::
EDUSystems const> $getEDUSystems() const;
1674 MCAPI ::
FontHandle $getRuneFontHandle() const;
1676 MCAPI ::
FontHandle $getUnicodeFontHandle() const;
1678 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
GeometryGroup> $getGeometryGroup() const;
1680 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
BlockCullingGroup> $getBlockCullingGroup() const;
1682 MCAPI ::Bedrock::NotNullNonOwnerPtr<::Social::MultiplayerServiceManager> $getMultiplayerServiceManager() const;
1692 MCAPI ::
PacksInfoData const& $getHostSpecifiedPacks() const;
1698 MCAPI ::MarketplaceServicesManager& $getMarketplaceServicesManager() const;
1702 MCAPI ::Bedrock::NotNullNonOwnerPtr<::StoreCatalogRepository> $getStoreCatalogRepository();
1704 MCAPI ::
std::shared_ptr<::mce::TextureGroup> $getTextureGroup() const;
1706 MCAPI ::Bedrock::NotNullNonOwnerPtr<::mce::TextureGroup> $getStoreCacheTextures() const;
1708 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
MinecraftGraphics> $getMinecraftGraphics() const;
1710 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
IUIRepository> $getUIRepository() const;
1712 MCAPI ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> $getUserManager() const;
1714 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
TrialManager> $getTrialManager() const;
1716 MCAPI
bool $wantToQuit() const;
1718 MCAPI
bool $isPrimaryLevelCrossPlatformMultiplayer() const;
1720 MCAPI
bool $isPrimaryLevelMultiplayer() const;
1722 MCAPI
bool $isAdhocEnabled() const;
1726 MCAPI
bool $isMarketplaceDisabled() const;
1728 MCAPI ::
std::pair<::StoreErrorCodes, ::
std::
string> const $getMarketplaceDisabledReasonWithErrorCode() const;
1730 MCAPI
void $linkToOffer(::
std::
string const& productId,
bool allowWhileInGame);
1732 MCAPI
void $linkToPage(::
std::
string const& pageId);
1734 MCAPI
void $linkTo3PServerOffers(::
std::
string const& pageId, ::
std::
string const& creatorName);
1736 MCAPI
void $navigateToMarketplaceInventoryScreen(::InventoryTabIndex tabIndex);
1738 MCAPI
void $navigateToStoreHomeScreen();
1740 MCAPI
void $navigateToCoinPurchaseScreen(
int neededCoins, ::
std::function<
void(
bool,
int)> callback);
1742 MCAPI
void $navigateToPurchaseOfferScreen(::StoreCatalogItem& item, ::StoreNavigationOrigin,
bool const);
1744 MCAPI
void $navigateToDressingRoomOfferScreen(::
std::
string const& offerId);
1746 MCAPI
bool $navigateToProfileScreen(::
std::
string const&,
bool const preventProgressScreen);
1748 MCAPI
void $navigateToServersScreen(
bool const calledFromHyperlink);
1750 MCAPI
void $navigateToHowToPlayScreen(::
std::
string const& startTopic);
1752 MCAPI
void $navigateToGatheringInfoScreen(
bool autoConnect);
1754 MCAPI
void $navigateToMarketplacePassPDPScreen(::MarketplacePassTabIndex tabIndex);
1756 MCAPI
void $navigateToRealmsStoriesTransitionScreen(::Realms::World const& world);
1758 MCAPI
void $tryPushLeaveGameScreen();
1760 MCAPI
void $tryStartDayOneExperience();
1762 MCAPI
bool $isReadyToRender() const;
1764 MCAPI
void $onDimensionChangedEvent();
1766 MCAPI
void $onGameEventNotification(::ui::GameEventNotification notification);
1768 MCAPI ::
std::
string $getTopScreenName() const;
1770 MCAPI
void $setLeaveGameInProgressAsReadyToContinue();
1772 MCAPI
void $stopDestroying();
1774 MCAPI
void $onClientCreatedLevel(
1781 MCAPI
void $createPlayerAuthentication();
1783 MCAPI
void $createPlayerAuthentication(uint64 clientRandomId);
1785 MCAPI ::
std::
string $getPlatformId() const;
1787 MCAPI ::
std::
string $getPlatformOnlineId() const;
1789 MCAPI
bool $useController() const;
1791 MCAPI
bool $useTouchscreen() const;
1793 MCAPI
bool $getMouseGrabbed() const;
1795 MCAPI
bool $currentInputModeIsMouseAndKeyboard() const;
1797 MCAPI
bool $allowPicking() const;
1799 MCAPI
bool $isShowingMenu() const;
1801 MCAPI
bool $isShowingPauseScreen() const;
1803 MCAPI
bool $isShowingProgressScreen() const;
1805 MCAPI
bool $isShowingWorldProgressScreen() const;
1807 MCAPI
bool $isShowingRealmsProgressScreen() const;
1809 MCAPI
bool $isShowingDeathScreen() const;
1811 MCAPI
bool $isShowingServerForm() const;
1813 MCAPI
bool $isScreenReplaceable() const;
1815 MCAPI
bool $isInWorldAndNotShowingAnyMenuScreens() const;
1817 MCAPI
bool $isWorldActive() const;
1819 MCAPI
bool $isInRealm();
1821 MCAPI
bool $readyForShutdown() const;
1823 MCAPI
bool $isPrimaryClient() const;
1825 MCAPI
bool $isEduMode() const;
1827 MCFOLD
bool $isGamepadCursorEnabled() const;
1829 MCAPI
bool $isInControlCustomization() const;
1831 MCFOLD ::Bedrock::NotNullNonOwnerPtr<::
Minecraft> $getServerData();
1833 MCFOLD ::Bedrock::NotNullNonOwnerPtr<::
Minecraft const> $getServerData() const;
1839 MCAPI
bool $hasLevel() const;
1841 MCAPI
bool $isPreGame() const;
1843 MCAPI
bool $isInMultiplayerGame() const;
1845 MCAPI
bool $isMultiPlayerClient() const;
1849 MCFOLD ::
IOptions const& $getOptions() const;
1851 MCAPI ::
std::shared_ptr<::
Options> $getOptionsPtr();
1853 MCAPI ::
std::shared_ptr<::
Options const> const $getOptionsPtr() const;
1855 MCAPI ::
std::shared_ptr<::Social::User> const& $getUser() const;
1859 MCAPI ::
Option const& $getShowLearningPromptsOption() const;
1861 MCAPI ::
Option& $getShowControlTipsOption();
1863 MCAPI ::
Option& $getShowControlTipsOverrideOption();
1865 MCAPI
double $getControlTipsTimeElapsed() const;
1867 MCAPI
void $setControlTipsTimeElapsedStart();
1875 MCAPI ::Bedrock::NonOwnerPointer<::
CameraRegistry> $getCameraRegistry();
1877 MCAPI ::Bedrock::NonOwnerPointer<::
CameraRegistry const> $getCameraRegistry() const;
1879 MCAPI ::Bedrock::NonOwnerPointer<::
EntitySystems> $getCameraSystems();
1885 MCAPI ::mce::ViewportInfo const& $getViewportInfo() const;
1887 MCAPI
void $setViewportInfo(::mce::ViewportInfo const& viewportInfo);
1889 MCAPI ::
Vec2 $getNormalizedViewportSize() const;
1891 MCAPI
void $updateChunkRadius();
1893 MCAPI
void $setUITexture(::mce::Texture* tex);
1895 MCAPI ::mce::Texture* $getUITexture();
1897 MCAPI
void $setLevelTexture(::mce::Texture* tex);
1899 MCAPI ::mce::Texture* $getLevelTexture();
1901 MCAPI
void $setUICursorTexture(::mce::TexturePtr tex);
1903 MCAPI ::mce::TexturePtr $getUICursorTexture() const;
1905 MCAPI ::mce::Camera& $getCamera();
1911 MCAPI
void $clearGraphicsCache();
1913 MCAPI
void $getNormalizedUICursorTransform(::
MatrixStack::MatrixStackRef& matrix,
float cursorHalfSizeTexels);
1915 MCFOLD
bool $shouldRenderUICursor() const;
1917 MCAPI
bool $getRenderPlayerModel() const;
1921 MCAPI
float $getGuiScale() const;
1923 MCAPI ::
Option const& $getGuiScaleOption() const;
1925 MCAPI
int $getGuiScaleOffset() const;
1927 MCAPI
void $setGuiScaleOffset(
int guiScale);
1929 MCFOLD
void $renderImGui(::
ScreenContext& screenContext,
bool drawMenuBar);
1931 MCFOLD ::Bedrock::NotNullNonOwnerPtr<::
GuiData> $getGuiData();
1933 MCFOLD ::Bedrock::NotNullNonOwnerPtr<::
GuiData const> $getGuiData() const;
1937 MCAPI ::
PixelCalc const& $getDpadScale() const;
1939 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
DateManager const> $getDateManager() const;
1941 MCAPI
void $addOverrideHoursToDateTime(uint const hoursToAdd);
1945 MCAPI ::
ClipboardProxy<::ApplicationSignal::ClipboardCopy, ::ApplicationSignal::ClipboardPasteRequest>&
1946 $getClipboardManager();
1958 MCAPI ::OreUI::SceneProvider& $getSceneProvider() const;
1960 MCAPI ::ui::ScreenTechStackSelector& $getScreenTechStackSelector();
1962 MCFOLD ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack const> $getClientSceneStack() const;
1964 MCFOLD ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack> $getClientSceneStack();
1966 MCAPI ::OreUI::Router& $getClientUIRouter() const;
1968 MCAPI ::
ISceneStack& $getMainSceneStackInterface();
1970 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack> $getMainSceneStack();
1972 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack const> $getMainSceneStack() const;
1974 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack const> $getCurrentSceneStack() const;
1976 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack> $getCurrentSceneStack();
1978 MCFOLD ::OreUI::Router& $getCurrentUIRouter();
1980 MCFOLD ::OreUI::Router const& $getCurrentUIRouter() const;
1982 MCAPI ::OreUI::ITelemetry& $getOreUITelemetry();
1984 MCAPI ::
WeakRef<::OreUI::UIBlockThumbnailAtlasManager> $getOreUIBlockThumbnailAtlasManager() const;
1986 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
ISceneStack> $prepareSceneFor(
1987 ::ui::SceneType const sceneTypeToFind,
1993 MCAPI ::
std::
string $getScreenName() const;
1995 MCAPI ::
std::
string $getScreenTelemetry() const;
1997 MCAPI ::ui::SceneType $getTopSceneType() const;
2001 MCAPI ::
std::
string $emoticonifyText(::
std::
string const& text) const;
2003 MCAPI ::
std::
string $emoticonifyText(::
std::
string const& text,
bool isGameTip);
2005 MCAPI
void $onMobEffectsChange();
2007 MCAPI
void $setUISizeAndScale(
int w,
int h,
float forcedGuiScale);
2009 MCAPI
void $forEachVisibleScreen(::brstd::function_ref<
void(::
AbstractScene&)> callback);
2011 MCAPI
void $forEachScreen(::brstd::function_ref<
bool(::
AbstractScene&)> callback,
bool topDown);
2013 MCAPI
void $forEachScreenConst(::brstd::function_ref<
bool(::
AbstractScene const&)> callback,
bool topDown) const;
2015 MCAPI
bool $updateSceneStack();
2017 MCAPI
void $forEachAlwaysAcceptInputScreen(
2022 MCAPI
void $forEachAlwaysAcceptInputScreenWithTop(::
std::function<
void(::
AbstractScene&)> callback);
2024 MCAPI
void $showPlayerProfile(::
std::
string const& xuid, ::
std::
string const& platformId);
2026 MCAPI
bool $isInGameInputEnabled() const;
2028 MCAPI
void $setInGameInputEnabled(
bool isEnabled);
2030 MCAPI ::
Vec2 $getSafeZoneScale() const;
2032 MCAPI
void $verifySkinApproval(
2033 ::
std::
string const& serverType,
2034 ::
std::function<
void(::
std::
string)> const& notApprovedCallback,
2035 ::
std::function<
void()> const& approvedCallback
2038 MCAPI ::InputMode $getCurrentInputMode() const;
2040 MCAPI
bool $isTouchGameplayAllowed() const;
2046 MCAPI
void $setLastPointerLocation(
float x,
float y,
float z);
2048 MCAPI
void $clearTouchPointerLocations();
2050 MCAPI
void $clearTouchPointerLocation(
int id);
2052 MCAPI
void $updateTouchPointerLocation(
int id,
float x,
float y);
2054 MCAPI ::
Vec3 $getLastPointerLocation();
2056 MCAPI ::
Vec2 $getTouchPointerLocation(
int id) const;
2058 MCAPI
void $updateActionPointerId(
int id);
2060 MCAPI
int $getActionPointerId() const;
2062 MCAPI
bool $shouldUseLastPointerLocationOnFocusChange();
2064 MCAPI
bool $currentScreenShouldStealMouse();
2074 MCAPI ::glm::vec2 $getGamepadCursorPosition() const;
2076 MCAPI
void $updateControlOptionState(uint
id,
bool active);
2078 MCAPI
void $clearActiveControlOptions();
2080 MCAPI ::
std::set<uint> const& $getActiveControlOptions() const;
2082 MCAPI ::
std::vector<::OptionID> $getActiveOptionIDs(::ControlOptionType controlOptionType) const;
2084 MCAPI
void $setNumberOfActiveConfigs(
int numberOfActiveConfigs);
2086 MCAPI
int $getNumberOfActiveConfigs() const;
2088 MCAPI
bool $isNoConfigSelected() const;
2090 MCAPI
void $setNumberOfEnabledConfigs(
int numberOfEnabledConfigs);
2092 MCAPI
int $getNumberOfEnabledConfigs() const;
2094 MCAPI
void $setWYSIWYGState(::WYSIWYGState wysiwygState);
2096 MCAPI ::WYSIWYGState $getWYSIWYGState() const;
2098 MCAPI
void $setOtherConfigsExistInThisCategory(
bool otherConfigsExistInThisCategory);
2100 MCAPI
bool $getOtherConfigsExistInThisCategory() const;
2104 MCAPI
void $setupPersistentControls(::InputMode currentMode);
2106 MCAPI
void $resetPlayerMovement();
2108 MCAPI
void $suspendPredictedMovement();
2110 MCAPI
void $onClientInputInitComplete();
2116 MCAPI
int $getControllerId() const;
2118 MCAPI
bool $hasConnectedController() const;
2120 MCAPI ::SubClientId $getClientSubId() const;
2122 MCAPI
void $setSuspendInput(
bool suspendInput);
2124 MCAPI
void $setSuspendDirectionalInput(
bool suspendDirectionalInput);
2126 MCAPI
void $setDisableInput(
bool disableInput);
2128 MCAPI
void $grabMouse();
2130 MCAPI
void $releaseMouse();
2132 MCAPI
void $refocusMouse(
bool lostMouse);
2134 MCAPI
void $setMouseType(::ui::MousePointerType type);
2136 MCAPI
void $resetBai(
int baiFlags);
2138 MCAPI
void $clearInProgressBAI();
2140 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
SoundEngine> $getSoundEngine() const;
2144 MCAPI ::
MusicManager* $getMusicManagerNonConst() const;
2146 MCAPI
void $play(::
std::
string const& name, ::
Vec3 const& pos,
float volume,
float pitch);
2148 MCAPI
void $playUI(::
std::
string const& name,
float volume,
float pitch);
2150 MCAPI
void $muteAudio();
2152 MCAPI
void $unMuteAudio();
2154 MCAPI
void $fadeOutMusic() const;
2158 MCAPI
void $onFullVanillaPackOnStack();
2160 MCAPI
bool $isFullVanillaPackOnStack() const;
2162 MCAPI
void $onPlayerLoaded(::
Player& player);
2164 MCAPI
void $setClientGameMode(::GameType gameType);
2166 MCAPI
void $resetToDefaultGameMode();
2170 MCAPI
void $connectToThirdPartyServer(::
std::
string const& ipAddress,
int port);
2172 MCAPI
void $startExternalNetworkWorld(
2173 ::Social::GameConnectionInfo connection,
2174 ::
std::
string const& serverName,
2178 MCAPI
void $connectToExperience(
2181 ::
std::function<
void(::World::JoinServerWorldResult)> onErrorCallback
2184 MCAPI
bool $isReadyToReconnect() const;
2186 MCAPI
bool $checkForPiracy();
2190 MCAPI
void $updateControllerHandling();
2192 MCAPI
void $onPlayerDestruction(::
Player& player);
2194 MCAPI
void $setBehaviorCommandCallback(::
std::function<
void(::
std::
string const&, ::BehaviorStatus)> callback);
2196 MCAPI
void $setBehaviorCommandStatus(::
std::
string const& treeName, ::BehaviorStatus status);
2198 MCAPI
void $setConnectGamepadScreenActive(
bool active);
2200 MCAPI ::Bedrock::Threading::Async<::Core::PathBuffer<::
std::
string>>
2203 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
DevConsoleLogger> $getDevConsoleLogger() const;
2206 ::
std::
string const& imageUrl,
2207 ::
std::function<
void(::Bedrock::Http::Status, ::Core::
Path const&, uint64)> callback
2210 MCAPI
void $setActiveFileStorageArea(::
std::shared_ptr<::Core::FileStorageArea> storageArea);
2212 MCAPI
void $onExtendDiskSpace(
2214 ::
std::weak_ptr<::Core::FileStorageArea> const& storageAreaWeakPtr,
2216 ::
std::function<
void()> onHandledEventCallback
2219 MCAPI
void $onLowDiskSpace(
bool const bSet);
2221 MCAPI
void $onOutOfDiskSpace(
bool const bSet);
2223 MCAPI
void $onCriticalDiskError(
bool const bSet, ::Core::LevelStorageState const& errorCode);
2225 MCAPI
void $onLevelCorrupt();
2227 MCAPI
void $onGameModeChanged();
2229 MCAPI
void $onBeforeSimTick();
2231 MCAPI
void $onTick(
int nTick,
int maxTick);
2233 MCAPI
void $onInternetUpdate();
2235 MCAPI
void $onGameSessionReset();
2237 MCAPI
void $onLevelExit();
2239 MCFOLD
void $onRequestResourceReload();
2241 MCAPI
void $updateScreens();
2243 MCAPI
void $initializeRenderResources();
2245 MCAPI
void $postInitRenderResources();
2247 MCAPI
void $onAppSuspended();
2249 MCAPI
void $onAppSuspensionDisconnect();
2251 MCAPI
void $onAppResumed();
2253 MCAPI
void $onActiveResourcePacksChanged(
2257 MCAPI
void $reloadEntityRenderers(
2275 MCAPI ::
std::deque<::
std::
string>& $getSentMessageHistory();
2277 MCAPI ::
std::deque<::
std::
string>& $getDevConsoleMessageHistory();
2279 MCAPI ::Bedrock::NotNullNonOwnerPtr<::
ProfanityContext> $getProfanityContext() const;
2289 MCAPI
void $addTTSMessage(
2290 ::
std::
string const& message,
2291 ::ProfanityFilterContext profanityFilterContext,
2293 ::
std::
string const& interruptibleId,
2295 bool disregardAppFocus
2298 MCAPI
void $initCommands();
2300 MCAPI uint $getUserId() const;
2302 MCAPI
bool $isPrimaryUser() const;
2304 MCAPI
double $getServerConnectionTime() const;
2306 MCAPI
void $setServerPingTime(
int pingTime);
2308 MCAPI
int $getServerPingTime() const;
2310 MCAPI
void $setDefaultPlayscreenTab(::PlayScreenDefaultTab defaultTab);
2312 MCAPI
void $setClientInstanceState(::ClientInstanceState const& newstate);
2314 MCAPI
void $setUIEventCoordinator(::Bedrock::UniqueOwnerPointer<::
UIEventCoordinator>&& coordinator);
2324 MCAPI ::
std::chrono::steady_clock::time_point $getNoBlockBreakUntil();
2326 MCAPI
void $setNoBlockBreakUntil(::
std::chrono::steady_clock::time_point timePoint);
2334 MCAPI
void $sendClientEnteredLevel();
2338 MCAPI
bool $isPlaying() const;
2340 MCFOLD ::ClientInstanceState $getClientInstanceState() const;
2344 MCAPI ::PlayerCapabilities::IClientController const& $getClientCapabilities() const;
2346 MCAPI ::cg::math::Rect<
float> $calculateViewPortModifiers(
2347 ::SubClientId const clientId,
2348 uint64 const clientCount,
2349 ::SplitScreenDirection const splitScreenConfiguration
2356 MCFOLD ::Bedrock::NotNullNonOwnerPtr<::
FogDefinitionRegistry const> $getFogDefinitionRegistry() const;
2360 MCFOLD ::Bedrock::NotNullNonOwnerPtr<::
FogManager const> $getFogManager() const;
2362 MCFOLD ::Bedrock::NotNullNonOwnerPtr<::
FogManager> $getFogManager();
2370 MCAPI
float $getRemoteServerTimeMs() const;
2372 MCAPI
void $setRemoteServerTimeMs(
float time);
2374 MCAPI
float $getRemoteServerNetworkTimeMs() const;
2376 MCAPI
void $setRemoteServerNetworkTimeMs(
float time);
2380 MCAPI ::Scripting::ScriptEngine* $getScriptingEngine();
2382 MCAPI ::Bedrock::NonOwnerPointer<::
WorldTransferAgent> const $getWorldTransferAgent() const;
2388 MCAPI
void $flagDisconnectionAndNotify(::Connection::DisconnectFailReason disconnectReason);
2392 MCAPI
void $disconnectSubClient(::Connection::DisconnectFailReason disconnectReason);
2394 MCAPI
void $setClientUpdateAndRenderThrottling(
bool enabled,
int threshold,
float scalar);
2396 MCAPI
bool $isClientUpdateAndRenderThrottlingEnabled() const;
2398 MCAPI
int $getClientUpdateAndRenderThrottlingThreshold() const;
2400 MCAPI
float $getClientUpdateAndRenderThrottlingScalar() const;
2402 MCAPI
bool $isUserBanned() const;
2404 MCAPI
bool $isEligibleForPauseFeature() const;
2406 MCAPI
void $setupPauseManagers();
2408 MCAPI
bool $requestInGamePause(
bool status);
2410 MCAPI
void $openContentLogHistory();
2412 MCAPI
double $getGameUpdateDurationInSeconds() const;
Definition AbstractScene.h:5
Definition ActorAnimationGroup.h:26
Definition ActorBlockRenderer.h:5
Definition ActorRenderDispatcher.h:5
Definition ClipboardCopy.h:16
Definition ClipboardPasteRequest.h:10
Definition AutomationClient.h:26
Definition BlockActorRenderDispatcher.h:5
Definition BlockCullingGroup.h:5
Definition BlockSource.h:68
Definition BlockTessellator.h:5
Definition BuildActionIntention.h:5
Definition CachedScenes.h:5
Definition ClientHitDetectCoordinator.h:13
Definition ClientInstanceEventCoordinator.h:16
Definition ClientInstance.h:5
static MCAPI void ** $vftableForIClientInstance()
static MCAPI void ** $vftableForPlayerListener()
static MCAPI void ** $vftableForStorageAreaStateListener()
static MCAPI void ** $vftableForGameCallbacks()
Definition ClientNetworkEventCoordinator.h:13
Definition ClientNetworkSystem.h:39
Definition ClientScriptEventCoordinator.h:13
Definition ClipboardProxy.h:6
Definition FileStorageArea.h:32
Definition StorageAreaStateListener.h:16
Definition DateManager.h:14
Definition EDUSystems.h:25
Definition IEditorManager.h:25
Definition IEditorPlayer.h:16
Definition EntityContext.h:16
Definition EntitySystems.h:25
Definition FontHandle.h:5
Definition GameCallbacks.h:5
Definition GameModuleClient.h:5
Definition GameRenderer.h:5
Definition GeometryGroup.h:5
Definition HitDetectSystem.h:5
Definition HitResult.h:17
Definition IClientInstance.h:5
Definition IClientInstances.h:5
Definition IConnectionEventing.h:10
Definition IContentKeyProvider.h:13
Definition IMinecraftEventing.h:137
Definition IMinecraftGame.h:5
Definition IResourcePackRepository.h:34
Definition ISceneStack.h:5
Definition IUIRepository.h:5
Definition ItemInHandRenderer.h:5
Definition ItemRegistryRef.h:36
Definition ItemRenderer.h:5
Definition KeyboardManager.h:5
Definition LegacyClientNetworkHandler.h:5
Definition LegacyMultiplayerToken.h:14
Definition LevelRendererCameraProxy.h:5
Definition LevelRenderer.h:5
Definition LightTexture.h:5
Definition LinkedAssetValidator.h:8
Definition LocalPlayer.h:5
Definition MatrixStack.h:10
Definition MinecraftGraphics.h:5
Definition Minecraft.h:60
Definition MobEffectsLayout.h:5
Definition MultiPlayerLevel.h:5
Definition ITelemetry.h:7
Definition SceneProvider.h:7
Definition UIBlockThumbnailAtlasManager.h:7
Definition PackManifestFactory.h:20
Definition PacketSender.h:17
Definition PlayerListener.h:10
Definition ProgressHandler.h:5
Definition ResourcePackManager.h:29
Definition SceneFactory.h:5
Definition ScreenContext.h:5
Definition ScreenLoadTimeTracker.h:5
Definition ScriptEngine.h:21
Definition ShaderColor.h:5
Definition GameConnectionInfo.h:21
Definition IUserManager.h:34
Definition TaskGroup.h:53
Definition ToastManager.h:5
Definition UIEventCoordinator.h:13
Definition WeakEntityRef.h:14
Definition WorldSystem.h:7
Definition TextureGroup.h:7
Definition ScreenTechStackSelector.h:7
Definition ActorResourceDefinitionGroup.h:5
Definition ActorUniqueID.h:5
Definition CameraRegistry.h:5
Definition ClientInstanceArguments.h:5
Definition ClientInstanceInitArguments.h:5
Definition ClientInstance.h:16
MCAPI ~ClientDestroyBlockState()
Definition ClientInstance.h:14
Definition ClientRequirementVerifier.h:5
Definition ClientScriptManager.h:5
Definition DeferredLighting.h:5
Definition DevConsoleLogger.h:5
Definition DisconnectionErrorDetails.h:5
Definition DisconnectionRequestHandler.h:5
Definition DisconnectionScreenParams.h:9
Definition ExperienceConnectionData.h:5
Definition FileDataRequest.h:5
Definition FogDefinitionRegistry.h:5
Definition FogManager.h:5
Definition FrameUpdateContext.h:5
Definition GuidedFlowManager.h:5
Definition HudIconActorRenderer.h:5
Definition IGameConnectionListener.h:5
Definition ISettingsRegistry.h:5
Definition ITTSEventManager.h:5
Definition LatencyGraphDisplay.h:5
Definition ListenerState.h:5
Definition LocalPlayerChangedConnector.h:5
Definition MusicManager.h:5
Definition PacksInfoData.h:14
Definition PersonaRepository.h:5
Definition PlayerAuthentication.h:5
Definition IClientController.h:7
Definition PlayerJoinWorldTelemetryInfo.h:5
Definition PlayerReportHandler.h:5
Definition ProfanityContext.h:5
Definition RawGameServerToken.h:8
Definition ScreenshotOptions.h:9
Definition SkinRepositoryClientInterface.h:5
Definition SkinRepository.h:5
Definition MultiplayerServiceManager.h:7
Definition SoundEngine.h:5
Definition SplitScreenInfo.h:5
Definition TextToSpeechClient.h:5
Definition TrialManager.h:5
Definition WorldTransferAgent.h:5
Definition ViewportInfo.h:7