Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
IClientInstance.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/game/ClientGameSetupResult.h"
7#include "mc/client/game/ClientInstanceState.h"
8#include "mc/client/game/ControlOptionType.h"
9#include "mc/client/gui/GameEventNotification.h"
10#include "mc/client/gui/SceneType.h"
11#include "mc/client/gui/StoreNavigationOrigin.h"
12#include "mc/client/gui/screens/controllers/InventoryTabIndex.h"
13#include "mc/client/gui/screens/controllers/MarketplacePassTabIndex.h"
14#include "mc/client/gui/screens/models/PlayScreenDefaultTab.h"
15#include "mc/client/options/SplitScreenDirection.h"
16#include "mc/client/social/MultiplayerServiceIdentifier.h"
17#include "mc/client/store/StoreErrorCodes.h"
18#include "mc/client/util/ClipboardProxy.h"
19#include "mc/common/SubClientId.h"
20#include "mc/deps/core/file/PathBuffer.h"
21#include "mc/deps/core/threading/Async.h"
22#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
23#include "mc/deps/core/utility/NonOwnerPointer.h"
24#include "mc/deps/core/utility/UniqueOwnerPointer.h"
25#include "mc/deps/core_graphics/math/Rect.h"
26#include "mc/deps/game_refs/OwnerPtr.h"
27#include "mc/deps/input/InputMode.h"
28#include "mc/deps/input/PointerType.h"
29#include "mc/deps/input/enums/WYSIWYGState.h"
30#include "mc/deps/renderer/MatrixStack.h"
31#include "mc/events/NetworkType.h"
32#include "mc/input/ClientPlayMode.h"
33#include "mc/network/connection/DisconnectFailReason.h"
34#include "mc/options/option_types/OptionID.h"
35#include "mc/platform/brstd/function_ref.h"
36#include "mc/util/ProfanityFilterContext.h"
37#include "mc/world/actor/bhave/BehaviorStatus.h"
38#include "mc/world/level/GameType.h"
39
40// auto generated forward declare list
41// clang-format off
42class AbstractScene;
43class Actor;
50class BlockSource;
53class CachedScenes;
54class CameraRegistry;
58class ClientLevel;
64class DateManager;
68class EduSystems;
69class EntityContext;
70class EntitySystems;
71class FileDataRequest;
73class FogManager;
74class FontHandle;
76class GameCallbacks;
79class GameRenderer;
80class GeometryGroup;
81class GuiData;
83class HitDetectSystem;
84class HitResult;
91class IMinecraftGame;
92class IOptionRegistry;
95class ISceneStack;
97class IUIRepository;
99class ItemRegistryRef;
100class ItemRenderer;
101class KeyboardManager;
103class Level;
104class LevelRenderer;
106class LightTexture;
108class LocalPlayer;
109class MarketplaceServicesManager;
110class Minecraft;
113class MobEffectsLayout;
114class MusicManager;
115class Option;
116class OptionRegistry;
118class PacketSender;
119class PersonaClient;
121class PixelCalc;
122class Player;
125class ProfanityContext;
127class SceneFactory;
128class ScreenContext;
130class ShaderColor;
131class SkinRepository;
132class SoundEngine;
133class StoreCatalogItem;
134class StoreCatalogRepository;
135class TaskGroup;
137class ToastManager;
138class TrialManager;
140class Vec2;
141class Vec3;
142class WeakEntityRef;
144struct ActorUniqueID;
148struct ListenerState;
150struct PacksInfoData;
152struct ScreenshotOptions;
154struct SplitScreenInfo;
155namespace ApplicationSignal { class ClipboardCopy; }
156namespace ApplicationSignal { class ClipboardPasteRequest; }
157namespace Automation { class AutomationClient; }
158namespace Bedrock::Http { class Status; }
159namespace Core { class FileStorageArea; }
160namespace Core { class Path; }
161namespace Editor { class IEditorManager; }
162namespace Editor { class IEditorPlayer; }
163namespace OreUI { class ITelemetry; }
164namespace OreUI { class Router; }
165namespace OreUI { class SceneProvider; }
166namespace PlayerCapabilities { struct IClientController; }
167namespace Realms { struct World; }
168namespace Scripting { class ScriptEngine; }
169namespace Settings { class IRegistry; }
170namespace Social { class GameConnectionInfo; }
171namespace Social { class IUserManager; }
172namespace Social { class MultiplayerServiceManager; }
173namespace Social { class User; }
174namespace World { class WorldSystem; }
175namespace mce { class Camera; }
176namespace mce { class Texture; }
177namespace mce { class TextureGroup; }
178namespace mce { class TexturePtr; }
179namespace mce { struct ViewportInfo; }
180namespace ui { class ScreenTechStackSelector; }
181// clang-format on
182
184public:
185 // IClientInstance inner types declare
186 // clang-format off
187 class function;
188 // clang-format on
189
190 // IClientInstance inner types define
191 class function {};
192
193public:
194 // virtual functions
195 // NOLINTBEGIN
196 virtual ~IClientInstance() /*override*/ = default;
197
198 virtual void onInitMinecraftGame() = 0;
199
200 virtual void onDestroyMinecraftGame() = 0;
201
202 virtual void init(::ClientInstanceInitArguments&& args) = 0;
203
204 virtual void initSceneFactory(
205 ::std::unique_ptr<::SceneFactory> sceneFactory,
206 ::std::unique_ptr<::OreUI::SceneProvider> sceneProvider
207 ) = 0;
208
209 virtual void setUiRouter(::std::unique_ptr<::OreUI::Router> uiRouter) = 0;
210
211 virtual void initGraphics() = 0;
212
213 virtual void stop() = 0;
214
215 virtual void preShutDown() = 0;
216
217 virtual void setGameConnectionInfo(::Social::GameConnectionInfo const& gameConnection) = 0;
218
219 virtual ::std::optional<::Social::GameConnectionInfo> getGameConnectionInfo() = 0;
220
221 virtual void onStartJoinGame(
222 bool isLocalServer,
223 ::std::string const& multiplayerCorrelationId,
224 ::std::string const& serverName,
225 ::std::string const& worldName,
226 ::NetworkType networkType,
227 ::Social::MultiplayerServiceIdentifier service,
228 ::PlayerJoinWorldContext context
229 ) = 0;
230
231 virtual void onCancelJoinGame() = 0;
232
233 virtual void requestLeaveGameAsync() = 0;
234
235 virtual void requestLeaveGame(bool switchScreen, bool sync) = 0;
236
237 virtual void stopPlayScreen() = 0;
238
239 virtual bool isLeaveGameDone() const = 0;
240
241 virtual void setupPlayScreenForLeaveGame() = 0;
242
243 virtual void preCacheOutOfGameViews() = 0;
244
245 virtual void resetPrimaryClient() = 0;
246
247 virtual void resetGameSession() = 0;
248
249 virtual void tick() = 0;
250
251 virtual void frameUpdate(::FrameUpdateContext& frameUpdateContext) = 0;
252
253 virtual bool update(bool isInitFinished, bool allowGameUpdate) = 0;
254
255 virtual void preFrameTick() = 0;
256
257 virtual void endFrame() = 0;
258
259 virtual float getFrameAlpha() = 0;
260
261 virtual void startSubClientLateJoin(
262 bool hasXBLBroadcast,
263 ::std::unique_ptr<::GameModuleClient> gameModuleClient,
264 ::std::optional<::ConnectionContextInfo> primaryConnectionInfo
265 ) = 0;
266
267 virtual ::Bedrock::Threading::Async<::ClientGameSetupResult> setupClientGame(
268 bool joiningLocalServer,
269 ::ServerSupportedAuthenticationTypes supportedAuth,
270 ::std::unique_ptr<::GameModuleClient> gameModuleClient
271 ) = 0;
272
273 virtual ::BlockSource* getRegion() = 0;
274
275 virtual ::LocalPlayer* getLocalPlayer() const = 0;
276
277 virtual void setupPrimaryClientEditorManager() = 0;
278
279 virtual ::Bedrock::NonOwnerPointer<::Editor::IEditorPlayer> getLocalEditorPlayer() const = 0;
280
281 virtual ::Bedrock::NonOwnerPointer<::Editor::IEditorManager> getEditorManager() const = 0;
282
283 virtual bool isPlayerInEditor() const = 0;
284
285 virtual ::LocalPlayerChangedConnector getLocalPlayerChangedConnector() = 0;
286
287 virtual ::WeakEntityRef getLocalUser() const = 0;
288
289 virtual ::Actor* getCameraActor() const = 0;
290
291 virtual void setCameraActor(::Actor* cameraActor) = 0;
292
293 virtual ::ListenerState const* getListenerState() const = 0;
294
295 virtual ::Actor* getCameraTargetActor() const = 0;
296
297 virtual void setCameraTargetActor(::Actor* cameraTargetActor) = 0;
298
299 virtual ::WeakEntityRef getCameraEntity() const = 0;
300
301 virtual void getRawCameraEntities(::WeakEntityRef& cameraEntity, ::WeakEntityRef& cameraTargetEntity) const = 0;
302
303 virtual void setRawCameraEntities(::WeakEntityRef cameraEntity, ::WeakEntityRef cameraTargetEntity) = 0;
304
305 virtual ::HitResult const& getLatestHitResult() const = 0;
306
307 virtual bool isLeavingGame() const = 0;
308
309 virtual bool isDestroyingGame() const = 0;
310
311 virtual bool isShuttingDown() const = 0;
312
313 virtual bool useLowFrequencyUIRender() const = 0;
314
315 virtual bool isSplitScreenActive() const = 0;
316
317 virtual bool isExitingLevel() const = 0;
318
319 virtual bool isInBedScreen() const = 0;
320
321 virtual bool isInDeathScreen() const = 0;
322
323 virtual bool isKeyboardEnabled() const = 0;
324
325 virtual bool hasCommands() const = 0;
326
327 virtual int getSplitScreenCount() const = 0;
328
329 virtual bool isShowingLoadingScreen() const = 0;
330
331 virtual bool shouldDisconnectOnAppSuspended() const = 0;
332
333 virtual bool isGamePlayTipsEnabled() const = 0;
334
335 virtual bool isPlatformNX() const = 0;
336
337 virtual bool isLocalSplitscreenWith(::ActorUniqueID const& id) const = 0;
338
339 virtual bool isValidCrossPlatformSkin(bool valueIfNull) const = 0;
340
341 virtual bool isSelectedSkinInitialized() const = 0;
342
343 virtual ::SplitScreenInfo getSplitScreenInfo() const = 0;
344
345 virtual bool getHandlingControllerDisconnect() = 0;
346
347 virtual void setOpenControllerDisconnectScreen(bool open) = 0;
348
349 virtual ::ClientPlayMode getClientPlayMode() const = 0;
350
351 virtual void setClientPlayMode(::ClientPlayMode const& mode) = 0;
352
353 virtual ::std::function<void()> getCreditsCallback() = 0;
354
355 virtual void setCreditsCallback(::std::function<void()> callback) = 0;
356
357 virtual void setupTransitionForCredits(::std::function<void()> callback) = 0;
358
359 virtual void refreshScreenSizeData() = 0;
360
361 virtual void onScreenSizeChanged(int width, int height) = 0;
362
363 virtual void onGuiScaleOffsetChanged() = 0;
364
365 virtual void onSafeZoneChanged() = 0;
366
367 virtual bool hasDismissedNewPlayerFlow() const = 0;
368
369 virtual void quit(::std::string const& src, ::std::string const& reason) = 0;
370
371 virtual ::IMinecraftGame& getMinecraftGame_DEPRECATED() const = 0;
372
373 virtual ::IClientInstances& getClientInstances() const = 0;
374
375 virtual ::World::WorldSystem& getWorldSystem() const = 0;
376
377 virtual bool isWorldSystemReady() const = 0;
378
379 virtual ::Bedrock::NotNullNonOwnerPtr<::Automation::AutomationClient> getAutomationClient() const = 0;
380
381 virtual ::Bedrock::NonOwnerPointer<::EduSystems> getEduSystems() = 0;
382
383 virtual ::Bedrock::NonOwnerPointer<::EduSystems const> getEduSystems() const = 0;
384
385 virtual ::IMinecraftEventing& getEventing() const = 0;
386
387 virtual ::IConnectionEventing& getConnectionEventing() const = 0;
388
389 virtual ::FontHandle getFontHandle() const = 0;
390
391 virtual ::FontHandle getRuneFontHandle() const = 0;
392
393 virtual ::FontHandle getUnicodeFontHandle() const = 0;
394
395 virtual ::Bedrock::NotNullNonOwnerPtr<::GeometryGroup> getGeometryGroup() const = 0;
396
397 virtual ::Bedrock::NotNullNonOwnerPtr<::BlockCullingGroup> getBlockCullingGroup() const = 0;
398
399 virtual ::Bedrock::NotNullNonOwnerPtr<::Social::MultiplayerServiceManager> getMultiplayerServiceManager() const = 0;
400
401 virtual ::IResourcePackRepository& getResourcePackRepository() const = 0;
402
403 virtual ::ResourcePackManager& getResourcePackManager() const = 0;
404
405 virtual ::PackManifestFactory& getPackManifestFactory() = 0;
406
407 virtual ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> getKeyProvider() const = 0;
408
409 virtual ::PacksInfoData const& getHostSpecifiedPacks() const = 0;
410
411 virtual ::std::shared_ptr<::SkinRepository> getSkinRepository() const = 0;
412
413 virtual ::PersonaClient& getPersonaClient() const = 0;
414
415 virtual ::PersonaRepository& getPersonaRepository() const = 0;
416
417 virtual ::MarketplaceServicesManager& getMarketplaceServicesManager() const = 0;
418
419 virtual ::Bedrock::NotNullNonOwnerPtr<::StoreCatalogRepository> getStoreCatalogRepository() = 0;
420
421 virtual ::std::shared_ptr<::mce::TextureGroup> getTextureGroup() const = 0;
422
423 virtual ::Bedrock::NotNullNonOwnerPtr<::mce::TextureGroup> getStoreCacheTextures() const = 0;
424
425 virtual ::Bedrock::NotNullNonOwnerPtr<::MinecraftGraphics> getMinecraftGraphics() const = 0;
426
427 virtual ::Bedrock::NotNullNonOwnerPtr<::IUIRepository> getUIRepository() const = 0;
428
429 virtual ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> getUserManager() const = 0;
430
431 virtual ::Bedrock::NotNullNonOwnerPtr<::TrialManager> getTrialManager() const = 0;
432
433 virtual bool wantToQuit() const = 0;
434
435 virtual bool isPrimaryLevelCrossPlatformMultiplayer() const = 0;
436
437 virtual bool isPrimaryLevelMultiplayer() const = 0;
438
439 virtual bool isAdhocEnabled() const = 0;
440
441 virtual ::std::shared_ptr<::ActorAnimationGroup> getActorAnimationGroup() const = 0;
442
443 virtual bool isMarketplaceDisabled() const = 0;
444
445 virtual ::std::pair<::StoreErrorCodes, ::std::string> const getMarketplaceDisabledReasonWithErrorCode() const = 0;
446
447 virtual void linkToOffer(::std::string const& productId, bool allowWhileInGame) = 0;
448
449 virtual void linkToPage(::std::string const& pageId) = 0;
450
451 virtual void linkTo3PServerOffers(::std::string const& pageId, ::std::string const& creatorName) = 0;
452
453 virtual void navigateToMarketplaceInventoryScreen(::InventoryTabIndex tabIndex) = 0;
454
455 virtual void navigateToStoreHomeScreen() = 0;
456
457 virtual void navigateToCoinPurchaseScreen(int neededCoins, ::std::function<void(bool, int)> callback) = 0;
458
459 virtual void navigateToPurchaseOfferScreen(::StoreCatalogItem&, ::StoreNavigationOrigin) = 0;
460
461 virtual void navigateToDressingRoomOfferScreen(::std::string const& offerId) = 0;
462
463 virtual bool navigateToProfileScreen(::std::string const&, bool const) = 0;
464
465 virtual void navigateToServersScreen(bool const calledFromHyperlink) = 0;
466
467 virtual void navigateToHowToPlayScreen(::std::string const& startTopic) = 0;
468
469 virtual void navigateToMarketplacePassPDPScreen(::MarketplacePassTabIndex tabIndex) = 0;
470
471 virtual void navigateToRealmsStoriesTransitionScreen(::Realms::World const& world) = 0;
472
473 virtual void tryPushLeaveGameScreen() = 0;
474
475 virtual void tryStartDayOneExperience() = 0;
476
477 virtual bool isReadyToRender() const = 0;
478
479 virtual void onDimensionChangedEvent() = 0;
480
481 virtual void onGameEventNotification(::ui::GameEventNotification notification) = 0;
482
483 virtual ::std::string getTopScreenName() const = 0;
484
485 virtual void setLeaveGameInProgressAsReadyToContinue() = 0;
486
487 virtual void stopDestroying() = 0;
488
489 virtual void onClientCreatedLevel(
490 ::std::pair<::std::unique_ptr<::Level>, ::OwnerPtr<::EntityContext>> levelEntity,
491 ::OwnerPtr<::EntityContext> userEntity
492 ) = 0;
493
494 virtual ::PlayerAuthentication& getPlayerAuthentication() = 0;
495
496 virtual void createPlayerAuthentication() = 0;
497
498 virtual void createPlayerAuthentication(uint64 clientRandomId) = 0;
499
500 virtual ::std::string getPlatformId() const = 0;
501
502 virtual ::std::string getPlatformOnlineId() const = 0;
503
504 virtual bool useController() const = 0;
505
506 virtual bool useTouchscreen() const = 0;
507
508 virtual bool getMouseGrabbed() const = 0;
509
510 virtual bool currentInputModeIsMouseAndKeyboard() const = 0;
511
512 virtual bool allowPicking() const = 0;
513
514 virtual bool isShowingMenu() const = 0;
515
516 virtual bool isShowingPauseScreen() const = 0;
517
518 virtual bool isShowingProgressScreen() const = 0;
519
520 virtual bool isShowingWorldProgressScreen() const = 0;
521
522 virtual bool isShowingRealmsProgressScreen() const = 0;
523
524 virtual bool isShowingDeathScreen() const = 0;
525
526 virtual bool isShowingServerForm() const = 0;
527
528 virtual bool isScreenReplaceable() const = 0;
529
530 virtual bool isInWorldAndNotShowingAnyMenuScreens() const = 0;
531
532 virtual bool isWorldActive() const = 0;
533
534 virtual bool isInRealm() = 0;
535
536 virtual bool readyForShutdown() const = 0;
537
538 virtual bool isPrimaryClient() const = 0;
539
540 virtual bool isEduMode() const = 0;
541
542 virtual bool isGamepadCursorEnabled() const = 0;
543
544 virtual bool isInControlCustomization() const = 0;
545
546 virtual ::Bedrock::NotNullNonOwnerPtr<::Minecraft> getServerData() = 0;
547
548 virtual ::Bedrock::NotNullNonOwnerPtr<::Minecraft const> getServerData() const = 0;
549
550 virtual ::ClientLevel* getLevel() = 0;
551
552 virtual ::ClientLevel const* getLevel() const = 0;
553
554 virtual bool hasLevel() const = 0;
555
556 virtual bool isPreGame() const = 0;
557
558 virtual bool isInMultiplayerGame() const = 0;
559
560 virtual bool isMultiPlayerClient() const = 0;
561
562 virtual ::IOptionRegistry& getOptions() = 0;
563
564 virtual ::IOptionRegistry const& getOptions() const = 0;
565
566 virtual ::IReadWriteOptions const& getReadWriteOptions() const = 0;
567
568 virtual ::std::shared_ptr<::OptionRegistry> getOptionsPtr() = 0;
569
570 virtual ::std::shared_ptr<::OptionRegistry const> const getOptionsPtr() const = 0;
571
572 virtual ::std::shared_ptr<::Social::User> const& getUser() const = 0;
573
574 virtual ::std::shared_ptr<::Settings::IRegistry> getSettingsRegistry() = 0;
575
576 virtual ::Option const& getShowLearningPromptsOption() const = 0;
577
578 virtual ::Option& getShowControlTipsOption() = 0;
579
580 virtual ::Option& getShowControlTipsOverrideOption() = 0;
581
582 virtual double getControlTipsTimeElapsed() const = 0;
583
584 virtual void setControlTipsTimeElapsedStart() = 0;
585
586 virtual ::GameRenderer& getGameRenderer() const = 0;
587
588 virtual ::LevelRenderer* getLevelRenderer() const = 0;
589
590 virtual ::LevelRendererCameraProxy* getLevelRendererCameraProxy() const = 0;
591
592 virtual ::Bedrock::NonOwnerPointer<::CameraRegistry> getCameraRegistry() = 0;
593
594 virtual ::Bedrock::NonOwnerPointer<::CameraRegistry const> getCameraRegistry() const = 0;
595
596 virtual ::Bedrock::NonOwnerPointer<::EntitySystems> getCameraSystems() = 0;
597
598 virtual ::LightTexture* getLightTexture() = 0;
599
600 virtual void setupLevelRendering(::ClientLevel& level, ::WeakEntityRef cameraTargetEntity) = 0;
601
602 virtual ::mce::ViewportInfo const& getViewportInfo() const = 0;
603
604 virtual void setViewportInfo(::mce::ViewportInfo const& viewportInfo) = 0;
605
606 virtual ::Vec2 getNormalizedViewportSize() const = 0;
607
608 virtual void updateChunkRadius() = 0;
609
610 virtual void setUITexture(::mce::Texture* tex) = 0;
611
612 virtual ::mce::Texture* getUITexture() = 0;
613
614 virtual void setLevelTexture(::mce::Texture* tex) = 0;
615
616 virtual ::mce::Texture* getLevelTexture() = 0;
617
618 virtual void setUICursorTexture(::mce::TexturePtr tex) = 0;
619
620 virtual ::mce::TexturePtr getUICursorTexture() const = 0;
621
622 virtual ::mce::Camera& getCamera() = 0;
623
624 virtual ::ShaderColor& getShaderColor() = 0;
625
626 virtual ::ShaderColor& getDarkShaderColor() = 0;
627
628 virtual void clearGraphicsCache() = 0;
629
630 virtual void getNormalizedUICursorTransform(::MatrixStack::MatrixStackRef& matrix, float cursorHalfSizeTexels) = 0;
631
632 virtual bool shouldRenderUICursor() const = 0;
633
634 virtual bool getRenderPlayerModel() const = 0;
635
636 virtual ::DeferredLighting& getDeferredLighting() = 0;
637
638 virtual float getGuiScale() const = 0;
639
640 virtual ::Option const& getGuiScaleOption() const = 0;
641
642 virtual int getGuiScaleOffset() const = 0;
643
644 virtual void setGuiScaleOffset(int guiScale) = 0;
645
646 virtual void renderImGui(::ScreenContext& screenContext, bool drawMenuBar) = 0;
647
648 virtual ::Bedrock::NotNullNonOwnerPtr<::GuiData> getGuiData() = 0;
649
650 virtual ::Bedrock::NotNullNonOwnerPtr<::GuiData const> getGuiData() const = 0;
651
652 virtual ::GuidedFlowManager& getGuidedFlowManager() = 0;
653
654 virtual ::PixelCalc const& getDpadScale() const = 0;
655
656 virtual ::Bedrock::NotNullNonOwnerPtr<::DateManager const> getDateManager() const = 0;
657
658 virtual void addOverrideHoursToDateTime(uint const hoursToAdd) = 0;
659
660 virtual ::ToastManager& getToastManager() = 0;
661
662 virtual ::ClipboardProxy<::ApplicationSignal::ClipboardCopy, ::ApplicationSignal::ClipboardPasteRequest>&
663 getClipboardManager() = 0;
664
665 virtual ::AbstractScene* getTopScene() = 0;
666
667 virtual ::AbstractScene const* getTopScene() const = 0;
668
669 virtual ::AbstractScene* getActiveScene() = 0;
670
671 virtual ::AbstractScene const* getActiveScene() const = 0;
672
673 virtual ::SceneFactory& getSceneFactory() const = 0;
674
675 virtual ::OreUI::SceneProvider& getSceneProvider() const = 0;
676
677 virtual ::ui::ScreenTechStackSelector& getScreenTechStackSelector() = 0;
678
679 virtual ::Bedrock::NotNullNonOwnerPtr<::ISceneStack const> getClientSceneStack() const = 0;
680
681 virtual ::Bedrock::NotNullNonOwnerPtr<::ISceneStack> getClientSceneStack() = 0;
682
683 virtual ::OreUI::Router& getClientUIRouter() const = 0;
684
685 virtual ::ISceneStack& getMainSceneStackInterface() = 0;
686
687 virtual ::Bedrock::NotNullNonOwnerPtr<::ISceneStack> getMainSceneStack() = 0;
688
689 virtual ::Bedrock::NotNullNonOwnerPtr<::ISceneStack const> getMainSceneStack() const = 0;
690
691 virtual ::Bedrock::NotNullNonOwnerPtr<::ISceneStack const> getCurrentSceneStack() const = 0;
692
693 virtual ::Bedrock::NotNullNonOwnerPtr<::ISceneStack> getCurrentSceneStack() = 0;
694
695 virtual ::OreUI::Router& getCurrentUIRouter() = 0;
696
697 virtual ::OreUI::Router const& getCurrentUIRouter() const = 0;
698
699 virtual ::OreUI::ITelemetry& getOreUITelemetry() = 0;
700
701 virtual ::Bedrock::NotNullNonOwnerPtr<::ISceneStack> prepareSceneFor(
702 ::ui::SceneType const sceneTypeToFind,
703 ::std::function<::std::shared_ptr<::AbstractScene>()> createScreenCallback
704 ) = 0;
705
706 virtual ::CachedScenes& getCachedScenes() = 0;
707
708 virtual ::std::string getScreenName() const = 0;
709
710 virtual ::std::string getScreenTelemetry() const = 0;
711
712 virtual ::ui::SceneType getTopSceneType() const = 0;
713
714 virtual ::MobEffectsLayout& getMobEffectsLayout() = 0;
715
716 virtual ::std::string emoticonifyText(::std::string const& text) const = 0;
717
718 virtual ::std::string emoticonifyText(::std::string const& text, bool isGameTip) = 0;
719
720 virtual void onMobEffectsChange() = 0;
721
722 virtual void setUISize(int w, int h) = 0;
723
724 virtual void forEachVisibleScreen(::brstd::function_ref<void(::AbstractScene&)> callback) = 0;
725
726 virtual void forEachScreen(::brstd::function_ref<bool(::AbstractScene&)> callback, bool topDown) = 0;
727
728 virtual void
729 forEachScreenConst(::brstd::function_ref<bool(::AbstractScene const&)> callback, bool topDown) const = 0;
730
731 virtual bool updateSceneStack() = 0;
732
733 virtual void forEachAlwaysAcceptInputScreen(
734 ::std::function<void(::AbstractScene&)> callback,
735 ::AbstractScene const* ignoreScreen
736 ) = 0;
737
738 virtual void forEachAlwaysAcceptInputScreenWithTop(::std::function<void(::AbstractScene&)> callback) = 0;
739
740 virtual void showPlayerProfile(::std::string const& xuid, ::std::string const& platformId) = 0;
741
742 virtual bool isInGameInputEnabled() const = 0;
743
744 virtual void setInGameInputEnabled(bool isEnabled) = 0;
745
746 virtual ::Vec2 getSafeZoneScale() const = 0;
747
748 virtual void verifySkinApproval(
749 ::std::function<void(::std::string)> const& notApprovedCallback,
750 ::std::function<void()> const& approvedCallback
751 ) const = 0;
752
753 virtual ::InputMode getCurrentInputMode() const = 0;
754
755 virtual bool isTouchGameplayAllowed() const = 0;
756
757 virtual ::Bedrock::NonOwnerPointer<::MinecraftInputHandler> getMinecraftInput() const = 0;
758
759 virtual ::KeyboardManager& getKeyboardManager() = 0;
760
761 virtual void setLastPointerLocation(float x, float y, float z) = 0;
762
763 virtual ::Vec3 getLastPointerLocation() = 0;
764
765 virtual void clearTouchPointerLocations() = 0;
766
767 virtual void clearTouchPointerLocation(int id) = 0;
768
769 virtual void updateControlOptionState(uint id, bool active) = 0;
770
771 virtual void clearActiveControlOptions() = 0;
772
773 virtual ::std::set<uint> const& getActiveControlOptions() const = 0;
774
775 virtual ::std::vector<::OptionID> getActiveOptionIDs(::ControlOptionType controlOptionType) const = 0;
776
777 virtual void setNumberOfActiveConfigs(int numberOfActiveConfigs) = 0;
778
779 virtual int getNumberOfActiveConfigs() const = 0;
780
781 virtual bool isNoConfigSelected() const = 0;
782
783 virtual void setNumberOfEnabledConfigs(int numberOfEnabledConfigs) = 0;
784
785 virtual int getNumberOfEnabledConfigs() const = 0;
786
787 virtual void setWYSIWYGState(::WYSIWYGState wysiwygState) = 0;
788
789 virtual ::WYSIWYGState getWYSIWYGState() const = 0;
790
791 virtual void setOtherConfigsExistInThisCategory(bool otherConfigsExistInThisCategory) = 0;
792
793 virtual bool getOtherConfigsExistInThisCategory() const = 0;
794
795 virtual void updateTouchPointerLocation(int id, float x, float y) = 0;
796
797 virtual ::Vec2 getTouchPointerLocation(int id) const = 0;
798
799 virtual void updateActionPointerId(int id) = 0;
800
801 virtual int getActionPointerId() const = 0;
802
803 virtual bool shouldUseLastPointerLocationOnFocusChange() = 0;
804
805 virtual bool currentScreenShouldStealMouse() = 0;
806
807 virtual ::BuildActionIntention& getInProgressBAI() const = 0;
808
809 virtual ::PacketSender& getPacketSender() = 0;
810
811 virtual ::ClientNetworkSystem& getClientNetworkSystem() = 0;
812
813 virtual ::ClientNetworkSystem const& getClientNetworkSystem() const = 0;
814
815 virtual void setMoveTurnInput(::std::unique_ptr<::ClientMoveInputHandler> pClientMoveInputHandler) = 0;
816
817 virtual void setupPersistentControls(::InputMode currentMode) = 0;
818
819 virtual void resetPlayerMovement() = 0;
820
821 virtual void onClientInputInitComplete() = 0;
822
823 virtual ::glm::vec2 getGamepadCursorPosition() const = 0;
824
825 virtual void setClientInputHandler(::std::unique_ptr<::ClientInputHandler> pClientInputHandler) = 0;
826
827 virtual ::ClientInputHandler* getInput() const = 0;
828
829 virtual int getControllerId() const = 0;
830
831 virtual bool hasConnectedController() const = 0;
832
833 virtual ::SubClientId getClientSubId() const = 0;
834
835 virtual void setSuspendInput(bool suspendInput) = 0;
836
837 virtual void setSuspendDirectionalInput(bool suspendDirectionalInput) = 0;
838
839 virtual void setDisableInput(bool disableInput) = 0;
840
841 virtual void grabMouse() = 0;
842
843 virtual void releaseMouse() = 0;
844
845 virtual void refocusMouse(bool lostMouse) = 0;
846
847 virtual void setMouseType(::Bedrock::Input::PointerType type) = 0;
848
849 virtual void resetBai(int baiFlags) = 0;
850
851 virtual void clearInProgressBAI() = 0;
852
853 virtual ::Bedrock::NotNullNonOwnerPtr<::SoundEngine> getSoundEngine() const = 0;
854
855 virtual ::MusicManager const* getMusicManager() const = 0;
856
857 virtual ::MusicManager* getMusicManagerNonConst() const = 0;
858
859 virtual void play(::std::string const& name, ::Vec3 const& pos, float volume, float pitch) = 0;
860
861 virtual void playUI(::std::string const& name, float volume, float pitch) = 0;
862
863 virtual void muteAudio() = 0;
864
865 virtual void unMuteAudio() = 0;
866
867 virtual void fadeOutMusic() const = 0;
868
869 virtual ::TaskGroup& getTaskGroup() = 0;
870
871 virtual void onFullVanillaPackOnStack() = 0;
872
873 virtual bool isFullVanillaPackOnStack() const = 0;
874
875 virtual void onPlayerLoaded(::Player& player) = 0;
876
877 virtual void setClientGameMode(::GameType gameType) = 0;
878
879 virtual void resetToDefaultGameMode() = 0;
880
881 virtual ::IGameConnectionListener& getGameConnectionListener() = 0;
882
883 virtual void connectToThirdPartyServer(::std::string const& ipAddress, int port) = 0;
884
885 virtual void startExternalNetworkWorld(
886 ::Social::GameConnectionInfo connection,
887 ::std::string const& serverName,
888 ::PlayerJoinWorldContext context
889 ) = 0;
890
891 virtual bool isReadyToReconnect() const = 0;
892
893 virtual bool checkForPiracy() = 0;
894
895 virtual void updateChatFilterStatus(::ProfanityContext& profanityContext) = 0;
896
897 virtual void updateControllerHandling() = 0;
898
899 virtual void setBehaviorCommandCallback(::std::function<void(::std::string const&, ::BehaviorStatus)> callback) = 0;
900
901 virtual void setBehaviorCommandStatus(::std::string const& treeName, ::BehaviorStatus status) = 0;
902
903 virtual void setConnectGamepadScreenActive(bool active) = 0;
904
905 virtual ::Bedrock::Threading::Async<::Core::PathBuffer<::std::string>>
906 requestScreenshot(::ScreenshotOptions& screenshotOptions) = 0;
907
908 virtual ::Bedrock::NotNullNonOwnerPtr<::DevConsoleLogger> getDevConsoleLogger() const = 0;
909
910 virtual ::std::shared_ptr<::FileDataRequest> requestImageFromUrl(
911 ::std::string const& imageUrl,
912 ::std::function<void(::Bedrock::Http::Status, ::Core::Path const&, uint64)> callback
913 ) = 0;
914
915 virtual void initializeRenderResources() = 0;
916
917 virtual void postInitRenderResources() = 0;
918
919 virtual void onAppSuspended() = 0;
920
921 virtual void onAppResumed() = 0;
922
923 virtual void onActiveResourcePacksChanged(
924 ::Bedrock::NotNullNonOwnerPtr<::ActorResourceDefinitionGroup> const& entityResourceDefGroup
925 ) = 0;
926
927 virtual void reloadEntityRenderers(
928 ::Bedrock::NotNullNonOwnerPtr<::ActorResourceDefinitionGroup> const& actorResourceDefinitionGroup
929 );
930
931 virtual ::BlockTessellator& getBlockTessellator() = 0;
932
933 virtual ::BlockActorRenderDispatcher& getBlockEntityRenderDispatcher() = 0;
934
935 virtual ::std::shared_ptr<::ActorRenderDispatcher> getEntityRenderDispatcher() = 0;
936
937 virtual ::ActorBlockRenderer& getEntityBlockRenderer() = 0;
938
939 virtual ::ItemInHandRenderer* getItemInHandRenderer() = 0;
940
941 virtual ::ItemRenderer* getItemRenderer() = 0;
942
943 virtual ::HudIconActorRenderer* getHudIconActorRenderer() = 0;
944
945 virtual ::std::deque<::std::string>& getSentMessageHistory() = 0;
946
947 virtual ::std::deque<::std::string>& getDevConsoleMessageHistory() = 0;
948
949 virtual ::Bedrock::NotNullNonOwnerPtr<::ProfanityContext> getProfanityContext() const = 0;
950
951 virtual void initTTSClient(::std::shared_ptr<::TextToSpeechClient> textToSpeechClient) = 0;
952
953 virtual ::std::shared_ptr<::TextToSpeechClient> getTTSClient() = 0;
954
955 virtual ::std::shared_ptr<::TextToSpeechClient const> getTTSClient() const = 0;
956
957 virtual ::std::shared_ptr<::ITTSEventManager> getTTSEventManager() = 0;
958
959 virtual void addTTSMessage(
960 ::std::string const& message,
961 ::ProfanityFilterContext profanityFilterContext,
962 bool interruptible,
963 ::std::string const& interruptibleId,
964 bool required,
965 bool disregardAppFocus
966 ) = 0;
967
968 virtual void initCommands() = 0;
969
970 virtual uint getUserId() const = 0;
971
972 virtual bool isPrimaryUser() const = 0;
973
974 virtual double getServerConnectionTime() const = 0;
975
976 virtual void setServerPingTime(::std::chrono::milliseconds pingTime) = 0;
977
978 virtual ::std::chrono::milliseconds getServerPingTime() const = 0;
979
980 virtual void setDefaultPlayscreenTab(::PlayScreenDefaultTab defaultTab) = 0;
981
982 virtual void setClientInstanceState(::ClientInstanceState const& newstate) = 0;
983
984 virtual void setUIEventCoordinator(::Bedrock::UniqueOwnerPointer<::UIEventCoordinator>&& coordinator) = 0;
985
986 virtual ::Bedrock::NotNullNonOwnerPtr<::UIEventCoordinator> getUIEventCoordinator() = 0;
987
988 virtual ::Bedrock::NotNullNonOwnerPtr<::ClientInstanceEventCoordinator> getEventCoordinator() = 0;
989
990 virtual ::ClientNetworkEventCoordinator& getClientNetworkEventCoordinator() = 0;
991
992 virtual ::ClientScriptEventCoordinator& getClientScriptEventCoordinator() = 0;
993
994 virtual ::std::chrono::steady_clock::time_point getNoBlockBreakUntil() = 0;
995
996 virtual void setNoBlockBreakUntil(::std::chrono::steady_clock::time_point timePoint) = 0;
997
998 virtual ::GameModuleClient* getGameModule() = 0;
999
1000 virtual void setupStandardCommands() = 0;
1001
1002 virtual ::ClientHitDetectCoordinator& getHitEventCoordinator() = 0;
1003
1004 virtual ::GameCallbacks& getGameCallbacks() = 0;
1005
1006 virtual void setActiveFileStorageArea(::std::shared_ptr<::Core::FileStorageArea> storageArea) = 0;
1007
1008 virtual void sendClientEnteredLevel() = 0;
1009
1010 virtual ::HitDetectSystem* getHitDetectSystem() = 0;
1011
1012 virtual bool isPlaying() const = 0;
1013
1014 virtual ::ClientInstanceState getClientInstanceState() const = 0;
1015
1016 virtual ::LatencyGraphDisplay* getLatencyGraphDisplay() const = 0;
1017
1018 virtual ::PlayerCapabilities::IClientController const& getClientCapabilities() const = 0;
1019
1020 virtual ::cg::math::Rect<float> calculateViewPortModifiers(
1021 ::SubClientId const clientId,
1022 uint64 const clientCount,
1023 ::SplitScreenDirection const splitScreenConfiguration
1024 ) const = 0;
1025
1026 virtual ::std::weak_ptr<::IClientInstance> getWeakPtrToThis() = 0;
1027
1028 virtual ::ClientRequirementVerifier const& getClientRequirementVerifier() const = 0;
1029
1030 virtual ::Bedrock::NotNullNonOwnerPtr<::FogDefinitionRegistry const> getFogDefinitionRegistry() const = 0;
1031
1032 virtual ::Bedrock::NotNullNonOwnerPtr<::FogDefinitionRegistry> getFogDefinitionRegistry() = 0;
1033
1034 virtual ::Bedrock::NotNullNonOwnerPtr<::FogManager const> getFogManager() const = 0;
1035
1036 virtual ::Bedrock::NotNullNonOwnerPtr<::FogManager> getFogManager() = 0;
1037
1038 virtual ::Bedrock::NotNullNonOwnerPtr<::ScreenLoadTimeTracker> getScreenLoadTimeTracker() = 0;
1039
1040 virtual ::ItemRegistryRef getItemRegistry() const = 0;
1041
1042 virtual ::Bedrock::NotNullNonOwnerPtr<::DisconnectionRequestHandler> getDisconnectionRequestHandler() const = 0;
1043
1044 virtual float getRemoteServerTimeMs() const = 0;
1045
1046 virtual void setRemoteServerTimeMs(float time) = 0;
1047
1048 virtual float getRemoteServerNetworkTimeMs() const = 0;
1049
1050 virtual void setRemoteServerNetworkTimeMs(float time) = 0;
1051
1052 virtual ::Bedrock::NonOwnerPointer<::GameClientScriptManager> getGameClientScriptManager() = 0;
1053
1054 virtual ::Scripting::ScriptEngine* getScriptingEngine() = 0;
1055
1056 virtual ::Bedrock::NonOwnerPointer<::WorldTransferAgent> const getWorldTransferAgent() const = 0;
1057
1058 virtual ::Bedrock::NotNullNonOwnerPtr<::PlayerReportHandler> getPlayerReportHandler() = 0;
1059
1060 virtual void flagDisconnectionAndNotify(::Connection::DisconnectFailReason disconnectReason) = 0;
1061
1062 virtual void flagDisconnectionAndNotifyWithParams(::DisconnectionScreenParams const& params) = 0;
1063
1064 virtual void disconnectSubClient(::Connection::DisconnectFailReason disconnectReason) = 0;
1065
1066 virtual void setClientUpdateAndRenderThrottling(bool enabled, int threshold, float scalar) = 0;
1067
1068 virtual bool isClientUpdateAndRenderThrottlingEnabled() const = 0;
1069
1070 virtual int getClientUpdateAndRenderThrottlingThreshold() const = 0;
1071
1072 virtual float getClientUpdateAndRenderThrottlingScalar() const = 0;
1073
1074 virtual bool isUserBanned() const = 0;
1075
1076 virtual void setupPauseManagers() = 0;
1077
1078 virtual bool isEligibleForPauseFeature() const = 0;
1079
1080 virtual bool requestInGamePause(bool status) = 0;
1081
1082 virtual void openContentLogHistory() = 0;
1083
1084 virtual double getGameUpdateDurationInSeconds() const = 0;
1085
1086 virtual ::std::optional<::ConnectionContextInfo> getConnectionContextInfo() const = 0;
1087
1088 virtual ::Bedrock::NonOwnerPointer<::LinkedAssetValidator> getLinkedAssetValidator() = 0;
1089 // NOLINTEND
1090
1091public:
1092 // virtual function thunks
1093 // NOLINTBEGIN
1095 ::Bedrock::NotNullNonOwnerPtr<::ActorResourceDefinitionGroup> const& actorResourceDefinitionGroup
1096 );
1097 // NOLINTEND
1098};
Definition AbstractScene.h:5
Definition ActorAnimationGroup.h:22
Definition ActorBlockRenderer.h:5
Definition ActorRenderDispatcher.h:5
Definition ActorResourceDefinitionGroup.h:5
Definition Actor.h:116
Definition ClipboardCopy.h:7
Definition ClipboardPasteRequest.h:7
Definition AutomationClient.h:26
Definition EnableNonOwnerReferences.h:7
Definition Status.h:7
Definition BlockActorRenderDispatcher.h:5
Definition BlockCullingGroup.h:5
Definition BlockSource.h:72
Definition BlockTessellator.h:5
Definition BuildActionIntention.h:5
Definition CachedScenes.h:5
Definition CameraRegistry.h:5
Definition ClientHitDetectCoordinator.h:5
Definition ClientInputHandler.h:5
Definition ClientInstanceEventCoordinator.h:16
Definition ClientLevel.h:5
Definition ClientMoveInputHandler.h:5
Definition ClientNetworkEventCoordinator.h:5
Definition ClientNetworkSystem.h:46
Definition ClientRequirementVerifier.h:5
Definition ClientScriptEventCoordinator.h:5
Definition FileStorageArea.h:30
Definition Path.h:10
Definition DateManager.h:14
Definition DeferredLighting.h:5
Definition DevConsoleLogger.h:5
Definition DisconnectionRequestHandler.h:5
Definition IEditorManager.h:25
Definition IEditorPlayer.h:17
Definition EDUSystems.h:25
Definition EntityContext.h:15
Definition EntitySystems.h:26
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 GameClientScriptManager.h:5
Definition GameModuleClient.h:5
Definition GameRenderer.h:5
Definition GeometryGroup.h:5
Definition GuiData.h:5
Definition GuidedFlowManager.h:5
Definition HitDetectSystem.h:5
Definition HitResult.h:18
Definition HudIconActorRenderer.h:5
Definition IClientInstance.h:13
Definition IClientInstance.h:5
MCAPI void $reloadEntityRenderers(::Bedrock::NotNullNonOwnerPtr<::ActorResourceDefinitionGroup > const &actorResourceDefinitionGroup)
Definition IClientInstances.h:5
Definition IConnectionEventing.h:10
Definition IContentKeyProvider.h:13
Definition IGameConnectionListener.h:5
Definition IMinecraftEventing.h:152
Definition IMinecraftGame.h:5
Definition IOptionRegistry.h:5
Definition IReadWriteOptions.h:5
Definition IResourcePackRepository.h:36
Definition ISceneStack.h:5
Definition ITTSEventManager.h:5
Definition IUIRepository.h:5
Definition ItemInHandRenderer.h:5
Definition ItemRegistryRef.h:36
Definition ItemRenderer.h:5
Definition KeyboardManager.h:5
Definition LatencyGraphDisplay.h:5
Definition LevelRendererCameraProxy.h:5
Definition LevelRenderer.h:5
Definition Level.h:255
Definition LightTexture.h:5
Definition LinkedAssetValidator.h:9
Definition LocalPlayer.h:5
Definition MinecraftGraphics.h:5
Definition MinecraftInputHandler.h:5
Definition Minecraft.h:59
Definition MobEffectsLayout.h:5
Definition MusicManager.h:5
Definition OptionRegistry.h:5
Definition Option.h:22
Definition ITelemetry.h:7
Definition Router.h:7
Definition SceneProvider.h:7
Definition PackManifestFactory.h:21
Definition PacketSender.h:17
Definition PersonaClient.h:5
Definition PersonaRepository.h:5
Definition PixelCalc.h:5
Definition PlayerAuthentication.h:5
Definition PlayerReportHandler.h:5
Definition Player.h:131
Definition ProfanityContext.h:5
Definition ResourcePackManager.h:29
Definition SceneFactory.h:5
Definition ScreenContext.h:5
Definition ScreenLoadTimeTracker.h:5
Definition ScriptEngine.h:21
Definition IRegistry.h:7
Definition ShaderColor.h:5
Definition SkinRepository.h:5
Definition GameConnectionInfo.h:24
Definition IUserManager.h:7
Definition MultiplayerServiceManager.h:7
Definition User.h:7
Definition SoundEngine.h:5
Definition TaskGroup.h:85
Definition TextToSpeechClient.h:5
Definition ToastManager.h:5
Definition TrialManager.h:5
Definition UIEventCoordinator.h:5
Definition Vec2.h:5
Definition Vec3.h:10
Definition WeakEntityRef.h:14
Definition WorldTransferAgent.h:5
Definition WorldSystem.h:7
Definition Camera.h:7
Definition TextureGroup.h:7
Definition TexturePtr.h:7
Definition Texture.h:7
Definition ScreenTechStackSelector.h:7
Definition ActorUniqueID.h:5
Definition ClientInstanceInitArguments.h:5
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 World.h:7
Definition ScreenshotOptions.h:5
Definition ServerSupportedAuthenticationTypes.h:5
Definition SplitScreenInfo.h:5
Definition ViewportInfo.h:7