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 ChunkPos;
15class IRandom;
16class Random;
17namespace br::worldgen { struct JigsawJunction; }
18namespace br::worldgen { struct Rigid; }
19// clang-format on
20
21namespace br::worldgen {
22
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<4, 24, ::BoundingBox> mBoundingBox;
28 // NOLINTEND
29
30public:
31 // virtual functions
32 // NOLINTBEGIN
33 virtual ~StructureSection() = default;
34
35 virtual void
36 appendJunctions(::BoundingBox const& box, ::std::vector<::br::worldgen::JigsawJunction>& junctions) = 0;
37
38 virtual void
39 appendRigid(::br::worldgen::TerrainAdjustment::Type type, ::std::vector<::br::worldgen::Rigid>& rigids) = 0;
40
41 virtual bool postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) const = 0;
42
43 virtual bool postProcess(
44 ::BlockSource& region,
45 ::IRandom& random,
46 ::BlockPos structurePos,
47 ::BoundingBox const& chunkBB,
48 ::br::worldgen::JigsawReplacement replacement
49 ) const = 0;
50
51 virtual void placeEntities(::BlockSource& region, ::BoundingBox const& overlapBB) const = 0;
52 // NOLINTEND
53
54public:
55 // member functions
56 // NOLINTBEGIN
57 MCFOLD ::BoundingBox const& boundingBox() const;
58
59 MCAPI bool isNearChunk(::ChunkPos pos, int distance) const;
60 // NOLINTEND
61
62public:
63 // virtual function thunks
64 // NOLINTBEGIN
65
66 // NOLINTEND
67};
68
69} // namespace br::worldgen
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition BoundingBox.h:13
Definition ChunkPos.h:11
Definition IRandom.h:10
Definition Random.h:10
Definition StructureSection.h:23
Definition JigsawJunction.h:10
Definition Rigid.h:11