3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/common/WeakPtr.h"
7#include "mc/deps/core/debug/log/LogArea.h"
8#include "mc/deps/core/file/PathBuffer.h"
9#include "mc/resources/JsonBetaState.h"
10#include "mc/util/json_util/JsonSchemaObjectNode.h"
11#include "mc/world/item/CreativeItemCategory.h"
29namespace Json {
class Value; }
30namespace JsonUtil {
class EmptyClass; }
31namespace cereal {
struct ReflectionCtx; }
113 ::JsonBetaState& canUseBeta,
122 ::JsonBetaState canUseBeta
134 ::std::string
const& blockIdentifier,
137 ::JsonBetaState canUseBeta
149 ::std::string
const& jsonType,
150 ::std::string
const& jsonIdentifier,
151 ::std::optional<::SemVersion>
const& releaseVersion,
152 ::std::vector<::PackLoadRequirement>
const& requirements,
154 ::JsonBetaState canUseBeta
159 MCNAPI ::std::unique_ptr<::BlockDefinition>
180 ::std::string upgradedJsonData,
182 ::std::string
const& resourcePacklocation,
Definition BlockDefinitionGroup.h:34
MCAPI ::std::unique_ptr<::BlockDefinition > generateBlockDefinition(::BlockDefinitionGroup::BlockResource const &resource, ::IPackLoadContext &packLoadContext)
MCAPI bool _loadEvents(::Json::Value const &root, ::BlockDefinition &definition, ::IPackLoadContext &packLoadContext)
MCAPI bool _validateCrossComponentConstraints(::BlockComponentGroupDescription const &description, ::SemVersion const &mOriginalJsonVersion) const
MCAPI bool _loadBlockDescription(::Json::Value const &root, ::BlockDescription &desc, ::JsonBetaState &canUseBeta, ::IPackLoadContext const &packLoadContext, ::SemVersion const &jsonVersion)
MCAPI void _applyBlockStates(::BlockLegacy *block, ::BlockDefinition const &definition)
MCAPI ~BlockDefinitionGroup()
MCAPI bool _loadComponents(::Json::Value const &root, ::BlockDefinition &definition, ::IPackLoadContext &packLoadContext, ::JsonBetaState canUseBeta)
MCAPI ::std::vector<::std::pair<::std::string, ::CompoundTag > > generateServerBlockProperties() const
MCAPI void registerBlockFromDefinition(::BlockDefinition const &definition, bool assertIfAlreadyExists)
MCAPI bool generateBlockResource(::Json::Value const &root, ::IPackLoadContext const &packLoadContext, ::SemVersion const &originalJsonVersion, ::BlockDefinitionGroup::BlockResource &out)
MCAPI void initBlockLegacyFromDefinition(::BlockLegacy &blockLegacy, ::BlockDefinition const &definition)
MCAPI ::std::vector<::BlockDefinition const * > getBlockDefinitions() const
MCAPI void initBlockFromDefinition(::Block &block, ::BlockPermutationDescription const &definition)
MCAPI void initializeBlockFromDefinition(::BlockDefinition const &definition, ::Level &level)
MCAPI bool _checkInvalidPermutationComponents(::BlockComponentGroupDescription const &componentGroupDescription)
MCAPI::CreativeItemCategory _stringToCreativeItemCategory(::std::string const &str)
MCAPI ::WeakPtr<::BlockLegacy > registerDataDrivenBlock(::BlockDescription const &desc)
MCAPI ::std::unique_ptr<::BlockDefinition > loadResource(::std::string upgradedJsonData, ::Core::PathBuffer<::std::string > const &res, ::std::string const &resourcePacklocation, ::IPackLoadContext &packLoadContext)
MCAPI BlockDefinitionGroup(::cereal::ReflectionCtx const &ctx)
MCAPI void * $ctor(::cereal::ReflectionCtx const &ctx)
MCAPI void loadResources(::ResourcePackManager const &resourcePackManager, ::Experiments const &experiments, ::LinkedAssetValidator &validator)
MCAPI void _loadComponentsForLegacyCompabitility(::SemVersion const &originalJsonVersion, ::BlockDefinition &definition)
MCAPI void buildBlockSchema()
MCAPI bool _validatePrereleaseRequirements(::LogArea logArea, ::std::string const &jsonType, ::std::string const &jsonIdentifier, ::std::optional<::SemVersion > const &releaseVersion, ::std::vector<::PackLoadRequirement > const &requirements, ::IPackLoadContext const &packLoadContext, ::JsonBetaState canUseBeta) const
MCAPI void _buildBlockDescriptionSchema(::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::BlockDescription > > &description)
MCAPI void _buildBlockMenuCategorySchema(::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::BlockDescription > > &description)
MCAPI bool _parseComponents(::Json::Value const &blockRoot, ::BlockComponentGroupDescription &componentGroupDescription, ::std::string const &blockIdentifier, ::SemVersion const &originalJsonVersion, ::IPackLoadContext &packLoadContext, ::JsonBetaState canUseBeta)
Definition BlockLegacy.h:88
Definition CompoundTag.h:13
Definition PathBuffer.h:8
Definition Experiments.h:14
Definition IPackLoadContext.h:20
Definition JsonSchemaObjectNode.h:8
Definition LinkedAssetValidator.h:8
Definition PackLoadRequirement.h:19
Definition ResourcePackManager.h:23
Definition SemVersion.h:15
Definition BlockComponentGroupDescription.h:12
Definition BlockDefinitionGroup.h:42
Definition BlockDefinition.h:13
Definition BlockDescription.h:5
Definition BlockPermutationDescription.h:5
Definition ReflectionCtx.h:11