LeviLamina
Loading...
Searching...
No Matches
StructureProcessor.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/levelgen/v2/processors/StructureProcessorType.h"
7
8// auto generated forward declare list
9// clang-format off
10class BlockPos;
11class HashedString;
12class IBlockSource;
13struct IntProvider;
14namespace Util { class XXHash; }
15namespace br::worldgen { struct StructureBlockInfo; }
16namespace br::worldgen { struct StructurePlaceSettings; }
17namespace br::worldgen::processors { struct RuleSet; }
18// clang-format on
19
20namespace br::worldgen {
21
23public:
24 // virtual functions
25 // NOLINTBEGIN
26 // vIndex: 0
27 virtual ~StructureProcessor() = default;
28
29 // vIndex: 1
30 virtual ::std::optional<::br::worldgen::StructureBlockInfo> process(
35 ::br::worldgen::StructureBlockInfo&& processedBlockInfo,
37 ) const;
38
39 // vIndex: 2
40 virtual ::std::vector<::br::worldgen::StructureBlockInfo> finalize(
44 ::std::vector<::br::worldgen::StructureBlockInfo> const&,
45 ::std::vector<::br::worldgen::StructureBlockInfo>&& processedBlocks,
47 ) const;
48
49 // vIndex: 3
50 virtual ::br::worldgen::StructureProcessorType type() const;
51
52 // vIndex: 4
53 virtual void appendMetadataKey(::Util::XXHash&) const;
54 // NOLINTEND
55
56public:
57 // static functions
58 // NOLINTBEGIN
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);
61
62 MCNAPI static ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>>
63 Protected(::std::string_view tag);
64
65 MCNAPI static ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>>
67
68 MCNAPI static ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>>
69 Rule(::std::vector<::br::worldgen::processors::RuleSet> rules);
70 // NOLINTEND
71
72public:
73 // virtual function thunks
74 // NOLINTBEGIN
75 MCNAPI ::std::optional<::br::worldgen::StructureBlockInfo> $process(
80 ::br::worldgen::StructureBlockInfo&& processedBlockInfo,
82 ) const;
83
84 MCNAPI ::std::vector<::br::worldgen::StructureBlockInfo> $finalize(
88 ::std::vector<::br::worldgen::StructureBlockInfo> const&,
89 ::std::vector<::br::worldgen::StructureBlockInfo>&& processedBlocks,
91 ) const;
92
93 MCNAPI ::br::worldgen::StructureProcessorType $type() const;
94
96 // NOLINTEND
97
98public:
99 // vftables
100 // NOLINTBEGIN
101 MCNAPI static void** $vftable();
102 // NOLINTEND
103};
104
105} // namespace br::worldgen
Definition BlockPos.h:18
Definition HashedString.h:5
Definition IBlockSource.h:35
Definition XXHash.h:7
Definition IntProvider.h:13
Definition RuleSet.h:10
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