LeviLamina
Loading...
Searching...
No Matches
worldgen.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/util/Rotation.h"
7#include "mc/world/level/levelgen/structure/Projection.h"
8
9// auto generated forward declare list
10// clang-format off
11class BlockPos;
12class BlockSource;
13class BoundingBox;
14class ChunkPos;
15class IRandom;
19namespace JigsawStructureUtils { class MetadataCache; }
20namespace SharedTypes::v1_21_80 { class JigsawBlockMetadata; }
21namespace SharedTypes::v1_21_80 { struct JigsawStructureMetadata; }
22namespace br::worldgen { struct StructurePlaceSettings; }
23namespace br::worldgen { struct StructureProcessor; }
24// clang-format on
25
26namespace br::worldgen {
27// functions
28// NOLINTBEGIN
29MCAPI int expansionHackCalc(
30 ::JigsawStructureUtils::MetadataCache& cache,
31 ::BlockPos const& offset,
32 ::Rotation rotation,
33 ::BoundingBox const& box,
34 ::std::vector<::SharedTypes::v1_21_80::JigsawBlockMetadata> const& targetJigsaws,
35 ::std::vector<uint64> const& targetJigsawIndexes,
36 ::JigsawStructureRegistry const& pools
37);
38
39MCAPI void expansionHackEval(int expandTo, ::BoundingBox& box);
40
41MCAPI ::std::vector<uint64> getJigsawBlockIds(::StructureTemplatePool const& pool);
42
43MCAPI ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>> const&
44getProjectionProcessors(::Projection projection);
45
46MCFOLD int noopCalc(
47 ::JigsawStructureUtils::MetadataCache&,
48 ::BlockPos const&,
49 ::Rotation,
50 ::BoundingBox const&,
51 ::std::vector<::SharedTypes::v1_21_80::JigsawBlockMetadata> const&,
52 ::std::vector<uint64> const&,
53 ::JigsawStructureRegistry const&
54);
55
56MCFOLD void noopEval(int, ::BoundingBox&);
57
58MCAPI bool placeInWorld(
59 ::IStructureTemplate const& tmpl,
60 ::BlockSource& region,
61 ::BlockPos position,
62 ::BlockPos structureOrigin,
63 ::br::worldgen::StructurePlaceSettings const& settings,
64 ::IRandom& random
65);
66
67#ifdef LL_PLAT_C
68MCAPI bool probabilityReducer(int64 seed, int64 salt, ::ChunkPos chunkPos, float probability);
69#endif
70
71#ifdef LL_PLAT_S
72MCAPI bool probabilityReducer(int64 seed, int64 salt, ::ChunkPos chunkPos, float probability);
73#endif
74
75MCAPI ::std::vector<uint64>
76shuffledJigsawBlockIndexes(::SharedTypes::v1_21_80::JigsawStructureMetadata const& metadata, ::IRandom& random);
77// NOLINTEND
78
79} // namespace br::worldgen
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition BoundingBox.h:13
Definition ChunkPos.h:13
Definition IRandom.h:10
Definition IStructureTemplate.h:15
Definition JigsawStructureRegistry.h:22
Definition MetadataCache.h:13
Definition JigsawBlockMetadata.h:11
Definition StructureTemplatePool.h:16
Definition JigsawStructureMetadata.h:15
Definition StructurePlaceSettings.h:18
Definition StructureProcessor.h:23