34 LLAPI
void placeInWorld(
37 Mirror mirror = Mirror::None,
38 Rotation rotation = Rotation::None,
39 bool ignoreBlocks =
false,
40 bool ignoreEntities =
false
43 LLNDAPI
static std::unique_ptr<StructureTemplate> create(std::string_view name,
CompoundTag const& tag);
45 LLNDAPI
static std::unique_ptr<StructureTemplate> create(
46 std::string_view name,
49 bool ignoreBlocks =
false,
50 bool ignoreEntities =
false
56 ::ll::TypedStorage<8, 32, ::std::string> mName;
57 ::ll::TypedStorage<8, 176, ::StructureTemplateData> mStructureTemplateData;
58 ::ll::TypedStorage<1, 1, uchar> mStructureVersion;
59 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::IUnknownBlockTypeRegistry>> mUnknownBlockRegistry;
60 ::ll::TypedStorage<1, 1, bool> mIsRemovable;
61 ::ll::TypedStorage<8, 16, ::std::map<::Block const*, int>> mBlockToIndex;
62 ::ll::TypedStorage<1, 1, bool> mNeedsOptimize;
79 virtual ::std::unique_ptr<::CompoundTag> save()
const;
89 virtual void fillEmpty(
::BlockPos const& size);
95 virtual bool _allowReadActor(
::Actor const& actor)
const;
98 virtual ::BlockPos rawSize()
const ;
101 virtual ::br::worldgen::StructureTemplateBlockPalette randomPalette(
::BlockPos randomPosSeed)
const
109 ::std::string_view name,
118 MCAPI
void _clearStructureData();
120 MCAPI
void _fillBlockInfo(
129 MCAPI
int _getOrCreateIndex(
131 ::std::map<::Block const*, int>& indexMap,
135 MCAPI
void _placeEntitiesInWorld(
138 bool shouldReloadActorEquipment,
139 ::std::optional<::BoundingBox> overlapBB
142 MCAPI
void _placeNextBlockSegmentInWorld(
144 uint64 startPlacement,
155 float integrityValue,
159 bool ignoreJigsawBlocks
162 MCAPI
void fillFromWorld(
168 MCAPI ::std::vector<::JigsawStructureBlockInfo> getJigsawMarkers()
const;
170 MCAPI
bool const isWaterlogged(
::BlockPos const& pos)
const;
172 MCAPI
void optimizePalette(::std::string
const& paletteName);
174 MCAPI
void placeEntitiesInWorld(
181 MCAPI
void placeInWorld(
190 MCAPI
void placeNextSegmentInWorld(
195 MCAPI
bool setBlock(
::BlockPos const& pos,
::Block const* block,
bool waterlogged);
203 MCAPI static ::Block
const& _mapToRotation(
::Block const& curr, ::Rotation rotation);
209 MCAPI static ::BlockPos
const& INVALID_POSITION();
211 MCAPI
static int const& NO_BLOCK_INDEX_VALUE();
237 MCAPI ::std::unique_ptr<::CompoundTag> $save()
const;
244 MCAPI
void $fillEmpty(
::BlockPos const& size);
248 MCAPI
bool $_allowReadActor(
::Actor const& actor)
const;
250 MCAPI ::BlockPos $rawSize()
const;
252 MCAPI ::br::worldgen::StructureTemplateBlockPalette $randomPalette(
::BlockPos randomPosSeed)
const;