30 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::Util::NameIdStore<::DimensionIdType>>>>
31 mDimensionNameIdStore;
32 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::DimensionRegistry>>> mDimensionRegistry;
33 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IDimensionFactory>
const> mDimensionFactory;
38 mOnNewDimensionCreatedPublisher;
39 ::ll::TypedStorage<8, 24, ::std::optional<::DimensionDefinitionGroup>> mDimensionDefinitions;
49 virtual ~DimensionManager() =
default;
51 virtual ::Bedrock::PubSub::Connector<void(
::Dimension&)>& getOnNewDimensionCreatedConnector() ;
57 MCAPI DimensionManager(
58 ::Bedrock::NotNullNonOwnerPtr<::IDimensionFactory> dimensionFactory,
59 ::std::optional<::DimensionDefinitionGroup> dimensionDefinitions
64 MCAPI
void _registerFixedVanillaDimensionIds();
66 MCFOLD
void forEachDimension(::std::function<
bool(
::Dimension&)> callback);
68 MCFOLD
void forEachDimension(::std::function<
bool(
::Dimension const&)> callback)
const;
70 MCAPI ::WeakRef<::Dimension> getDimension(::std::string_view dimensionName)
const;
72 MCAPI ::WeakRef<::Dimension> getDimension(::DimensionType dimensionType)
const;
74 MCAPI ::WeakRef<::Dimension> getOrCreateDimension(::std::string_view dimensionName);
76 MCAPI ::WeakRef<::Dimension> getOrCreateDimension(::DimensionType dimensionType);
83 ::Bedrock::NotNullNonOwnerPtr<::IDimensionFactory> dimensionFactory,
84 ::std::optional<::DimensionDefinitionGroup> dimensionDefinitions
91 MCFOLD ::Bedrock::PubSub::Connector<void(
::Dimension&)>& $getOnNewDimensionCreatedConnector();