16class BlockTraitFactory :
public ::Factory<::BlockTrait::ITrait> {
24 struct TraitMetadata {
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;
39 TraitMetadata& operator=(TraitMetadata
const&);
49 MCAPI ~TraitMetadata();
65 using RegisteredTraitsMap = ::std::unordered_map<::std::string, ::BlockTraitFactory::TraitMetadata>;
70 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::BlockTraitFactory::TraitMetadata>>
76 BlockTraitFactory(BlockTraitFactory
const&);
82 MCAPI ::std::unique_ptr<::BlockTrait::ITrait>
85 MCAPI ::BlockTraitFactory& operator=(::BlockTraitFactory
const&);
87 MCAPI ~BlockTraitFactory();
95 MCAPI static ::std::unordered_map<::std::string, ::BlockTraitFactory::TraitMetadata>
const*