3#include "mc/_HeaderOutputPredefine.h"
4#include "mc/world/level/block/registry/BlockTypeRegistry.h"
13namespace SharedTypes::v1_26_20::BlockDefinition {
struct BlockArchetype; }
14namespace SharedTypes::v1_26_20::BlockDefinition {
struct BushArchetype; }
19namespace BlockArchetypeDispatcherImpl {
22using BlockFactory = ::std::function<::BlockType*(
23 ::SharedTypes::v1_26_20::BlockDefinition::BlockArchetype
const& archetypeData,
24 ::std::string
const& blockName,
26 ::Material
const& material
30[[nodiscard]] LLNDAPI ::std::unordered_map<::std::string_view, BlockFactory>
const& getBlockFactories();
35template <
class TArchetype>
36::BlockType* registerArchetypeBlock(
37 ::SharedTypes::v1_26_20::BlockDefinition::BlockArchetype
const& archetypeData,
38 ::std::string
const& blockName,
40 ::Material
const& material
44LLNDAPI ::BlockType* registerArchetypeBlock<::SharedTypes::v1_26_20::BlockDefinition::BushArchetype>(
45 ::SharedTypes::v1_26_20::BlockDefinition::BlockArchetype
const& archetypeData,
46 ::std::string
const& blockName,
48 ::Material
const& material
52LLNDAPI ::BlockType* registerArchetypeBlock<::SharedTypes::v1_26_20::BlockDefinition::FlowerBedArchetype>(
53 ::SharedTypes::v1_26_20::BlockDefinition::BlockArchetype
const& archetypeData,
54 ::std::string
const& blockName,
56 ::Material
const& material
60LLNDAPI ::BlockType* registerArchetypeBlock<::SharedTypes::v1_26_20::BlockDefinition::PumpkinArchetype>(
61 ::SharedTypes::v1_26_20::BlockDefinition::BlockArchetype
const& archetypeData,
62 ::std::string
const& blockName,
64 ::Material
const& material
Definition BlockType.h:79
Definition BushBlock.h:17
Definition FlowerBedBlock.h:24
Definition HashedString.h:5
Definition PumpkinBlock.h:22
Definition BlockArchetype.h:15
Definition BushArchetype.h:7
Definition FlowerBedArchetype.h:7
Definition PumpkinArchetype.h:7