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 BlockIgnore(::std::vector<::std::string> const& blocks);
61
62 MCNAPI static ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>>
63 Capped(::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>> delegate, ::IntProvider limit);
64
65 MCNAPI static ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>>
66 Protected(::std::string_view tag);
67
68 MCNAPI static ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>>
70
71 MCNAPI static ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>>
72 Rule(::std::vector<::br::worldgen::processors::RuleSet> rules);
73
74 MCNAPI static void bootstrap();
75 // NOLINTEND
76
77public:
78 // virtual function thunks
79 // NOLINTBEGIN
80 MCNAPI ::std::optional<::br::worldgen::StructureBlockInfo> $process(
85 ::br::worldgen::StructureBlockInfo&& processedBlockInfo,
87 ) const;
88
89 MCNAPI ::std::vector<::br::worldgen::StructureBlockInfo> $finalize(
93 ::std::vector<::br::worldgen::StructureBlockInfo> const&,
94 ::std::vector<::br::worldgen::StructureBlockInfo>&& processedBlocks,
96 ) const;
97
98 MCNAPI ::br::worldgen::StructureProcessorType $type() const;
99
101 // NOLINTEND
102
103public:
104 // vftables
105 // NOLINTBEGIN
106 MCNAPI static void** $vftable();
107 // NOLINTEND
108};
109
110} // 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 > > BlockIgnore(::std::vector<::std::string > const &blocks)
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
static MCAPI void bootstrap()