60 using LevelDataPublisherRefWrapper = ::std::reference_wrapper<
66 ::ll::TypedStorage<1, 5, ::AdventureSettings> mAdventureSettings;
67 ::ll::TypedStorage<8, 144, ::WorldTemplateLevelData> mWorldTemplateLevelData;
68 ::ll::TypedStorage<8, 192, ::GameRules> mGameRules;
69 ::ll::TypedStorage<8, 72, ::ExperimentStorage> mExperiments;
70 ::ll::TypedStorage<4, 240, ::Abilities> mDefaultAbilities;
71 ::ll::TypedStorage<8, 24, ::PermissionsHandler> mDefaultPermissions;
72 ::ll::TypedStorage<8, 32, ::std::string> mLevelName;
73 ::ll::TypedStorage<4, 4, ::StorageVersion> mStorageVersion;
74 ::ll::TypedStorage<8, 56, ::GameVersion> mMinCompatibleClientVersion;
75 ::ll::TypedStorage<4, 4, int> mNetworkVersion;
76 ::ll::TypedStorage<8, 24, ::SemVersion> mInventoryVersion;
77 ::ll::TypedStorage<8, 8, ::Tick> mCurrentTick;
78 ::ll::TypedStorage<1, 1, bool> mHasSpawnPos;
79 ::ll::TypedStorage<4, 12, ::BlockPos> mLimitedWorldOrigin;
80 ::ll::TypedStorage<4, 4, int> mTime;
81 ::ll::TypedStorage<8, 8, int64> mLastSaved;
82 ::ll::TypedStorage<4, 4, uint> mServerTickRange;
83 ::ll::TypedStorage<4, 4, float> mRainLevel;
84 ::ll::TypedStorage<4, 4, int> mRainTime;
85 ::ll::TypedStorage<4, 4, float> mLightningLevel;
86 ::ll::TypedStorage<4, 4, int> mLightningTime;
87 ::ll::TypedStorage<4, 4, int> mNetherScale;
88 ::ll::TypedStorage<8, 56, ::GameVersion> mLastOpenedWithVersion;
89 ::ll::TypedStorage<4, 4, ::SharedTypes::Legacy::Difficulty> mGameDifficulty;
90 ::ll::TypedStorage<1, 1, bool> mForceGameType;
91 ::ll::TypedStorage<1, 1, bool> mIsHardcore;
92 ::ll::TypedStorage<1, 1, bool> mPlayerHasDied;
93 ::ll::TypedStorage<1, 1, bool> mSpawnMobs;
94 ::ll::TypedStorage<1, 1, bool> mAdventureModeOverridesEnabled;
95 ::ll::TypedStorage<8, 16, ::Json::Value> mFlatWorldOptions;
96 ::ll::TypedStorage<4, 4, uint> mWorldStartCount;
97 ::ll::TypedStorage<1, 1, bool> mAchievementsDisabled;
98 ::ll::TypedStorage<4, 4, ::Editor::WorldType> mEditorWorldType;
99 ::ll::TypedStorage<1, 1, bool> mIsCreatedInEditor;
100 ::ll::TypedStorage<1, 1, bool> mIsExportedFromEditor;
101 ::ll::TypedStorage<4, 4, ::EducationEditionOfferValue> mEducationEditionOffer;
102 ::ll::TypedStorage<8, 176, ::std::optional<::CloudSaveLevelInfo>> mCloudSaveInfo;
103 ::ll::TypedStorage<1, 1, bool> mEducationFeaturesEnabled;
104 ::ll::TypedStorage<1, 1, bool> mIsSingleUseWorld;
105 ::ll::TypedStorage<1, 1, bool> mConfirmedPlatformLockedContent;
106 ::ll::TypedStorage<1, 1, bool> mMultiplayerGameIntent;
107 ::ll::TypedStorage<1, 1, bool> mMultiplayerGame;
108 ::ll::TypedStorage<1, 1, bool> mLANBroadcastIntent;
109 ::ll::TypedStorage<1, 1, bool> mLANBroadcast;
110 ::ll::TypedStorage<4, 4, ::Social::GamePublishSetting> mXBLBroadcastIntent;
111 ::ll::TypedStorage<4, 4, ::Social::GamePublishSetting> mXBLBroadcastMode;
112 ::ll::TypedStorage<4, 4, ::Social::GamePublishSetting> mPlatformBroadcastIntent;
113 ::ll::TypedStorage<4, 4, ::Social::GamePublishSetting> mPlatformBroadcastMode;
114 ::ll::TypedStorage<1, 1, bool> mCheatsEnabled;
115 ::ll::TypedStorage<1, 1, bool> mCommandsEnabled;
116 ::ll::TypedStorage<1, 1, bool> mTexturePacksRequired;
117 ::ll::TypedStorage<1, 1, bool> mHasLockedBehaviorPack;
118 ::ll::TypedStorage<1, 1, bool> mHasLockedResourcePack;
119 ::ll::TypedStorage<1, 1, bool> mIsFromLockedTemplate;
120 ::ll::TypedStorage<1, 1, bool> mIsRandomSeedAllowed;
121 ::ll::TypedStorage<8, 32, ::std::string> mEducationProductId;
122 ::ll::TypedStorage<8, 32, ::std::string> mEducationCreatorId;
123 ::ll::TypedStorage<8, 32, ::std::string> mEducationCreatorWorldId;
124 ::ll::TypedStorage<8, 32, ::std::string> mEducationReferrerId;
125 ::ll::TypedStorage<1, 1, bool> mUseMsaGamertagsOnly;
126 ::ll::TypedStorage<1, 1, bool> mBonusChestEnabled;
127 ::ll::TypedStorage<1, 1, bool> mBonusChestSpawned;
128 ::ll::TypedStorage<1, 1, bool> mStartWithMapEnabled;
129 ::ll::TypedStorage<1, 1, bool> mMapsCenteredToOrigin;
130 ::ll::TypedStorage<1, 1, bool> mRequiresCopiedPackRemovalCheck;
131 ::ll::TypedStorage<1, 1, bool> mSpawnV1Villagers;
132 ::ll::TypedStorage<1, 1, bool> mPersonaDisabled;
133 ::ll::TypedStorage<1, 1, bool> mCustomSkinsDisabled;
134 ::ll::TypedStorage<1, 1, bool> mEmoteChatMuted;
135 ::ll::TypedStorage<1, 1, bool> mUseAllowList;
136 ::ll::TypedStorage<1, 1, bool> mHasUncompleteWorldFileOnDisk;
137 ::ll::TypedStorage<1, 1, ::NetherWorldType> mNetherType;
138 ::ll::TypedStorage<8, 48, ::SpawnSettings> mSpawnSettings;
139 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::LevelDataValue>> mValues;
140 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::LevelDataValue>> mOverrides;
141 ::ll::TypedStorage<8, 32, ::std::string> mBiomeOverride;
142 ::ll::TypedStorage<4, 8, ::std::optional<::GeneratorType>> mDataDrivenGeneratorType;
143 ::ll::TypedStorage<1, 1, ::ChatRestrictionLevel> mChatRestrictionLevel;
148 mIsHardcoreSubscribers;
149 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnSaveLevelData;
156 ::std::less<::LevelDataProperty>,
157 ::std::vector<::LevelDataProperty>,
158 ::std::vector<::std::unique_ptr<
160 mLevelDataPropertiesPublishers;
161 ::ll::TypedStorage<8, 40, ::std::optional<::std::string>> mExperienceWorldId;
166 LevelData& operator=(LevelData
const&);
167 LevelData(LevelData
const&);
173 MCAPI
explicit LevelData(
bool isEduMode);
175 MCAPI LevelData(::LevelData&& rhs);
179 ::std::string
const& levelName,
180 ::GeneratorType generatorVersion,
182 bool achievementsDisabled,
183 ::EducationEditionOffer eduOffer,
189 MCAPI ::std::optional<::std::reference_wrapper<
191 _getLevelDataPropertyPublisher(::LevelDataProperty property)
const;
194 MCFOLD ::LevelDataValue
const* _getValue(
::HashedString const& key)
const;
198 MCAPI
void _initLevelDataPropertyPublishers();
201 MCAPI
void _resetDefaultAdvancedSettingsData(
bool isTrial);
203 MCAPI
void _resetDefaultGeneralSettingsData();
205 MCAPI
void _resetDefaultMultiplayerSettingsData(
bool isTrial);
207 MCAPI
void _resetDefaultScriptingCodingSettingsData();
210 MCAPI
bool achievementsWillBeDisabledOnLoad()
const;
213 MCAPI
void applyPolicyBasedSettings(
bool hasBehaviourPack);
216 MCAPI ::std::optional<::SemVersion> checkServerAuthOptOutVersion()
const;
219 MCAPI
void clearCloudSaveInfo();
222 MCAPI
bool cloudSaveForWorldIsEnabled()
const;
224 MCAPI ::std::unique_ptr<::CompoundTag> createTag()
const;
226 MCAPI
void disableAchievements();
228 MCAPI
bool educationFeaturesEnabled()
const;
230 MCAPI
bool getAdventureModeOverridesEnabled()
const;
232 MCFOLD ::AdventureSettings
const& getAdventureSettings()
const;
234 MCFOLD ::AdventureSettings& getAdventureSettings();
236 MCAPI
bool getAllowListActive()
const;
238 MCAPI ::BaseGameVersion
const& getBaseGameVersion()
const;
240 MCAPI ::std::string
const getBiomeOverride()
const;
242 MCAPI
bool getBonusChestSpawned()
const;
244 MCAPI ::ChatRestrictionLevel getChatRestrictionLevel()
const;
246 MCFOLD ::CloudSaveLevelInfo
const& getCloudSaveInfo()
const;
249 MCFOLD ::CloudSaveLevelInfo& getCloudSaveInfo();
252 MCFOLD ::Tick
const& getCurrentTick()
const;
254 MCAPI
bool getCustomSkinsDisabled()
const;
256 MCAPI ::DaylightCycle getDaylightCycle()
const;
258 MCFOLD ::Abilities& getDefaultAbilities();
260 MCFOLD ::PermissionsHandler
const& getDefaultPermissions()
const;
262 MCFOLD ::PermissionsHandler& getDefaultPermissions();
264 MCAPI ::Editor::WorldType getEditorWorldType()
const;
266 MCAPI ::CompoundTag
const& getEduSharedUriResource()
const;
268 MCFOLD ::std::string
const& getEducationCreatorId()
const;
270 MCAPI ::std::string
const& getEducationCreatorWorldId()
const;
272 MCAPI ::EducationEditionOffer getEducationEditionOffer()
const;
275 MCAPI ::std::string
const& getEducationOid()
const;
278 MCFOLD ::std::string
const& getEducationProductId()
const;
280 MCFOLD ::std::string
const& getEducationReferrerId()
const;
282 MCAPI
bool getEmoteChatMuted()
const;
285 MCAPI ::std::optional<::std::string>
const& getExperienceWorldId()
const;
288 MCFOLD ::Experiments
const& getExperiments()
const;
290 MCFOLD ::Experiments& getExperiments();
292 MCAPI ::Json::Value
const& getFlatWorldOptions()
const;
295 MCAPI ::std::optional<::FlatWorldPresetID> getFlatWorldPreset()
const;
298 MCAPI
bool getForceGameType()
const;
300 MCFOLD ::SharedTypes::Legacy::Difficulty getGameDifficulty()
const;
302 MCFOLD ::GameRules
const& getGameRules()
const;
304 MCFOLD ::GameRules& getGameRules();
306 MCAPI ::GameType getGameType()
const;
308 MCAPI ::GeneratorType getGenerator()
const;
311 MCAPI
bool getHasUncompleteWorldFileOnDisk()
const;
313 MCAPI
bool const getIsSingleUseWorld()
const;
316 MCAPI
bool getLANBroadcast()
const;
318 MCAPI
bool getLANBroadcastIntent()
const;
321 MCFOLD int64 getLastSaved()
const;
324 MCFOLD ::std::string
const& getLevelName()
const;
326 MCAPI
float getLightningLevel()
const;
328 MCAPI
int getLightningTime()
const;
330 MCAPI
int getLimitedWorldDepth()
const;
332 MCAPI
int getLimitedWorldWidth()
const;
334 MCAPI ::CompoundTag& getLoadedPlayerTag();
337 MCFOLD ::GameVersion
const& getMinCompatibleClientVersion()
const;
340 MCAPI
bool getMultiplayerGameIntent()
const;
342 MCAPI
int getNetherScale()
const;
344 MCAPI ::NetherWorldType getNetherType()
const;
347 MCFOLD
int getNetworkVersion()
const;
350 MCAPI
bool getOnlySpawnV1Villagers()
const;
352 MCAPI
bool getPersonaDisabled()
const;
354 MCFOLD ::Social::GamePublishSetting getPlatformBroadcastIntent()
const;
356 MCAPI ::Social::GamePublishSetting getPlatformBroadcastMode()
const;
359 MCAPI
bool getPlayerHasDied()
const;
362 MCAPI ::ContentIdentity
const& getPremiumTemplateContentIdentity()
const;
364 MCAPI
float getRainLevel()
const;
366 MCAPI
int getRainTime()
const;
368 MCAPI ::LevelSeed64 getSeed()
const;
370 MCFOLD uint getServerChunkTickRange()
const;
372 MCAPI ::BlockPos
const& getSpawnPos()
const;
374 MCFOLD ::SpawnSettings
const& getSpawnSettings()
const;
376 MCAPI ::StorageVersion getStorageVersion()
const;
380 MCFOLD
int getTime()
const;
382 MCAPI
bool getUseMsaGamertagsOnly()
const;
384 MCAPI ::BlockPos
const& getWorldCenter()
const;
386 MCAPI uint getWorldStartCount()
const;
388 MCAPI ::PackIdVersion
const& getWorldTemplateIdentity()
const;
390 MCAPI ::WorldVersion getWorldVersion()
const;
392 MCAPI ::Social::GamePublishSetting getXBLBroadcastIntent()
const;
394 MCAPI ::Social::GamePublishSetting getXBLBroadcastMode()
const;
396 MCAPI
bool hasAchievementsDisabled()
const;
398 MCAPI
bool hasBonusChestEnabled()
const;
400 MCAPI
bool hasCheatsEnabled()
const;
402 MCAPI
bool hasCommandsEnabled()
const;
404 MCAPI
bool hasConfirmedPlatformLockedContent()
const;
406 MCAPI
bool hasLockedBehaviorPack()
const;
408 MCAPI
bool hasLockedResourcePack()
const;
410 MCAPI
bool hasMapsCenteredToOrigin()
const;
412 MCFOLD
bool hasSpawnPos()
const;
414 MCAPI
bool hasStartWithMapEnabled()
const;
416 MCAPI
void incrementTick();
419 MCAPI
bool isAlwaysDay()
const;
422 MCAPI
bool isCreatedInEditor()
const;
425 MCAPI
bool isEditionCompatible()
const;
428 MCAPI
bool isEditorTestWorld()
const;
430 MCAPI
bool isEditorWorld()
const;
432 MCAPI
bool isEducationEditionLevel()
const;
434 MCAPI
bool isExportedFromEditor()
const;
436 MCAPI
bool isFromLockedTemplate()
const;
438 MCAPI
bool isFromWorldTemplate()
const;
444 MCAPI
bool isHardcore()
const;
446 MCAPI
bool isLegacyLevel()
const;
448 MCAPI
bool isLightning()
const;
450 MCAPI
bool isMultiplayerGame()
const;
453 MCAPI
bool isNewLevel()
const;
456 MCAPI
bool isPremiumWorldTemplate()
const;
458 MCAPI
bool isRaining()
const;
461 MCFOLD
bool isRandomSeedAllowed()
const;
464 MCAPI
bool isTexturepacksRequired()
const;
466 MCAPI
bool isWorldTemplateOptionLocked()
const;
468 MCAPI ::LevelData& operator=(::LevelData&& rhs);
470 MCAPI
void recordStartUp();
473 MCAPI ::Bedrock::PubSub::Subscription registerIsHardcoreListener(::std::function<
void(
bool)> callback)
const;
475 MCAPI ::Bedrock::PubSub::Subscription
476 registerLevelDataPropertyListener(::LevelDataProperty property, ::std::function<
void()> callback)
const;
482 MCAPI
bool requiresCopiedPackRemovalCheck()
const;
484 MCAPI
void resetDefaultCheatSettingsData();
486 MCAPI
void resetSettingsForRandomSeed();
488 MCAPI
void resetToDefaultSettings();
490 MCAPI
void resetToTrialSettings();
493 MCAPI
void setAdventureModeOverridesEnabled(
bool overridesEnabled);
495 MCAPI
void setAllowListActive(
bool val);
499 MCAPI
void setBiomeOverride(::std::string
const& biomeName);
501 MCAPI
void setBonusChestEnabled(
bool bonusChestEnabled);
503 MCAPI
void setBonusChestSpawned(
bool bonusChestSpawned);
505 MCAPI
void setChatRestrictionLevel(::ChatRestrictionLevel chatRestrictionLevel);
507 MCAPI
void setCheatsEnabled(
bool cheatsEnabled);
513 MCAPI
void setCommandsEnabled(
bool commandsEnabled);
516 MCAPI
void setConfirmedPlatformLockedContent(
bool hasConfirmed);
518 MCFOLD
void setCurrentTick(
::Tick currentTick);
521 MCAPI
void setCustomSkinsDisabled(
bool val);
523 MCAPI
void setDataDrivenGenerator(::GeneratorType type);
525 MCAPI
void setDaylightCycle(::DaylightCycle daylightCycle);
527 MCFOLD
void setEditorWorldType(::Editor::WorldType t);
531 MCAPI
void setEducationEditionOffer(::EducationEditionOffer offer);
533 MCAPI
void setEducationFeaturesEnabled(
bool educationEnabled);
535 MCAPI
void setEducationOid(::std::string
const& educationOid);
538 MCAPI
void setEducationProductId(::std::string
const& productId);
540 MCAPI
void setEducationReferrerId(::std::string
const& referrerId);
543 MCAPI
void setEmoteChatMuted(
bool val);
546 MCAPI
void setExperienceWorldId(::std::string
const& experienceWorldId);
549 MCAPI
void setFlatWorldPreset(::FlatWorldPresetID preset);
551 MCAPI
void setForceGameType(
bool value);
554 MCAPI
void setFromLockedTemplate(
bool isLocked);
556 MCAPI
void setFromWorldTemplate(
bool isFromWorldTemplate);
559 MCAPI
void setGameDifficulty(::SharedTypes::Legacy::Difficulty difficulty);
561 MCAPI
void setGameType(::GameType type);
563 MCAPI
void setGenerator(::GeneratorType version);
565 MCAPI
void setHasLockedBehaviorPack(
bool hasLockedPack);
567 MCAPI
void setHasLockedResourcePack(
bool hasLockedPack);
570 MCAPI
void setHasUncompleteWorldFileOnDisk(
bool val);
573 MCAPI
void setIsCreatedInEditor(
bool isCreatedInEditor);
575 MCAPI
void setIsExportedFromEditor(
bool isExportedFromEditor);
577 MCAPI
void setIsHardcore(
bool value);
580 MCAPI
void setIsRandomSeedAllowed(
bool allowed);
583 MCAPI
void setIsSingleUseWorld(
bool isSingleUseWorld);
585 MCAPI
void setLANBroadcast(
bool broadcast);
587 MCAPI
void setLANBroadcastIntent(
bool broadcast);
589 MCAPI
void setLevelName(::std::string
const& levelName);
591 MCAPI
void setLightningLevel(
float level);
593 MCAPI
void setLightningTime(
int lightningTime);
595 MCAPI
void setMultiplayerGame(
bool multiplayer);
597 MCAPI
void setMultiplayerGameIntent(
bool multiplayer);
600 MCAPI
void setNetherType(::NetherWorldType
const& netherType);
603 MCAPI
void setOnlySpawnV1Villagers(
bool val);
605 MCAPI
void setPersonaDisabled(
bool val);
607 MCAPI
void setPlatformBroadcastIntent(::Social::GamePublishSetting broadcastMode);
609 MCAPI
void setPlatformBroadcastMode(::Social::GamePublishSetting broadcastMode);
611 MCAPI
void setPlayerHasDied(
bool value);
613 MCAPI
void setPremiumTemplateContentIdentity(
::ContentIdentity const& templateContentIdentity);
615 MCAPI
void setRainLevel(
float level);
617 MCAPI
void setRainTime(
int rainTime);
620 MCAPI
void setRequiresCopiedPackRemovalCheck(
bool required);
625 MCAPI
void setServerChunkTickRange(uint newRange);
627 MCAPI
void setSpawnPos(
::BlockPos const& spawn);
631 MCAPI
void setStartWithMapEnabled(
bool startWithMapEnabled);
633 MCAPI
void setStorageVersion(::StorageVersion version);
637 MCAPI
void setTexturepacksRequired(
bool texturepacksRequired);
639 MCAPI
void setTime(
int time);
641 MCAPI
void setUseMsaGamertagsOnly(
bool useMsaGamertagsOnly);
643 MCAPI
void setWorldTemplateIdentity(
::PackIdVersion const& packIdVersion);
645 MCAPI
void setWorldTemplateOptionLocked(
bool isLocked);
647 MCAPI
void setWorldVersion(::WorldVersion version);
649 MCAPI
void setXBLBroadcastIntent(::Social::GamePublishSetting broadcastMode);
651 MCAPI
void setXBLBroadcastMode(::Social::GamePublishSetting broadcastMode);
654 MCAPI
bool shouldAchievementsBeDisabled(
bool isTrialMode,
bool hasBehaviourPack)
const;
657 MCAPI
void touchLastLoadedWithVersion();
659 MCAPI
void updateLastTimeSaved()
const;
669 MCAPI
void* $ctor(
bool isEduMode);
671 MCAPI
void* $ctor(::LevelData&& rhs);
675 ::std::string
const& levelName,
676 ::GeneratorType generatorVersion,
678 bool achievementsDisabled,
679 ::EducationEditionOffer eduOffer,