LeviLamina
Loading...
Searching...
No Matches
RuleSet.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/levelgen/v2/processors/block_entity/Modifier.h"
7#include "mc/world/level/levelgen/v2/processors/block_rules/Test.h"
8#include "mc/world/level/levelgen/v2/processors/pos_rules/Test.h"
9
10// auto generated forward declare list
11// clang-format off
12class Block;
13class BlockPos;
14class CompoundTag;
15class IRandom;
16namespace Util { class XXHash; }
17// clang-format on
18
19namespace br::worldgen::processors {
20
21struct RuleSet {
22public:
23 // member variables
24 // NOLINTBEGIN
25 ::ll::TypedStorage<8, 72, ::br::worldgen::processors::BlockRules::Test> mInputPredicate;
26 ::ll::TypedStorage<8, 72, ::br::worldgen::processors::BlockRules::Test> mLocPredicate;
27 ::ll::TypedStorage<8, 48, ::br::worldgen::processors::PosRules::Test> mPosPredicate;
28 ::ll::TypedStorage<8, 8, ::Block const*> mOutputState;
29 ::ll::TypedStorage<8, 56, ::br::worldgen::processors::BlockEntity::Modifier> mBlockEntityModifier;
30 // NOLINTEND
31
32public:
33 // prevent constructor by default
34 RuleSet& operator=(RuleSet const&);
35 RuleSet();
36
37public:
38 // member functions
39 // NOLINTBEGIN
41
42 MCAPI RuleSet(::br::worldgen::processors::RuleSet const&);
43
44 MCAPI void appendMetadataKey(::Util::XXHash& hash) const;
45
46 MCAPI ::br::worldgen::processors::RuleSet& operator=(::br::worldgen::processors::RuleSet&&);
47
48 MCFOLD ::Block const& outputState() const;
49
50 MCAPI ::std::unique_ptr<::CompoundTag> outputTag(::IRandom& random, ::CompoundTag const* existingTag) const;
51
52 MCAPI bool test(
53 ::Block const& inputState,
54 ::Block const& locState,
55 ::BlockPos inTemplatePos,
56 ::BlockPos worldPos,
57 ::BlockPos reference,
58 ::IRandom& random
59 ) const;
60
61 MCAPI ::br::worldgen::processors::RuleSet withLoc(::br::worldgen::processors::BlockRules::Test loc);
62
63 MCAPI ::br::worldgen::processors::RuleSet withModifier(::br::worldgen::processors::BlockEntity::Modifier modifier);
64
65 MCAPI ::br::worldgen::processors::RuleSet withPos(::br::worldgen::processors::PosRules::Test pos);
66
67 MCAPI ~RuleSet();
68 // NOLINTEND
69
70public:
71 // static functions
72 // NOLINTBEGIN
73 MCAPI static ::br::worldgen::processors::RuleSet
75 // NOLINTEND
76
77public:
78 // constructor thunks
79 // NOLINTBEGIN
80 MCAPI void* $ctor(::br::worldgen::processors::RuleSet&&);
81
82 MCAPI void* $ctor(::br::worldgen::processors::RuleSet const&);
83 // NOLINTEND
84
85public:
86 // destructor thunk
87 // NOLINTBEGIN
88 MCAPI void $dtor();
89 // NOLINTEND
90};
91
92} // namespace br::worldgen::processors
Definition BlockPos.h:21
Definition Block.h:69
Definition CompoundTag.h:23
Definition IRandom.h:10
Definition XXHash.h:7
Definition RuleSet.h:21