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
8// auto generated forward declare list
9// clang-format off
10class BlockPos;
11class BlockSource;
12class BoundingBox;
13class IRandom;
18namespace JigsawStructureUtils { class MetadataCache; }
19namespace SharedTypes::v1_21_50 { class JigsawBlockMetadata; }
20namespace SharedTypes::v1_21_50 { struct JigsawStructureMetadata; }
21namespace br::worldgen { struct StructureBlockInfo; }
22namespace br::worldgen { struct StructurePlaceSettings; }
23namespace br::worldgen { struct StructureTemplateBlockPalette; }
24// clang-format on
25
26namespace br::worldgen {
27// functions
28// NOLINTBEGIN
29MCAPI int expansionHackCalc(
31 ::BlockPos const& offset,
32 ::Rotation rotation,
33 ::BoundingBox const& box,
34 ::std::vector<::std::pair<uint64, ::SharedTypes::v1_21_50::JigsawBlockMetadata>> const& targetJigsaws,
35 ::JigsawStructureRegistry const& pools
36);
37
38MCAPI void expansionHackEval(int expandTo, ::BoundingBox& box);
39
40MCAPI bool isEmptyPool(::StructureTemplatePool const& pool);
41
42MCFOLD int
43noopCalc(::JigsawStructureUtils::MetadataCache&, ::BlockPos const&, ::Rotation, ::BoundingBox const&, ::std::vector<::std::pair<uint64, ::SharedTypes::v1_21_50::JigsawBlockMetadata>> const&, ::JigsawStructureRegistry const&);
44
45MCFOLD void noopEval(int, ::BoundingBox&);
46
47MCAPI bool placeInWorld(
48 ::IStructureTemplate const& tmpl,
49 ::BlockSource& region,
50 ::BlockPos position,
51 ::BlockPos structureOrigin,
53 ::IRandom& random
54);
55
56MCAPI ::std::vector<::br::worldgen::StructureBlockInfo> processBlockInfos(
57 ::BlockSource& region,
58 ::BlockPos position,
59 ::BlockPos structureOrigin,
62);
63
64MCAPI ::std::optional<::BlockPos> randomNamedJigsawLocation(
65 ::StructurePoolElement const& source,
66 ::std::string_view name,
67 ::BlockPos pos,
68 ::Rotation rot,
69 ::IRandom& random
70);
71
72MCAPI ::std::vector<uint64> shuffledJigsawBlockId(::StructureTemplatePool const& pool, ::IRandom& random);
73
74MCAPI ::std::vector<::std::pair<uint64, ::SharedTypes::v1_21_50::JigsawBlockMetadata>>
75shuffledJigsawBlocks(::SharedTypes::v1_21_50::JigsawStructureMetadata const& metadata, ::IRandom& random);
76// NOLINTEND
77
78} // namespace br::worldgen
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition BoundingBox.h:18
Definition IRandom.h:10
Definition IStructureTemplate.h:11
Definition JigsawStructureRegistry.h:21
Definition MetadataCache.h:13
Definition StructurePoolElement.h:35
Definition StructureTemplatePool.h:16
Definition JigsawStructureMetadata.h:7
Definition StructurePlaceSettings.h:18
Definition StructureTemplateBlockPalette.h:13