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