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_80 { class JigsawBlockMetadata; }
20namespace SharedTypes::v1_21_80 { 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
29MCNAPI int expansionHackCalc(
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
39MCNAPI void expansionHackEval(int expandTo, ::BoundingBox& box);
40
41MCNAPI bool isEmptyPool(::StructureTemplatePool const& pool);
42
43MCNAPI int noopCalc(
45 ::BlockPos const&,
46 ::Rotation,
47 ::BoundingBox const&,
48 ::std::vector<::SharedTypes::v1_21_80::JigsawBlockMetadata> const&,
49 ::std::vector<uint64> const&,
51);
52
53MCNAPI void noopEval(int, ::BoundingBox&);
54
55MCNAPI bool placeInWorld(
56 ::IStructureTemplate const& tmpl,
57 ::BlockSource& region,
58 ::BlockPos position,
59 ::BlockPos structureOrigin,
61 ::IRandom& random
62);
63
64MCNAPI ::std::vector<::br::worldgen::StructureBlockInfo> processBlockInfos(
65 ::BlockSource& region,
66 ::BlockPos position,
67 ::BlockPos structureOrigin,
70);
71
72MCNAPI ::std::optional<::BlockPos> randomNamedJigsawLocation(
73 ::StructurePoolElement const& source,
74 ::std::string_view name,
75 ::BlockPos pos,
76 ::Rotation rot,
77 ::IRandom& random
78);
79
80MCNAPI ::std::vector<uint64> shuffledJigsawBlockId(::StructureTemplatePool const& pool, ::IRandom& random);
81
82MCNAPI ::std::vector<uint64>
83shuffledJigsawBlockIndexes(::SharedTypes::v1_21_80::JigsawStructureMetadata const& metadata, ::IRandom& random);
84// NOLINTEND
85
86} // namespace br::worldgen
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition BoundingBox.h:13
Definition IRandom.h:10
Definition IStructureTemplate.h:11
Definition JigsawStructureRegistry.h:23
Definition MetadataCache.h:13
Definition StructurePoolElement.h:35
Definition StructureTemplatePool.h:16
Definition JigsawStructureMetadata.h:12
Definition StructurePlaceSettings.h:18
Definition StructureTemplateBlockPalette.h:11