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&);
40 TraitMetadata(TraitMetadata
const&);
48 MCAPI ~TraitMetadata();
58 using RegisteredTraitsMap = ::std::unordered_map<::std::string, ::BlockTraitFactory::TraitMetadata>;
63 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::BlockTraitFactory::TraitMetadata>>
69 BlockTraitFactory& operator=(BlockTraitFactory
const&);
70 BlockTraitFactory(BlockTraitFactory
const&);
75 MCAPI BlockTraitFactory();
77 MCAPI ::std::unique_ptr<::BlockTrait::ITrait>
80 MCAPI ::BlockTraitFactory& operator=(::BlockTraitFactory&&);
82 MCAPI ~BlockTraitFactory();