LeviLamina
Loading...
Searching...
No Matches
StructureSection.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/levelgen/structure/BoundingBox.h"
7#include "mc/world/level/levelgen/structure/structurepools/JigsawReplacement.h"
8#include "mc/world/level/levelgen/v2/terrain_adjustment/Type.h"
9
10// auto generated forward declare list
11// clang-format off
12class BlockPos;
13class BlockSource;
14class IRandom;
15class Random;
16namespace br::worldgen { struct JigsawJunction; }
17namespace br::worldgen { struct Rigid; }
18// clang-format on
19
20namespace br::worldgen {
21
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<4, 24, ::BoundingBox> mBoundingBox;
27 // NOLINTEND
28
29public:
30 // virtual functions
31 // NOLINTBEGIN
32 virtual ~StructureSection() = default;
33
34 virtual void
35 appendJunctions(::BoundingBox const& box, ::std::vector<::br::worldgen::JigsawJunction>& junctions) = 0;
36
37 virtual void
38 appendRigid(::br::worldgen::TerrainAdjustment::Type type, ::std::vector<::br::worldgen::Rigid>& rigids) = 0;
39
40 virtual bool postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) const = 0;
41
42 virtual bool postProcess(
43 ::BlockSource& region,
44 ::IRandom& random,
45 ::BlockPos structurePos,
46 ::BoundingBox const& chunkBB,
47 ::br::worldgen::JigsawReplacement replacement
48 ) const = 0;
49
50 virtual void placeEntities(::BlockSource& region, ::BoundingBox const& overlapBB) const = 0;
51 // NOLINTEND
52
53public:
54 // virtual function thunks
55 // NOLINTBEGIN
56
57 // NOLINTEND
58
59public:
60 // vftables
61 // NOLINTBEGIN
62 MCNAPI static void** $vftable();
63 // NOLINTEND
64};
65
66} // namespace br::worldgen
Definition BlockPos.h:19
Definition BlockSource.h:71
Definition BoundingBox.h:13
Definition IRandom.h:10
Definition Random.h:10
Definition StructureSection.h:22
static MCAPI void ** $vftable()
Definition JigsawJunction.h:10
Definition Rigid.h:11