3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/world/level/levelgen/v2/processors/StructureProcessorType.h"
14namespace Util {
class XXHash; }
15namespace br::worldgen {
struct StructureBlockInfo; }
16namespace br::worldgen {
struct StructurePlaceSettings; }
17namespace br::worldgen::processors {
struct RuleSet; }
20namespace br::worldgen {
30 virtual ::std::optional<::br::worldgen::StructureBlockInfo> process(
40 virtual ::std::vector<::br::worldgen::StructureBlockInfo> finalize(
44 ::std::vector<::br::worldgen::StructureBlockInfo>
const&,
45 ::std::vector<::br::worldgen::StructureBlockInfo>&& processedBlocks,
50 virtual ::br::worldgen::StructureProcessorType type()
const;
59 MCNAPI static ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>>
60 Capped(::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>> delegate,
::IntProvider limit);
62 MCNAPI static ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>>
65 MCNAPI static ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>>
68 MCNAPI static ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>>
69 Rule(::std::vector<::br::worldgen::processors::RuleSet> rules);
75 MCNAPI ::std::optional<::br::worldgen::StructureBlockInfo>
$process(
84 MCNAPI ::std::vector<::br::worldgen::StructureBlockInfo>
$finalize(
88 ::std::vector<::br::worldgen::StructureBlockInfo>
const&,
89 ::std::vector<::br::worldgen::StructureBlockInfo>&& processedBlocks,
93 MCNAPI ::br::worldgen::StructureProcessorType
$type()
const;
Definition HashedString.h:5
Definition IBlockSource.h:35
Definition IntProvider.h:13
Definition StructureBlockInfo.h:16
Definition StructurePlaceSettings.h:18
Definition StructureProcessor.h:22
MCAPI ::std::optional<::br::worldgen::StructureBlockInfo > $process(::IBlockSource &, ::BlockPos, ::BlockPos, ::br::worldgen::StructureBlockInfo const &, ::br::worldgen::StructureBlockInfo &&processedBlockInfo, ::br::worldgen::StructurePlaceSettings const &) const
MCAPI ::std::vector<::br::worldgen::StructureBlockInfo > $finalize(::IBlockSource &, ::BlockPos, ::BlockPos, ::std::vector<::br::worldgen::StructureBlockInfo > const &, ::std::vector<::br::worldgen::StructureBlockInfo > &&processedBlocks, ::br::worldgen::StructurePlaceSettings const &) const
static MCAPI ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor > > Capped(::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor > > delegate, ::IntProvider limit)
MCAPI::br::worldgen::StructureProcessorType $type() const
static MCAPI ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor > > Protected(::HashedString const &tag)
static MCAPI void ** $vftable()
static MCAPI ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor > > Protected(::std::string_view tag)
static MCAPI ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor > > Rule(::std::vector<::br::worldgen::processors::RuleSet > rules)
MCAPI void $appendMetadataKey(::Util::XXHash &) const