3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/util/Rotation.h"
7#include "mc/world/level/ChunkPos.h"
25class LegacyJigsawPlacement {
28 using PieceFactory = ::std::function<::std::unique_ptr<::PoolElementStructurePiece>(
41 ::ll::TypedStorage<4, 4, int const> mMaxDepth;
45 ::std::function<::std::unique_ptr<::PoolElementStructurePiece>(
55 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ChunkPos, ::std::unique_ptr<::std::vector<short>>>>
61 LegacyJigsawPlacement();
66 MCAPI LegacyJigsawPlacement(
68 ::std::function<::std::unique_ptr<::PoolElementStructurePiece>(
80 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
84 ::Rotation
const& rotation,
91 MCAPI
bool _tryPlacingPiece(
92 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
97 ::std::vector<::BoundingBox>& sourceInternalBBs,
107 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
111 ::Rotation
const& rotation,
122 ::std::function<::std::unique_ptr<::PoolElementStructurePiece>(
Definition BlockVolume.h:14
Definition BoundingBox.h:13
Definition Dimension.h:86
Definition JigsawBlockInfo.h:14
Definition JigsawStructureRegistry.h:22
MCAPI void _addPiece(::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::PoolElementStructurePiece const &sourcePiece, ::Random &random, ::BlockPos const &position, ::Rotation const &rotation, ::JigsawStructureRegistry const &pools, ::Dimension &dimension, ::BlockVolume &box, ::BlockPos const &refPos)
MCAPI void addPieces(::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::StructurePoolElement const &initialElement, ::Random &random, ::BlockPos const &position, ::Rotation const &rotation, ::JigsawStructureRegistry const &pools, ::Dimension &dimension)
Definition PoolElementStructurePiece.h:25
Definition StructurePiece.h:18
Definition StructurePoolElement.h:39
Definition StructureTemplatePool.h:16
Definition JigsawJunction.h:9