LeviLamina
Loading...
Searching...
No Matches
BlockArchetypeDispatcher.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/block/BlockShape.h"
7
9class CompoundTag;
10namespace cereal {
11struct ReflectionCtx;
12}
13
14// clang-format off
15class BlockType;
16class Material;
17namespace SharedTypes::v1_26_20::BlockDefinition { struct BlockArchetype; }
18// clang-format on
19
21public:
23 [[nodiscard]] LLNDAPI static ::BlockType* tryRegisterBlock(
25 ::std::string const& blockName,
26 int blockID,
27 ::Material const& material
28 );
29
30 // static functions
31 // NOLINTBEGIN
32 MCAPI static void buildNetworkTag(
34 ::CompoundTag& tag,
36 );
37
38#ifdef LL_PLAT_C
39 MCAPI static ::BlockShape getBlockShape(::std::string const& blockName);
40#endif
41
42 MCAPI static void initializeFromNetwork(
43 ::CompoundTag const& tag,
46 );
47
48 MCAPI static ::BlockType* tryRegisterBlock(
49 ::BlockTypeRegistry& registry,
51 ::std::string const& blockName,
52 int blockID,
53 ::Material const& material
54 );
55 // NOLINTEND
56};
Definition BlockTypeRegistry.h:28
Definition BlockType.h:79
Definition CompoundTag.h:18
Definition Material.h:8
Definition BlockArchetypeDispatcher.h:20
static LLNDAPI ::BlockType * tryRegisterBlock(::SharedTypes::v1_26_20::BlockDefinition::BlockArchetype const &archetypeData, ::std::string const &blockName, int blockID, ::Material const &material)
Definition ReflectionCtx.h:11
Definition ctx.h:5