LeviLamina
Loading...
Searching...
No Matches
TemplateStructurePiece.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/BlockPos.h"
7#include "mc/world/level/levelgen/structure/LegacyStructureSettings.h"
8#include "mc/world/level/levelgen/structure/StructurePiece.h"
9
10// auto generated forward declare list
11// clang-format off
12class BlockSource;
13class BoundingBox;
15class Random;
16// clang-format on
17
18class TemplateStructurePiece : public ::StructurePiece {
19public:
20 // member variables
21 // NOLINTBEGIN
22 ::ll::TypedStorage<8, 8, ::LegacyStructureTemplate*> mTemplate;
23 ::ll::TypedStorage<8, 192, ::LegacyStructureSettings> mSettings;
24 ::ll::TypedStorage<4, 12, ::BlockPos> mTemplatePosition;
25 ::ll::TypedStorage<1, 1, bool> mPostProcessed;
26 // NOLINTEND
27
28public:
29 // prevent constructor by default
30 TemplateStructurePiece();
31
32public:
33 // virtual functions
34 // NOLINTBEGIN
35 virtual bool postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) /*override*/;
36
37 virtual void moveBoundingBox(int dx, int dy, int dz) /*override*/;
38
39 virtual void _handleDataMarker(
40 ::std::string const& markerId,
41 ::BlockPos const& position,
42 ::BlockSource& region,
43 ::Random& random,
44 ::BoundingBox const& chunkBB
45 ) = 0;
46
47 virtual ~TemplateStructurePiece() /*override*/;
48 // NOLINTEND
49
50public:
51 // member functions
52 // NOLINTBEGIN
53 MCAPI explicit TemplateStructurePiece(int depth);
54
55 MCAPI void _setBoundingBoxFromTemplate();
56 // NOLINTEND
57
58public:
59 // constructor thunks
60 // NOLINTBEGIN
61 MCAPI void* $ctor(int depth);
62 // NOLINTEND
63
64public:
65 // destructor thunk
66 // NOLINTBEGIN
67 MCAPI void $dtor();
68 // NOLINTEND
69
70public:
71 // virtual function thunks
72 // NOLINTBEGIN
73 MCAPI bool $postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
74
75 MCAPI void $moveBoundingBox(int dx, int dy, int dz);
76
77
78 // NOLINTEND
79
80public:
81 // vftables
82 // NOLINTBEGIN
83 MCNAPI static void** $vftable();
84 // NOLINTEND
85};
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition BoundingBox.h:13
Definition LegacyStructureTemplate.h:27
Definition Random.h:10
Definition StructurePiece.h:18
static MCAPI void ** $vftable()