LeviLamina
Loading...
Searching...
No Matches
StructurePlacement.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/levelgen/v2/RandomSpreadPlacement.h"
7
8// auto generated forward declare list
9// clang-format off
10class ChunkPos;
11namespace br::worldgen { struct ChunkGeneratorStructureState; }
12// clang-format on
13
14namespace br::worldgen {
15
17public:
18 // StructurePlacement inner types define
19 using Type = ::std::variant<::br::worldgen::RandomSpreadPlacement>;
20
21public:
22 // member variables
23 // NOLINTBEGIN
24 ::ll::TypedStorage<4, 4, float> mFrequency;
25 ::ll::TypedStorage<4, 4, int> mSalt;
26 ::ll::TypedStorage<8, 8, bool (*)(int64, int64, ::ChunkPos, float)> mReducer;
27 ::ll::TypedStorage<4, 16, ::std::variant<::br::worldgen::RandomSpreadPlacement>> mType;
28 // NOLINTEND
29
30public:
31 // member functions
32 // NOLINTBEGIN
33 MCAPI ::ChunkPos calcChunkOffset(::glm::ivec2 delta) const;
34
35 MCAPI bool isStructureChunk(::br::worldgen::ChunkGeneratorStructureState const& state, ::ChunkPos chunkPos) const;
36
37 MCAPI ::ChunkPos
38 structureChunkPos(::br::worldgen::ChunkGeneratorStructureState const& state, ::ChunkPos chunkPos) const;
39 // NOLINTEND
40
41public:
42 // static functions
43 // NOLINTBEGIN
44 MCAPI static ::br::worldgen::StructurePlacement
45 randomeSpread(int spacing, int separation, int salt, ::br::worldgen::RandomSpreadPlacement::Type type);
46 // NOLINTEND
47};
48
49} // namespace br::worldgen
Definition ChunkPos.h:11
Definition ChunkGeneratorStructureState.h:18
Definition StructurePlacement.h:16