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 // NOLINTEND
47
48public:
49 // member functions
50 // NOLINTBEGIN
51 MCAPI explicit TemplateStructurePiece(int depth);
52
53 MCAPI void _setBoundingBoxFromTemplate();
54
55 MCAPI void _setup(
56 ::LegacyStructureTemplate& structTemplate,
57 ::LegacyStructureSettings const& settings,
58 ::BlockPos const& templatePosition
59 );
60 // NOLINTEND
61
62public:
63 // constructor thunks
64 // NOLINTBEGIN
65 MCAPI void* $ctor(int depth);
66 // NOLINTEND
67
68public:
69 // virtual function thunks
70 // NOLINTBEGIN
71 MCAPI bool $postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
72
73 MCAPI void $moveBoundingBox(int dx, int dy, int dz);
74
75
76 // NOLINTEND
77
78public:
79 // vftables
80 // NOLINTBEGIN
81 MCNAPI static void** $vftable();
82 // NOLINTEND
83};
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition BoundingBox.h:13
Definition LegacyStructureSettings.h:22
Definition LegacyStructureTemplate.h:27
Definition Random.h:10
Definition StructurePiece.h:21
static MCAPI void ** $vftable()