LeviLamina
Loading...
Searching...
No Matches
JigsawPlacement.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/structurepools/alias/PoolAliasBinding.h"
8
9// auto generated forward declare list
10// clang-format off
11class BlockPos;
12class BoundingBox;
13class Dimension;
14class JigsawBlockInfo;
17class Random;
18class StructurePiece;
21struct JigsawJunction;
22// clang-format on
23
25public:
26 // member variables
27 // NOLINTBEGIN
40 // NOLINTEND
41
42public:
43 // prevent constructor by default
44 JigsawPlacement& operator=(JigsawPlacement const&);
47
48public:
49 // member functions
50 // NOLINTBEGIN
51 MCAPI JigsawPlacement(
52 uint64 maxDepth,
53 uint64 globalContextSize,
54 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieceList,
55 ::std::function<::std::unique_ptr<::PoolElementStructurePiece>(
57 ::BlockPos const&,
58 ::Rotation const&,
59 int,
61 ::BoundingBox const&,
62 ::BlockPos const&
63 )> factory,
64 ::Random& random,
65 ::JigsawStructureRegistry const& pools,
66 ::Dimension& dimension
67 );
68
69 MCAPI void _addPiece(
70 ::PoolElementStructurePiece const& sourcePiece,
71 ::BlockPos const& position,
72 ::Rotation const& rotation,
73 ::BlockPos const& refPos,
74 uint64 contextDepth,
75 ::PoolAliasBinding::PoolAliasLookup const& poolAliasLookup
76 );
77
78 MCAPI ::BlockPos _findLocalAnchorOffset(
79 ::StructurePoolElement const& initialElement,
80 ::BlockPos const& pieceCornerPosition,
81 ::Rotation const& rotation,
82 ::std::string_view startAnchorName
83 ) const;
84
85 MCAPI bool _tryPlacingPiece(
86 ::PoolElementStructurePiece const& sourcePiece,
87 ::BoundingBox const& sourceBB,
88 ::JigsawBlockInfo const& sourceJigsaw,
89 ::BlockPos const& attachPos,
90 ::StructureTemplatePool const* targetPool,
91 ::BlockPos const& refPos,
92 uint64 contextDepth,
93 ::PoolAliasBinding::PoolAliasLookup const& poolAliasLookup
94 );
95
96 MCAPI void addPieces(
97 ::StructurePoolElement const& initialElement,
98 ::BlockPos const& startPosition,
99 ::Rotation const& rotation,
100 ::std::string_view startAnchorName,
101 ::PoolAliasBinding::PoolAliasLookup const& poolAliasLookup
102 );
103
104 MCAPI ~JigsawPlacement();
105 // NOLINTEND
106
107public:
108 // constructor thunks
109 // NOLINTBEGIN
110 MCAPI void* $ctor(
111 uint64 maxDepth,
112 uint64 globalContextSize,
113 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieceList,
114 ::std::function<::std::unique_ptr<::PoolElementStructurePiece>(
116 ::BlockPos const&,
117 ::Rotation const&,
118 int,
120 ::BoundingBox const&,
121 ::BlockPos const&
122 )> factory,
123 ::Random& random,
124 ::JigsawStructureRegistry const& pools,
125 ::Dimension& dimension
126 );
127 // NOLINTEND
128
129public:
130 // destructor thunk
131 // NOLINTBEGIN
132 MCAPI void $dtor();
133 // NOLINTEND
134};
Definition BlockPos.h:18
Definition BoundingBox.h:13
Definition Dimension.h:83
Definition JigsawBlockInfo.h:12
Definition JigsawPlacement.h:24
Definition JigsawStructureRegistry.h:23
Definition PoolAliasBinding.h:22
Definition PoolElementStructurePiece.h:25
Definition Random.h:11
Definition StructurePiece.h:18
Definition StructurePoolElement.h:35
Definition StructureTemplatePool.h:16
Definition JigsawJunction.h:5
Definition Alias.h:14