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>
32 const;
33
34 // vIndex: 2
35 virtual ::std::vector<::br::worldgen::StructureBlockInfo>
36 finalize(::IBlockSource&, ::BlockPos, ::BlockPos, ::std::vector<::br::worldgen::StructureBlockInfo> const&, ::std::vector<::br::worldgen::StructureBlockInfo>&& processedBlocks, ::br::worldgen::StructurePlaceSettings const&)
37 const;
38
39 // vIndex: 3
40 virtual ::br::worldgen::StructureProcessorType type() const;
41
42 // vIndex: 4
43 virtual void appendMetadataKey(::Util::XXHash&) const;
44 // NOLINTEND
45
46public:
47 // static functions
48 // NOLINTBEGIN
49 MCAPI static ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>>
50 BlockIgnore(::std::vector<::std::string> const& blocks);
51
52 MCAPI static ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>>
53 Capped(::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>> delegate, ::IntProvider limit);
54
55 MCAPI static ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>> Protected(::std::string_view tag
56 );
57
58 MCAPI static ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>>
59 Protected(::HashedString const& tag);
60
61 MCAPI static ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>>
62 Rule(::std::vector<::br::worldgen::processors::RuleSet> rules);
63
64 MCAPI static void bootstrap();
65 // NOLINTEND
66
67public:
68 // destructor thunk
69 // NOLINTBEGIN
70
71 // NOLINTEND
72
73public:
74 // virtual function thunks
75 // NOLINTBEGIN
76 MCAPI ::std::optional<::br::worldgen::StructureBlockInfo>
78 const;
79
80 MCAPI ::std::vector<::br::worldgen::StructureBlockInfo>
81 $finalize(::IBlockSource&, ::BlockPos, ::BlockPos, ::std::vector<::br::worldgen::StructureBlockInfo> const&, ::std::vector<::br::worldgen::StructureBlockInfo>&& processedBlocks, ::br::worldgen::StructurePlaceSettings const&)
82 const;
83
84 MCFOLD ::br::worldgen::StructureProcessorType $type() const;
85
86 MCAPI void $appendMetadataKey(::Util::XXHash&) const;
87 // NOLINTEND
88
89public:
90 // vftables
91 // NOLINTBEGIN
92 MCAPI static void** $vftable();
93 // NOLINTEND
94};
95
96} // 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:14
Definition StructurePlaceSettings.h:18
Definition StructureProcessor.h:22