39class BlockDefinitionGroup {
51 ::ll::TypedStorage<8, 24, ::SemVersion> mFormatVersion;
52 ::ll::TypedStorage<8, 32, ::MinEngineVersion> mMinEngineVersion;
53 ::ll::TypedStorage<8, 24, ::SemVersion> mOriginalJsonVersion;
54 ::ll::TypedStorage<8, 192, ::BlockDescription> mDescription;
55 ::ll::TypedStorage<1, 1, ::JsonBetaState> mIsBeta;
56 ::ll::TypedStorage<8, 32, ::std::string> mResourcePackLocation;
57 ::ll::TypedStorage<8, 32, ::std::string> mResourceFileLocation;
58 ::ll::TypedStorage<8, 16, ::Json::Value> mRoot;
77 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::DefinitionEvent>> mEventHandlers;
78 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::std::unique_ptr<::BlockDefinition>>>
83 ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::BlockDescription>>>
85 ::ll::TypedStorage<8, 128, ::BlockTraitFactory> mTraitFactory;
86 ::ll::TypedStorage<4, 4, int> mLastBlockId;
87 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mBlockResourceGroupNames;
88 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::cereal::ReflectionCtx const>> mCtx;
89 ::ll::TypedStorage<8, 8, ::IMinecraftEventing&> mEventing;
94 BlockDefinitionGroup& operator=(BlockDefinitionGroup
const&);
95 BlockDefinitionGroup(BlockDefinitionGroup
const&);
96 BlockDefinitionGroup();
105 MCAPI
void _buildBlockDescriptionSchema(
109 MCAPI
void _buildBlockMenuCategorySchema(
115 MCAPI
bool _loadBlockDescription(
118 ::JsonBetaState& canUseBeta,
123 MCAPI
bool _loadComponents(
127 ::JsonBetaState canUseBeta
136 MCAPI
bool _parseComponents(
139 ::std::string
const& blockIdentifier,
142 ::JsonBetaState canUseBeta,
146 MCAPI ::SharedTypes::v1_21_110::ItemCategory::CreativeItemCategory
147 _stringToCreativeItemCategory(::std::string
const& category, ::std::string
const& blockIdentifier);
152 MCAPI
bool _validateAndAssignBlockId(
::BlockDescription& desc,
bool isFromBaseGamePack);
154 MCAPI
bool _validatePrereleaseRequirements(
156 ::std::string
const& jsonType,
157 ::std::string
const& jsonIdentifier,
158 ::std::optional<::SemVersion>
const& releaseVersion,
159 ::std::vector<::PackLoadRequirement>
const& requirements,
161 ::JsonBetaState canUseBeta
164 MCAPI
void buildBlockSchema();
166 MCAPI
void digestServerBlockProperties(::std::vector<::std::pair<::std::string, ::CompoundTag>>
const& blocks);
168 MCAPI ::std::unique_ptr<::BlockDefinition>
171 MCAPI ::std::vector<::std::pair<::std::string, ::CompoundTag>> generateServerBlockProperties()
const;
173 MCAPI ::std::vector<::BlockDefinition const*> getBlockDefinitions()
const;
181 MCAPI ::std::unique_ptr<::BlockDefinition> loadResource(
182 ::std::string upgradedJsonData,
184 ::std::string
const& resourcePacklocation,
188 MCAPI
void loadResources(
194 MCAPI
void registerBlockDefinition(::std::unique_ptr<::BlockDefinition> blockDef);
196 MCAPI
void registerBlockFromDefinition(
::BlockDefinition const& definition,
bool assertIfAlreadyExists);
200 MCAPI ~BlockDefinitionGroup();
Definition PackLoadContext.h:20