3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/game/ControlOptionType.h"
7#include "mc/client/game/CoordinateCaptureType.h"
8#include "mc/client/gui/CraftingType.h"
9#include "mc/client/gui/SoundDirection.h"
10#include "mc/client/gui/screens/models/MinecraftScreenModel.h"
11#include "mc/client/util/ChatMessageRestrictions.h"
12#include "mc/deps/core/threading/Async.h"
13#include "mc/deps/core/utility/NonOwnerPointer.h"
14#include "mc/deps/input/enums/WYSIWYGState.h"
15#include "mc/legacy/ActorUniqueID.h"
16#include "mc/network/packet/MultiplayerSettingsPacketType.h"
17#include "mc/network/packet/StructureTemplateRequestOperation.h"
18#include "mc/options/UIProfile.h"
19#include "mc/options/option_types/OptionID.h"
20#include "mc/util/HudElement.h"
21#include "mc/util/ProfanityFilterContext.h"
22#include "mc/world/actor/ActorType.h"
23#include "mc/world/actor/ai/util/BossEventUpdateType.h"
24#include "mc/world/level/block/actor/BlockActorType.h"
25#include "mc/world/level/block/actor/ChalkboardSize.h"
63namespace Core {
class Path; }
64namespace OreUI {
class Router; }
65namespace Social {
class User; }
66namespace mce {
class Color; }
67namespace mce {
class UUID; }
74 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ActorUniqueID, ::BossInfo>> mBossInfo;
80 virtual ~ClientInstanceScreenModel() ;
86 MCAPI
void addPhotoToPortfolio(::std::string
const& photoName, ::std::string
const& newPhotoName);
88 MCAPI
void addToDevConsoleMessageHistory(::std::string
const& message);
90 MCAPI
void addToSentMessageHistory(::std::string
const& message);
92 MCAPI
void calculatePlacePos(uchar& face, ::BlockPos& pos)
const;
94 MCAPI
bool canAttachBalloonToBlock(::BlockPos
const& blockPos)
const;
96 MCAPI
bool canAttachLeashedActorsToBlock(::BlockPos
const& blockPos)
const;
98 MCAPI
bool canCollectFromCauldron(::BlockPos
const& blockPos)
const;
100 MCAPI
bool canDrinkMedicine(::ItemStack
const& medicine)
const;
102 MCAPI
bool canEmptyIntoCauldron(::BlockPos
const& blockPos)
const;
104 MCAPI
bool canHangItemFrame(::ItemStack
const& heldItemInstance, uchar face, ::BlockPos blockPos)
const;
106 MCFOLD
bool canInteractWhileKeyboardIsOpen()
const;
108 MCAPI
bool canPlaceCamera(::ItemStack
const& camera, ::BlockPos
const& blockPos, uchar facing)
const;
110 MCAPI
bool canPlaceChalkboard(::ItemStack
const& chalkboard, ::BlockPos
const& blockPos, uchar facing)
const;
112 MCAPI
bool canPlaceHeldBlock()
const;
114 MCAPI
bool canPlaceHeldItem()
const;
116 MCAPI
bool canPlaceWaterlily()
const;
118 MCAPI
bool canPlayerFly()
const;
120 MCAPI
bool canTipArrows(::BlockPos
const& blockPos)
const;
122 MCAPI
bool canUseReed()
const;
124 MCAPI
bool canUseSeed()
const;
126 MCAPI
void clearActiveControlOptions();
128 MCAPI
void clearInvalidDownKeys();
130 MCAPI
void clearTitleMessages();
132 MCAPI
bool connectedToThirdPartyServer()
const;
134 MCAPI ::std::unique_ptr<::BookScreenManager> createBookScreenManager(
int bookSlot, ::BlockActor* lectern);
136 MCAPI ::std::unique_ptr<::MinecartCommandBlockManager>
137 createCommandBlockManager(
bool isMinecart, ::BlockPos pos, ::ActorUniqueID entityUniqueID);
139 MCAPI ::std::shared_ptr<::HudContainerManagerController> createHudContainerManagerController();
141 MCAPI
void createPhotoItem(::PhotoRecord
const& record);
143 MCAPI ::std::unique_ptr<::PortfolioScreenManager> createPortfolioScreenManager();
145 MCAPI
void deleteContainerManager();
147 MCAPI ::BoundingBox detectStructureBlockCorners(::BlockPos
const& pos);
149 MCAPI
void displaySubtitleMessage(::std::string
const& message, ::SoundDirection direction,
bool isLocalPlayer);
151 MCAPI
void displaySystemMessage(
152 ::std::string
const& message,
153 ::std::string
const& ttsMessage,
154 ::ProfanityFilterContext profanityFilterContext
157 MCAPI
float distanceSqrFromPlayerToBlockCenter(::Vec3
const& pos);
159 MCAPI
bool doOtherConfigsExistInThisCategory()
const;
161 MCFOLD
bool doesPlatformShowHideKeyboardButton()
const;
163 MCAPI
bool endPortalFrameBlockHasEye(::BlockPos
const& blockPos)
const;
165 MCAPI ::ChatMessageRestrictions executeCommand(::std::string
const& commandLine);
167 MCAPI
bool exportStructureBlock(::std::string
const& structureName, ::Core::Path
const& filePath);
169 MCAPI
bool findStructure(::StructureEditorData& structureData);
171 MCAPI
bool forceAllowEating()
const;
173 MCAPI ::std::set<uint>
const& getActiveControlOptions()
const;
175 MCAPI ::std::vector<::OptionID> getActiveOptionIDs(::ControlOptionType controlOptionType)
const;
177 MCAPI ::std::vector<::MobEffectInstance>
const& getAllPlayerEffects()
const;
179 MCAPI ::Block
const& getBlockAt(::BlockPos
const& blockPos)
const;
181 MCAPI ::BlockActor* getBlockEntity(::BlockPos
const& pos, ::BlockActorType blockEntityType);
183 MCAPI ::mce::Color getBossBarColor(
int index)
const;
185 MCAPI
float getBossHealthPercentage(
int index)
const;
187 MCAPI ::Bedrock::Safety::RedactableString getBossName(
int index)
const;
189 MCAPI ::ChalkboardSize getChalkboardType(::BlockPos
const& pos);
191 MCAPI ::Social::User& getClientUser();
193 MCAPI ::CoordinateCaptureType getCoordinateCaptureType()
const;
195 MCFOLD ::OreUI::Router& getCurrentUIRouter();
197 MCAPI ::std::unique_ptr<::CommandOrigin> getDevConsoleCommandOrigin()
const;
199 MCAPI ::std::deque<::std::string>
const& getDevConsoleMessageHistory();
201 MCAPI ::Actor* getEntity(::ActorUniqueID
const& entityId);
203 MCAPI ::Bedrock::NotNullNonOwnerPtr<::GuiData> getGuiData()
const;
205 MCAPI ::std::vector<::GuiMessage>& getGuiMessageList();
207 MCAPI ::ClientInputHandler* getInput();
209 MCAPI ::std::string getInteractionText()
const;
211 MCAPI
int getItemNameOffset(
bool showClassicUI,
bool showSurvivalUI,
bool showLocatorBar)
const;
213 MCAPI ::std::string
const& getLastChatMessage();
215 MCAPI ::std::string
const getLastFilteredChatMessage();
217 MCAPI ::Block
const& getLiquidBlockAt(::BlockPos
const& blockPos)
const;
219 MCAPI ::Bedrock::Threading::Async<::ResourceLocation> getLocalThirdPartyGamerpic()
const;
221 MCAPI
int getNumberOfActiveConfigs()
const;
223 MCAPI
int getNumberOfDaysPlayed()
const;
225 MCAPI ::ItemStack
const& getOffhandSlot()
const;
227 MCAPI
float getPickRange()
const;
229 MCAPI
float getPlayerAbsorptionValue()
const;
231 MCAPI
int getPlayerArmorValue()
const;
233 MCAPI ::std::unique_ptr<::CommandOrigin> getPlayerCommandOrigin()
const;
235 MCAPI ::std::optional<::BlockPos>
const getPlayerCursorBlockHitPosition()
const;
237 MCAPI
float getPlayerExp();
239 MCAPI
int getPlayerLevel();
241 MCAPI ::Vec3 getPlayerPosition()
const;
243 MCAPI ::BlockSource* getPlayerRegion()
const;
245 MCAPI ::std::vector<::GuiMessage> getPreexistingChatMessages();
247 MCAPI ::RectangleArea getSafeScreenZoneArea()
const;
249 MCAPI ::ItemStack
const& getSelectedItem()
const;
251 MCAPI ::std::deque<::std::string>
const& getSentMessageHistory();
253 MCAPI ::std::string
const& getStoreName()
const;
255 MCAPI ::std::vector<::GuiMessage>& getSubtitleList();
257 MCAPI ::Bedrock::Threading::Async<::ResourceLocation>
258 getThirdPartyGamerpic(::mce::UUID
const& playerId, ::std::string
const& platformOnlineID)
const;
260 MCAPI ::TitleMessage
const& getTitleMessage()
const;
262 MCAPI ::UIProfile getUIProfile()
const;
264 MCAPI ::WYSIWYGState getWYSIWYGState()
const;
266 MCAPI
float getXToScreenRatio(
float x)
const;
268 MCAPI
float getYToScreenRatio(
float y)
const;
270 MCAPI
void handleQuitButtonPress();
272 MCAPI
bool hasPlayerSleepFlagSet()
const;
274 MCAPI ::StructureTemplate* importStructureBlock(::std::string
const& structureName, ::Core::Path
const& filePath);
276 MCAPI
void initiateGLBFileSave(
277 ::std::string
const& defaultName,
278 ::Core::Path
const& originPath,
279 ::std::function<
void(
bool)> onComplete
282 MCAPI ::std::shared_ptr<::MinecraftglTFExporter> initiateStructureModelExport(
283 ::BlockPos
const& position,
284 ::StructureEditorData
const& structureEditorData,
285 ::std::function<
void(
bool)> onFileReady
288 MCAPI
void insertStructureBlockRequest(::std::string
const& structureName, ::StructureTemplate
const& temp);
290 MCAPI
bool isAbleToRespawn()
const;
292 MCAPI
bool isBossProperlyRegistered(
int index)
const;
294 MCFOLD
bool isChatMute()
const;
296 MCAPI
bool isDimensionReady()
const;
298 MCAPI
bool isEmoteChatMute()
const;
300 MCAPI
bool const isHudElementVisible(::HudElement hudElement)
const;
302 MCAPI
bool isInEditorToolMode()
const;
304 MCAPI
bool isInteracting()
const;
306 MCAPI
bool isNoConfigSelected()
const;
308 MCAPI
bool isOxygenBubbleShowing()
const;
310 MCAPI
bool isPlayerFlying()
const;
312 MCAPI
bool isPlayerHungry()
const;
314 MCAPI
bool isPlayerInPortal()
const;
316 MCAPI
bool isPlayerInWater()
const;
318 MCAPI
bool isPlayerOnDescendableBlock()
const;
320 MCAPI
bool isPlayerOnGround()
const;
322 MCAPI
bool isPlayerRiding()
const;
324 MCAPI
bool isPlayerRidingActorType(::ActorType type)
const;
326 MCAPI
bool isRemoteProfanityFilterEnabled()
const;
328 MCAPI
bool isTextToSpeechEnabled()
const;
330 MCAPI
bool isTouchPressed()
const;
332 MCAPI
bool isUsingItem()
const;
334 MCAPI
bool itemFrameFilled(::BlockPos
const& blockPos)
const;
336 MCAPI
void loadMode(::BlockPos
const& pos, ::StructureBlockActor* act);
338 MCAPI
void makeStructureBlockRequest(
339 ::std::string
const& structureName,
340 ::BlockPos
const& structureBlockPosition,
341 ::StructureSettings
const& structureSettings,
342 ::StructureTemplateRequestOperation exportOperation
345 MCAPI
bool mayEditChalkboard(::BlockPos
const& blockPos)
const;
347 MCAPI
void navigateToChatScreen();
349 MCAPI
void navigateToImmersiveReaderScreen(::std::string readerText);
351 MCAPI
void navigateToInventoryScreen(::CraftingType craftType);
353 MCAPI
void navigateToLeaveLevelScreen(
bool switchScreen);
355 MCAPI
void navigateToServerStoreScreen();
357 MCAPI
void queryBossInfo()
const;
359 MCAPI
void registerBlockEventListener(::BlockEventListener& listener);
361 MCAPI
void registerClientPlayerEventCoordinatorListener(::PlayerEventListener& listener);
363 MCAPI
void registerContentChangeListener(::ContainerContentChangeListener& listener);
365 MCAPI
void registerNpcEventListener(::NpcEventListener& listener);
367 MCAPI
void requestClipboardData(::std::function<
void(::std::string
const&)> callback)
const;
369 MCAPI
void requestDisconnectPlayer(::std::string
const& userName);
371 MCAPI
void resetCanTakeScreenshot();
373 MCAPI
void sendBlockEntityUpdatePacket(::BlockPos
const& pos);
375 MCAPI ::ChatMessageRestrictions sendChatMessage(::std::string
const& message);
377 MCAPI
void sendCommandBlockUpdatePacket(::ActorUniqueID
const& entityId);
379 MCAPI
void sendCommandBlockUpdatePacket(::BlockPos
const& pos);
381 MCAPI
void sendMultiplayerSettingsPacket(::MultiplayerSettingsPacketType type);
383 MCAPI
void sendRespawnRequest()
const;
385 MCAPI
void sendStructureBlockUpdatePacket(
386 ::BlockPos
const& pos,
387 ::StructureEditorData
const& structureEditorData,
391 MCAPI
void setClipboardToPosition(::Vec3
const& pos);
393 MCAPI
void setClipboardToPosition(::BlockPos
const& pos);
395 MCAPI
void setControlTipsTimeElapsedStart();
397 MCAPI
void setCoordinateCaptureType(::CoordinateCaptureType coordinateCaptureType);
399 MCAPI
void setInteractActiveState(
bool isInteractActive);
401 MCAPI
void setMenuPointerPressed(
bool pressed);
403 MCAPI
void setMuteChat(
bool isMuted);
405 MCAPI
void setPauseIntent(
bool intent);
407 MCAPI
void setWYSIWYGState(::WYSIWYGState wysiwygState);
409 MCAPI
bool shouldDisplayDaysPlayed()
const;
411 MCAPI
bool shouldDisplayPlayerPosition()
const;
413 MCAPI
bool shouldRequestThirdPartyDisplayPicture(::mce::UUID
const& playerId)
const;
415 MCAPI
void splitVibrate(
int milliSeconds);
417 MCAPI ::Bedrock::PubSub::Subscription subscribeToBossEvent(
418 ::std::function<
void(::BossEventUpdateType, ::ActorUniqueID
const&, ::BossEventPacket
const&)> callback
421 MCAPI ::Bedrock::PubSub::Subscription subscribeToBossEvent(::std::function<
void(::BossEventUpdateType)> callback);
423 MCAPI ::Bedrock::PubSub::Subscription subscribeToProfanityToggleEvent(::std::function<
void(
bool,
bool)> callback);
425 MCAPI ::Bedrock::PubSub::Subscription subscribeToSoundEvent(
426 ::std::function<
void(
427 ::std::string
const&,
428 ::std::optional<::std::string>,
437 MCAPI
bool thirdPartyGamerpicAllowed(::mce::UUID
const& playerId)
const;
439 MCAPI
void toggleChatMute();
441 MCAPI
void toggleEmoteChatMute();
443 MCAPI
bool tryBroadcastGlobalPause(
bool status);
445 MCAPI
bool tryGetAgentPosition(::BlockPos& result)
const;
447 MCAPI
void unregisterBlockEventListener(::BlockEventListener& listener);
449 MCAPI
void unregisterClientPlayerEventCoordinatorListener(::PlayerEventListener& listener);
451 MCAPI
void unregisterContentChangeListener(::ContainerContentChangeListener& listener);
453 MCAPI
void unregisterNpcEventListener(::NpcEventListener& listener);
455 MCAPI
bool useMsaGamertagsOnly()
const;
Definition Subscription.h:10
Definition RedactableString.h:10
Definition BlockActor.h:30
Definition BlockEventListener.h:22
Definition BlockSource.h:73
Definition BookScreenManager.h:5
Definition BossEventPacket.h:23
Definition BoundingBox.h:13
Definition ClientInstanceScreenModel.h:5
static MCAPI void ** $vftableForIMinecraftScreenModel()
static MCAPI void ** $vftableForIDlcBatcher()
Definition CommandOrigin.h:32
Definition ContainerContentChangeListener.h:5
Definition GuiMessage.h:5
Definition HudContainerManagerController.h:14
Definition ItemStack.h:35
Definition MinecartCommandBlockManager.h:5
Definition MinecraftScreenModel.h:5
Definition MinecraftglTFExporter.h:5
Definition MobEffectInstance.h:20
Definition NpcEventListener.h:5
Definition PlayerEventListener.h:32
Definition PortfolioScreenManager.h:5
Definition RectangleArea.h:5
Definition ResourceLocation.h:15
Definition StructureBlockActor.h:25
Definition StructureEditorData.h:23
Definition StructureSettings.h:18
Definition StructureTemplate.h:35
Definition TitleMessage.h:5
Definition PhotoRecord.h:5