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<
56 ::PoolElementStructurePiece>(::StructurePoolElement const&, ::BlockPos const&, ::Rotation const&, int, ::JigsawJunction&, ::BoundingBox const&, ::BlockPos const&)>
57 factory,
58 ::Random& random,
59 ::JigsawStructureRegistry const& pools,
60 ::Dimension& dimension
61 );
62
63 MCAPI void _addPiece(
64 ::PoolElementStructurePiece const& sourcePiece,
65 ::BlockPos const& position,
66 ::Rotation const& rotation,
67 ::BlockPos const& refPos,
68 uint64 contextDepth,
69 ::PoolAliasBinding::PoolAliasLookup const& poolAliasLookup
70 );
71
72 MCAPI ::BlockPos _findLocalAnchorOffset(
73 ::StructurePoolElement const& initialElement,
74 ::BlockPos const& pieceCornerPosition,
75 ::Rotation const& rotation,
76 ::std::string_view startAnchorName
77 ) const;
78
79 MCAPI bool _tryPlacingPiece(
80 ::PoolElementStructurePiece const& sourcePiece,
81 ::BoundingBox const& sourceBB,
82 ::JigsawBlockInfo const& sourceJigsaw,
83 ::BlockPos const& attachPos,
84 ::StructureTemplatePool const* targetPool,
85 ::BlockPos const& refPos,
86 uint64 contextDepth,
87 ::PoolAliasBinding::PoolAliasLookup const& poolAliasLookup
88 );
89
90 MCAPI void addPieces(
91 ::StructurePoolElement const& initialElement,
92 ::BlockPos const& startPosition,
93 ::Rotation const& rotation,
94 ::std::string_view startAnchorName,
95 ::PoolAliasBinding::PoolAliasLookup const& poolAliasLookup
96 );
97
98 MCAPI ~JigsawPlacement();
99 // NOLINTEND
100
101public:
102 // constructor thunks
103 // NOLINTBEGIN
104 MCAPI void* $ctor(
105 uint64 maxDepth,
106 uint64 globalContextSize,
107 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieceList,
108 ::std::function<::std::unique_ptr<
109 ::PoolElementStructurePiece>(::StructurePoolElement const&, ::BlockPos const&, ::Rotation const&, int, ::JigsawJunction&, ::BoundingBox const&, ::BlockPos const&)>
110 factory,
111 ::Random& random,
112 ::JigsawStructureRegistry const& pools,
113 ::Dimension& dimension
114 );
115 // NOLINTEND
116
117public:
118 // destructor thunk
119 // NOLINTBEGIN
120 MCAPI void $dtor();
121 // NOLINTEND
122};
Definition BlockPos.h:18
Definition BoundingBox.h:18
Definition Dimension.h:83
Definition JigsawBlockInfo.h:12
Definition JigsawPlacement.h:24
Definition JigsawStructureRegistry.h:21
Definition PoolAliasBinding.h:22
Definition PoolElementStructurePiece.h:25
Definition Random.h:16
Definition StructurePiece.h:18
Definition StructurePoolElement.h:35
Definition StructureTemplatePool.h:16
Definition JigsawJunction.h:5
Definition Alias.h:14