32 enum class AreaLimitCheck :
int {
35 ActiveAndPendingStandalone = 2,
38 using ActivePerDimension = ::std::map<::DimensionType, ::std::shared_ptr<::TickingAreaList>>;
40 using PendingPerDimension = ::std::unordered_map<::DimensionType, ::std::vector<::PendingArea>>;
45 ::ll::TypedStorage<8, 16, ::std::map<::DimensionType, ::std::shared_ptr<::TickingAreaList>>> mActiveAreas;
46 ::ll::TypedStorage<8, 64, ::std::unordered_map<::DimensionType, ::std::vector<::PendingArea>>> mPendingAreas;
47 ::ll::TypedStorage<1, 1, bool> mIsPreloadDone;
48 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::LevelStorage>
const> mLevelStorage;
49 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mPostReloadActorAdded;
50 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnCanStartGameSaveTimerCheckSubscription;
62 MCAPI ::AddTickingAreaStatus _addArea(
64 ::std::string
const& name,
67 ::TickingAreasManager::AreaLimitCheck limitCheck,
69 ::TickingAreaLoadMode loadMode,
75 MCAPI ::std::string _findUsableDefaultName(
77 ::std::vector<::PendingArea>
const& pendingAreas
80 MCAPI ::std::vector<::TickingAreaDescription> _getPendingAreaDescriptionsFiltered(
86 _hasPendingTickingAreaNamed(::std::string
const& name, ::std::vector<::PendingArea>
const& dimensionAreas)
const;
88 MCAPI
void _postReloadActorAdded(
::Actor& actor);
90 MCAPI
void _processAdds(
::Level& level);
98 MCAPI ::AddTickingAreaStatus addArea(
100 ::std::string
const& name,
103 ::TickingAreasManager::AreaLimitCheck limitCheck,
105 ::TickingAreaLoadMode loadMode,
111 MCAPI
void addEntityArea(
116 float maxDistToPlayers,
120 MCAPI uint countActiveStandaloneTickingAreas()
const;
122 MCAPI uint countStandaloneTickingAreas()
const;
124 MCAPI
void loadArea(::std::string
const& key,
::CompoundTag const* tag);
132 MCAPI ::std::vector<::TickingAreaDescription>
135 MCAPI ::std::vector<::TickingAreaDescription>
138 MCAPI ::std::vector<::TickingAreaDescription> setPendingAreaLoadModeByName(
140 ::std::string
const& name,
141 ::TickingAreaLoadMode loadMode,
145 MCAPI ::std::vector<::TickingAreaDescription> setPendingAreaLoadModeByPosition(
148 ::TickingAreaLoadMode loadMode,
160 MCAPI static ::TickingAreasManager::AreaLimitCheck getLimitCheck(
::Level const& level,
bool enforce);