35class BlockDefinitionGroup {
47 ::ll::TypedStorage<8, 24, ::SemVersion> mFormatVersion;
48 ::ll::TypedStorage<8, 32, ::MinEngineVersion> mMinEngineVersion;
49 ::ll::TypedStorage<8, 24, ::SemVersion> mOriginalJsonVersion;
50 ::ll::TypedStorage<8, 240, ::BlockDescription> mDescription;
51 ::ll::TypedStorage<8, 32, ::std::string> mResourcePackLocation;
52 ::ll::TypedStorage<8, 32, ::std::string> mResourceFileLocation;
53 ::ll::TypedStorage<8, 16, ::Json::Value> mRoot;
60 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::DefinitionEvent>> mEventHandlers;
61 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::std::unique_ptr<::BlockDefinition>>>
66 ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::BlockDescription>>>
68 ::ll::TypedStorage<8, 128, ::BlockTraitFactory> mTraitFactory;
69 ::ll::TypedStorage<4, 4, int> mLastBlockId;
70 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mBlockResourceGroupNames;
71 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::cereal::ReflectionCtx const>> mCtx;
72 ::ll::TypedStorage<8, 8, ::IPuvLoadEventing&> mEventing;
80 LLAPI
void initializeBlocks(
::Level& level);
84 BlockDefinitionGroup& operator=(BlockDefinitionGroup
const&);
85 BlockDefinitionGroup(BlockDefinitionGroup
const&);
86 BlockDefinitionGroup();
93 MCAPI
void _buildBlockDescriptionSchema(
97 MCAPI
bool _parseComponents(
100 ::std::string
const& blockIdentifier,
106 MCAPI
void digestServerBlockProperties(::std::vector<::ServerBlockProperty>
const& blocks);
108 MCAPI ::std::unique_ptr<::BlockDefinition>
111 MCAPI ::std::vector<::ServerBlockProperty> generateServerBlockProperties()
const;
113 MCAPI ::std::vector<::BlockDefinition const*> getBlockDefinitions()
const;
117 MCAPI ::std::unique_ptr<::BlockDefinition> loadResource(
118 ::std::string upgradedJsonData,
120 ::std::string
const& resourcePacklocation,
124 MCAPI
void loadResources(
130 MCAPI
void registerBlockFromDefinition(
::BlockDefinition const& definition,
bool assertIfAlreadyExists);
132 MCAPI ::BlockDefinition
const* tryGetBlockDefinition(::std::string
const& name)
const;
134 MCAPI ~BlockDefinitionGroup();
140 MCAPI static ::SharedTypes::v1_21_110::ItemCategory::CreativeItemCategory
141 _stringToCreativeItemCategory(::std::string
const& category, ::std::string
const& blockIdentifier);
143 MCAPI
static bool _validatePrereleaseRequirements(
145 ::std::string
const& jsonType,
146 ::std::string
const& jsonIdentifier,
147 ::std::optional<::SemVersion>
const& releaseVersion,
148 ::std::vector<::PackLoadRequirement>
const& requirements,
Definition PackLoadContext.h:20