LeviLamina
Loading...
Searching...
No Matches
JigsawStructurePostprocessAction.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/chunk/IRequestAction.h"
8#include "mc/world/level/levelgen/structure/BoundingBox.h"
9#include "mc/world/level/levelgen/structure/structurepools/JigsawReplacement.h"
10#include "mc/world/level/levelgen/v2/LiquidSettings.h"
11
12// auto generated forward declare list
13// clang-format off
14class BlockSource;
15class CompoundTag;
16class Dimension;
18class ServerLevel;
19namespace br::worldgen { class PoolElementStructureSection; }
20namespace cereal { struct ReflectionCtx; }
21// clang-format on
22
23class JigsawStructurePostprocessAction : public ::IRequestAction {
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::br::worldgen::PoolElementStructureSection>> mSection;
28 ::ll::TypedStorage<4, 12, ::BlockPos> mOriginPos;
29 ::ll::TypedStorage<4, 24, ::BoundingBox> mChunkBounds;
30 ::ll::TypedStorage<8, 8, ::BlockSource*> mRegionOverride;
31 ::ll::TypedStorage<1, 1, ::br::worldgen::JigsawReplacement> mJigsawReplacement;
32 ::ll::TypedStorage<1, 1, bool> mIncludeEntities;
33 ::ll::TypedStorage<1, 1, ::br::worldgen::LiquidSettings> mLiquidSettings;
34 // NOLINTEND
35
36public:
37 // prevent constructor by default
38 JigsawStructurePostprocessAction();
39
40public:
41 // virtual functions
42 // NOLINTBEGIN
43 virtual void execute(::ServerLevel& level, ::Dimension& dimension) /*override*/;
44
45 virtual void serialize(::CompoundTag& tag) /*override*/;
46 // NOLINTEND
47
48public:
49 // member functions
50 // NOLINTBEGIN
51 MCAPI JigsawStructurePostprocessAction(
52 ::std::unique_ptr<::br::worldgen::PoolElementStructureSection> section,
53 ::BlockPos structureOrigin,
54 ::BoundingBox chunkBounds,
55 ::br::worldgen::JigsawReplacement jigsawReplacement,
56 bool includeEntities,
57 ::br::worldgen::LiquidSettings liquidSettings,
58 ::BlockSource* regionOverride
59 );
60 // NOLINTEND
61
62public:
63 // static functions
64 // NOLINTBEGIN
65 MCAPI static bool isValidTag(::CompoundTag const& tag);
66
67 MCAPI static ::std::unique_ptr<::JigsawStructurePostprocessAction>
68 load(::CompoundTag const& tag, ::JigsawStructureElementRegistry const& elementReg);
69 // NOLINTEND
70
71public:
72 // static variables
73 // NOLINTBEGIN
74 MCAPI static ::std::unique_ptr<::cereal::ReflectionCtx>& mCerealContext();
75 // NOLINTEND
76
77public:
78 // constructor thunks
79 // NOLINTBEGIN
80 MCAPI void* $ctor(
81 ::std::unique_ptr<::br::worldgen::PoolElementStructureSection> section,
82 ::BlockPos structureOrigin,
83 ::BoundingBox chunkBounds,
84 ::br::worldgen::JigsawReplacement jigsawReplacement,
85 bool includeEntities,
86 ::br::worldgen::LiquidSettings liquidSettings,
87 ::BlockSource* regionOverride
88 );
89 // NOLINTEND
90
91public:
92 // virtual function thunks
93 // NOLINTBEGIN
94 MCAPI void $execute(::ServerLevel& level, ::Dimension& dimension);
95
96 MCAPI void $serialize(::CompoundTag& tag);
97
98
99 // NOLINTEND
100
101public:
102 // vftables
103 // NOLINTBEGIN
104 MCNAPI static void** $vftable();
105 // NOLINTEND
106};
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition BoundingBox.h:13
Definition CompoundTag.h:23
Definition Dimension.h:89
Definition JigsawStructureElementRegistry.h:10
static MCAPI void ** $vftable()
Definition ServerLevel.h:59
Definition PoolElementStructureSection.h:27
Definition ReflectionCtx.h:11