Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
BlockIgnore.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/shared_types/util/Reference.h"
7#include "mc/world/level/levelgen/v2/processors/StructureProcessor.h"
8#include "mc/world/level/levelgen/v2/processors/StructureProcessorType.h"
9
10// auto generated forward declare list
11// clang-format off
12class BlockPos;
13class BlockType;
14class IBlockSource;
15namespace Util { class XXHash; }
16namespace br::worldgen { struct StructureBlockInfo; }
17namespace br::worldgen { struct StructurePlaceSettings; }
18// clang-format on
19
20namespace br::worldgen::processors {
21
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<8, 24, ::std::vector<::BlockType const*>> mToIgnore;
27 // NOLINTEND
28
29public:
30 // virtual functions
31 // NOLINTBEGIN
32 virtual ::std::optional<::br::worldgen::StructureBlockInfo> process(
37 ::br::worldgen::StructureBlockInfo&& processedBlockInfo,
39 ) const /*override*/;
40
41 virtual ::br::worldgen::StructureProcessorType type() const /*override*/;
42
43 virtual void appendMetadataKey(::Util::XXHash& hash) const /*override*/;
44
45 virtual ~BlockIgnore() /*override*/;
46 // NOLINTEND
47
48public:
49 // static functions
50 // NOLINTBEGIN
51 MCNAPI static void bootstrap();
52
53 MCNAPI static ::br::worldgen::processors::BlockIgnore
54 from(::std::vector<::SharedTypes::Reference<0>> const& toIgnore);
55 // NOLINTEND
56
57public:
58 // static variables
59 // NOLINTBEGIN
60 MCNAPI static ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor>> const& STRUCTURE_BLOCK();
61 // NOLINTEND
62
63public:
64 // destructor thunk
65 // NOLINTBEGIN
66 MCNAPI void $dtor();
67 // NOLINTEND
68
69public:
70 // virtual function thunks
71 // NOLINTBEGIN
72 MCNAPI ::std::optional<::br::worldgen::StructureBlockInfo> $process(
77 ::br::worldgen::StructureBlockInfo&& processedBlockInfo,
79 ) const;
80
81 MCNAPI ::br::worldgen::StructureProcessorType $type() const;
82
83 MCNAPI void $appendMetadataKey(::Util::XXHash& hash) const;
84
85
86 // NOLINTEND
87
88public:
89 // vftables
90 // NOLINTBEGIN
91 MCNAPI static void** $vftable();
92 // NOLINTEND
93};
94
95} // namespace br::worldgen::processors
Definition BlockPos.h:14
Definition BlockType.h:79
Definition IBlockSource.h:39
Definition XXHash.h:7
MCAPI void $appendMetadataKey(::Util::XXHash &hash) const
MCAPI::br::worldgen::StructureProcessorType $type() const
static MCAPI ::br::worldgen::processors::BlockIgnore from(::std::vector<::SharedTypes::Reference< 0 > > const &toIgnore)
static MCAPI ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor > > const & STRUCTURE_BLOCK()
MCAPI ::std::optional<::br::worldgen::StructureBlockInfo > $process(::IBlockSource &, ::BlockPos, ::BlockPos, ::br::worldgen::StructureBlockInfo const &, ::br::worldgen::StructureBlockInfo &&processedBlockInfo, ::br::worldgen::StructurePlaceSettings const &) const
Definition Reference.h:8
Definition StructureBlockInfo.h:16
Definition StructurePlaceSettings.h:18
Definition StructureProcessor.h:23
static MCAPI ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor > > BlockIgnore(::std::vector<::SharedTypes::Reference< 0 > > const &blocks)