28class JigsawPlacement {
31 using PieceFactory = ::std::function<::std::unique_ptr<::PoolElementStructurePiece>(
44 ::ll::TypedStorage<4, 4, int const> mMaxDepth;
45 ::ll::TypedStorage<4, 4, int const> mGlobalContextSize;
49 ::std::function<::std::unique_ptr<::PoolElementStructurePiece>(
59 ::ll::TypedStorage<8, 8, ::std::vector<::std::unique_ptr<::StructurePiece>>&> mPieceList;
60 ::ll::TypedStorage<8, 8, ::Random&> mRandom;
61 ::ll::TypedStorage<8, 8, ::JigsawStructureRegistry const&> mPools;
62 ::ll::TypedStorage<8, 8, ::Dimension&> mDimension;
63 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ChunkPos, ::std::unique_ptr<::std::vector<short>>>>
66 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::std::vector<::BoundingBox>, ::std::vector<::BoundingBox>>>>
68 ::ll::TypedStorage<8, 24, ::std::vector<::Block const*>> mBlockBuffer;
69 ::ll::TypedStorage<8, 40, ::BlockVolume> mBlockBufferBox;
74 JigsawPlacement& operator=(JigsawPlacement
const&);
75 JigsawPlacement(JigsawPlacement
const&);
81 MCAPI JigsawPlacement(
83 uint64 globalContextSize,
84 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieceList,
85 ::std::function<::std::unique_ptr<::PoolElementStructurePiece>(
102 ::Rotation
const& rotation,
108 MCAPI
bool _tryPlacingPiece(
119 MCAPI
void addPieces(
122 ::Rotation
const& rotation,
123 ::std::string_view startAnchorName,
133 uint64 globalContextSize,
134 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieceList,
135 ::std::function<::std::unique_ptr<::PoolElementStructurePiece>(