LeviLamina
Loading...
Searching...
No Matches
IBuilderContext.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/game/MinecraftGameFeatures.h"
7#include "mc/client/gui/SettingsModalType.h"
8#include "mc/client/gui/SettingsTabIndex.h"
9#include "mc/deps/core/utility/NonOwnerPointer.h"
10#include "mc/deps/input/InputBindingMode.h"
11#include "mc/deps/input/InputMode.h"
12#include "mc/deps/input/enums/ButtonState.h"
13#include "mc/deps/input/enums/RawInputType.h"
14#include "mc/options/FeatureOptionID.h"
15#include "mc/options/GraphicsMode.h"
16
17// auto generated forward declare list
18// clang-format off
21class IOptions;
24class LocalPlayer;
26class PacketSender;
28class SoundOptions;
29class TrialManager;
32namespace Bedrock::PubSub { class Subscription; }
33namespace Settings { class Eventing; }
34namespace Social { class IGameConnectionInfoProvider; }
35namespace Social { class User; }
36// clang-format on
37
38namespace Settings::RegistryBuilder {
39
40class IBuilderContext {
41public:
42 // virtual functions
43 // NOLINTBEGIN
44 virtual ~IBuilderContext() = default;
45
46 virtual bool isPreGame() const = 0;
47
48 virtual bool isSplitScreenActive() const = 0;
49
50 virtual bool isPrimaryClient() const = 0;
51
52 virtual bool isPlayerInEditor() const = 0;
53
54 virtual ::IOptions& getOptions() = 0;
55
56 virtual ::IOptions const& getOptions() const = 0;
57
58 virtual ::SoundOptions& getSoundOptions() = 0;
59
60 virtual ::Social::IGameConnectionInfoProvider const& getGameConnectionInfoProvider() const = 0;
61
62 virtual ::Settings::Eventing& getSettingsEventing() = 0;
63
64 virtual ::TrialManager& getTrialManager() = 0;
65
66 virtual ::MinecraftCommands& getCommands() = 0;
67
68 virtual ::InputSettingsHandler& getInputSettingsHandler() const = 0;
69
70 virtual ::WorldSettingsRules const& getWorldSettingsRules() const = 0;
71
72 virtual ::std::optional<::std::string> getFeedbackUrl() const = 0;
73
74 virtual bool supportsFullScreen() const = 0;
75
76 virtual bool supportsUserDefinedSafeZone() const = 0;
77
78 virtual int getRecommendedRenderDistance(::GraphicsMode graphicsMode) const = 0;
79
80 virtual int getMaxGUIScaleIndex() const = 0;
81
82 virtual int getOptimalGUIScaleIndex() const = 0;
83
84 virtual ::InputMode getCurrentInputMode() const = 0;
85
86 virtual ::Bedrock::PubSub::Subscription registerToUIScreenSizeChangedEvent(::std::function<void()> callback) = 0;
87
88 virtual ::Bedrock::PubSub::Subscription
89 registerLevelChangedListener(::std::function<void(::LevelDataWrapper&)> callback) = 0;
90
91 virtual ::Bedrock::PubSub::Subscription
92 registerToServerFormDataAvailableEvent(::std::function<void()> callback) = 0;
93
94 virtual bool isServerFormDataAvailable() const = 0;
95
96 virtual void pushRoute(::std::string_view route) = 0;
97
98 virtual void pushSettingsTabWithModal(::SettingsTabIndex tab, ::SettingsModalType modal) = 0;
99
100 virtual void pushToast(::std::string_view notification) = 0;
101
102 virtual bool supportsSetClipboard() = 0;
103
104 virtual void navigateToJsonSettingsTab(::SettingsTabIndex tab) = 0;
105
106 virtual void navigateToHowToPlayScreen() = 0;
107
108 virtual void setClipboardData(::std::string_view text) = 0;
109
110 virtual void launchURI(::std::string const& uri) = 0;
111
112 virtual void navigateToPendingRealmInvites() = 0;
113
114 virtual void setInputBindingMode(::InputBindingMode mode) = 0;
115
116 virtual ::InputBindingMode getInputBindingMode() const = 0;
117
118 virtual ::Bedrock::PubSub::Subscription
119 registerToRawInputEvent(::std::function<void(int, ::RawInputType, ::ButtonState, bool)> callback) = 0;
120
121 virtual ::Bedrock::PubSub::Subscription registerToInputModeEvent(::std::function<void(::InputMode)> callback) = 0;
122
123 virtual void navigateToCustomizeTouchControl() = 0;
124
125 virtual void refreshClientInputConfig() = 0;
126
127 virtual bool isGamePlayTipsEnabled() const = 0;
128
129 virtual bool isSignedInToXBL() const = 0;
130
131 virtual bool isEligibleForPauseFeature() const = 0;
132
133 virtual bool supportsTTSLanguage(::std::string_view languageCode) const = 0;
134
135 virtual bool isTTSEnabled() const = 0;
136
137 virtual bool isMultiplayerClient() const = 0;
138
139 virtual bool hasLocalPlayer() const = 0;
140
141 virtual bool hasCommands() const = 0;
142
143 virtual ::LevelDataWrapper& getLevelDataWrapper() = 0;
144
145 virtual ::PacketSender& getPacketSender() = 0;
146
147 virtual bool supportsKeyboardAndMouse() const = 0;
148
149 virtual bool supportsGamepad() const = 0;
150
151 virtual bool supportsTouch() const = 0;
152
153 virtual bool isInRealms() const = 0;
154
155 virtual bool isRealmsEnabled() const = 0;
156
157 virtual bool isRealmsOwner() const = 0;
158
159 virtual bool isRealmsFeatureEnabled(::std::string_view featureName) const = 0;
160
161 virtual bool isConfigurableRealmsEnvironment() const = 0;
162
163 virtual bool isPartySystemAvailable() const = 0;
164
165 virtual bool isTrial() const = 0;
166
167 virtual ::SettingsScreenCapabilities const& getSettingsScreenCapabilities() const = 0;
168
169 virtual bool isEduEdition() const = 0;
170
171 virtual ::Bedrock::NotNullNonOwnerPtr<::IAdvancedGraphicsOptions> getAdvancedGraphicsOptions() = 0;
172
173 virtual void navigateToGammaCalibrationScreen() = 0;
174
175 virtual bool supportsAntiAliasing() const = 0;
176
177 virtual bool supportsTextureStreaming() const = 0;
178
179 virtual bool supportsTexelAntiAliasing() const = 0;
180
181 virtual bool supportsAdvancedGraphics() const = 0;
182
183 virtual bool supportsDeferredGraphics() const = 0;
184
185 virtual bool supportsDeferredPointLights() const = 0;
186
187 virtual bool supportsImprovedInputResponse() const = 0;
188
189 virtual bool supportsSplitScreen() const = 0;
190
191 virtual bool isFeatureEnabled(::FeatureOptionID featureOptionId) const = 0;
192
193 virtual bool isGameFeatureEnabled(::MinecraftGameFeatures feature) const = 0;
194
195 virtual ::GameEditionProperties const& getGameEditionProperties() const = 0;
196
197 virtual ::std::optional<::std::reference_wrapper<::LocalPlayer>> const getLocalPlayer() const = 0;
198
199 virtual ::ProfanityContext const& getProfanityContext() const = 0;
200
201 virtual ::std::optional<::std::string> getMinecraftAccountId() const = 0;
202
203 virtual void showUserSettings() = 0;
204
205 virtual ::std::string getDeviceId() const = 0;
206
207 virtual bool shouldShowSignOutOfMicrosoftAccount() const = 0;
208
209 virtual void signOutFromMicrosoftAccount() = 0;
210
211 virtual void clearSignInData() = 0;
212
213 virtual void navigateToDeleteMicrosoftAccount() = 0;
214
215 virtual bool shouldShowRequestPlaystationNetworkAuthorization() const = 0;
216
217 virtual ::Bedrock::PubSub::Subscription
218 subscribeToShouldShowRequestPlaystationNetworkAuthorization(::std::function<void()> callback) = 0;
219
220 virtual void requestPlaystationNetworkAuthorization() = 0;
221
222 virtual bool isConsolePlatform() const = 0;
223
224 virtual bool isDesktopPlatform() const = 0;
225
226 virtual ::std::shared_ptr<::Social::User> const& getUser() const = 0;
227
228 virtual void navigateToTabbedUpsell() = 0;
229
230 virtual bool needPlatformConnectionBeforeXBLSignIn() const = 0;
231
232 virtual bool isWaitingForPlatformConnection() const = 0;
233
234 virtual void navigateToPlatformNetworkConnectConfirmation(::std::function<void(bool)> callback) = 0;
235
236 virtual void navigateToXBLSignIn() = 0;
237
238 virtual bool isSupportingFramePacing() const = 0;
239 // NOLINTEND
240
241public:
242 // virtual function thunks
243 // NOLINTBEGIN
244
245 // NOLINTEND
246};
247
248} // namespace Settings::RegistryBuilder
Definition Subscription.h:10
Definition GameEditionProperties.h:5
Definition IAdvancedGraphicsOptions.h:16
Definition IOptions.h:5
Definition InputSettingsHandler.h:5
Definition LevelDataWrapper.h:14
Definition LocalPlayer.h:5
Definition MinecraftCommands.h:34
Definition PacketSender.h:17
Definition ProfanityContext.h:5
Definition Eventing.h:7
Definition IBuilderContext.h:7
Definition IGameConnectionInfoProvider.h:12
Definition User.h:7
Definition SoundOptions.h:5
Definition TrialManager.h:5
Definition WorldSettingsRules.h:5
Definition SettingsScreenCapabilities.h:8