3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/sem_ver/SemVersion.h"
7#include "mc/util/Factory.h"
12namespace BlockTrait {
class ITrait; }
27 using Ctor = ::std::unique_ptr<::BlockTrait::ITrait> (*)();
32 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::BlockTrait::ITrait> (*)()> makeUnique;
33 ::ll::TypedStorage<8, 24, ::std::vector<::PackLoadRequirement>> requirements;
34 ::ll::TypedStorage<8, 32, ::std::optional<::SemVersion>> releasedMinFormatVersion;
38 using RegisteredTraitsMap = ::std::unordered_map<::std::string, ::BlockTraitFactory::TraitMetadata>;
43 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::BlockTraitFactory::TraitMetadata>>
50 MCNAPI ::std::unique_ptr<::BlockTrait::ITrait>
61 MCNAPI static ::std::unordered_map<::std::string, ::BlockTraitFactory::TraitMetadata>
const*
Definition BlockTraitFactory.h:16
MCAPI ~BlockTraitFactory()
static MCAPI void registerAllTraits(::cereal::ReflectionCtx &ctx)
static MCAPI ::std::unordered_map<::std::string, ::BlockTraitFactory::TraitMetadata > const * registeredTraits(::cereal::ReflectionCtx const &ctx)
static MCAPI ::BlockTraitFactory & setupContextInstanceIfRequired(::cereal::ReflectionCtx &ctx)
MCAPI ::std::unique_ptr<::BlockTrait::ITrait > createTrait(::std::string const &name, ::cereal::ReflectionCtx const &ctx) const
Definition PackLoadRequirement.h:12
Definition ReflectionCtx.h:11