3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/shared_types/util/Reference.h"
7#include "mc/world/level/levelgen/v2/processors/StructureProcessorType.h"
15namespace Util {
class XXHash; }
18namespace br::worldgen::processors {
struct RuleSet; }
21namespace br::worldgen {
29 virtual ::std::optional<::br::worldgen::StructureBlockInfo> process(
38 virtual ::std::vector<::br::worldgen::StructureBlockInfo> finalize(
42 ::std::vector<::br::worldgen::StructureBlockInfo>
const& originalBlocks,
43 ::std::vector<::br::worldgen::StructureBlockInfo>&& processedBlocks,
47 virtual ::br::worldgen::StructureProcessorType type()
const;
55 MCNAPI static ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>>
58 MCNAPI static ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>>
59 Capped(::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>> delegate,
::IntProvider limit);
61 MCNAPI static ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>>
64 MCNAPI static ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>>
67 MCNAPI static ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>>
68 Rule(::std::vector<::br::worldgen::processors::RuleSet> rules);
76 MCNAPI ::std::optional<::br::worldgen::StructureBlockInfo>
$process(
85 MCNAPI ::std::vector<::br::worldgen::StructureBlockInfo>
$finalize(
89 ::std::vector<::br::worldgen::StructureBlockInfo>
const& originalBlocks,
90 ::std::vector<::br::worldgen::StructureBlockInfo>&& processedBlocks,
94 MCNAPI ::br::worldgen::StructureProcessorType
$type()
const;
Definition HashedString.h:5
Definition IBlockSource.h:39
Definition IntProvider.h:15
Definition StructureBlockInfo.h:16
Definition StructurePlaceSettings.h:18
Definition StructureProcessor.h:23
MCAPI ::std::optional<::br::worldgen::StructureBlockInfo > $process(::IBlockSource &, ::BlockPos, ::BlockPos, ::br::worldgen::StructureBlockInfo const &, ::br::worldgen::StructureBlockInfo &&processedBlockInfo, ::br::worldgen::StructurePlaceSettings const &) const
static MCAPI ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor > > BlockIgnore(::std::vector<::SharedTypes::Reference< 0 > > const &blocks)
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)
MCAPI ::std::vector<::br::worldgen::StructureBlockInfo > $finalize(::IBlockSource ®ion, ::BlockPos pos, ::BlockPos structurePos, ::std::vector<::br::worldgen::StructureBlockInfo > const &originalBlocks, ::std::vector<::br::worldgen::StructureBlockInfo > &&processedBlocks, ::br::worldgen::StructurePlaceSettings const &settings) const
static MCAPI void ** $vftable()
MCAPI void $appendMetadataKey(::Util::XXHash &hash) const
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)
static MCAPI void bootstrap()