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;
75 virtual ::std::unique_ptr<::CompoundTag> save()
const;
88 virtual bool _allowReadActor(
::Actor const& actor)
const;
91 virtual ::BlockPos rawSize()
const ;
94 virtual ::br::worldgen::StructureTemplateBlockPalette randomPalette(
::BlockPos randomPosSeed)
const
102 ::std::string_view name,
111 MCAPI
void _clearStructureData();
113 MCAPI
void _fillBlockInfo(
122 MCAPI
int _getOrCreateIndex(
124 ::std::map<::Block const*, int>& indexMap,
128 MCAPI
void _placeEntitiesInWorld(
131 bool shouldReloadActorEquipment,
132 ::std::optional<::BoundingBox> overlapBB
135 MCAPI
void _placeNextBlockSegmentInWorld(
137 uint64 startPlacement,
147 ::Mirror integrityValue,
151 bool globalBlockPalette,
157 MCAPI
void fillFromWorld(
163 MCAPI ::std::vector<::JigsawStructureBlockInfo> getJigsawMarkers()
const;
165 MCAPI
bool const isWaterlogged(
::BlockPos const& pos)
const;
167 MCAPI
void optimizePalette(::std::string
const& paletteName);
169 MCAPI
void placeEntitiesInWorld(
176 MCAPI
void placeInWorld(
182 bool telemetryServerData
185 MCAPI
void placeNextSegmentInWorld(
190 MCAPI
bool setBlock(
::BlockPos const& pos,
::Block const* block,
bool waterlogged);
198 MCAPI static ::Block
const& _mapToRotation(
::Block const& curr, ::Rotation rotation);
204 MCAPI static ::BlockPos
const& INVALID_POSITION();
206 MCAPI
static int const& NO_BLOCK_INDEX_VALUE();
232 MCAPI ::std::unique_ptr<::CompoundTag> $save()
const;
241 MCAPI
bool $_allowReadActor(
::Actor const& actor)
const;
243 MCAPI ::BlockPos $rawSize()
const;
245 MCAPI ::br::worldgen::StructureTemplateBlockPalette $randomPalette(
::BlockPos randomPosSeed)
const;
251 MCAPI
static void** $vftable();