LeviLamina
Loading...
Searching...
No Matches
StructurePoolBlockPredicateCappedRandomBlockReplacement.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/platform/threading/Mutex.h"
7#include "mc/world/level/levelgen/structure/structurepools/IStructurePoolBlockPredicate.h"
8#include "mc/world/level/levelgen/structure/structurepools/StructurePoolBlockPredicateType.h"
9
10// auto generated forward declare list
11// clang-format off
12class Block;
13class BlockPos;
14class BlockSource;
15class HashedString;
16class IRandom;
17class Randomize;
18namespace Bedrock::Threading { class Mutex; }
19namespace Util { class XXHash; }
20// clang-format on
21
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<4, 4, uint const> mMaximumAmount;
27 ::ll::TypedStorage<8, 16, ::std::map<::HashedString, ::HashedString> const> mBlockMappings;
28 ::ll::TypedStorage<8, 24, ::std::vector<::BlockPos>> mCandidatePositions;
29 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mCandidatePositionsLock;
30 // NOLINTEND
31
32public:
33 // virtual functions
34 // NOLINTBEGIN
35 virtual bool test(::Block const& block, ::Randomize&) const /*override*/;
36
37 virtual bool test(::BlockPos const& worldPos, ::BlockPos const&, ::Randomize&) const /*override*/;
38
39 virtual bool finalize(::BlockSource& region, ::IRandom& random) /*override*/;
40
41 virtual ::StructurePoolBlockPredicateType getType() const /*override*/;
42
43 virtual void appendMetadataKey(::Util::XXHash& hash) const /*override*/;
44
45 virtual bool operator==(::StructurePoolBlockPredicateCappedRandomBlockReplacement const& other) const;
46
47 virtual bool operator!=(::StructurePoolBlockPredicateCappedRandomBlockReplacement const& other) const;
48
50 // NOLINTEND
51
52public:
53 // member functions
54 // NOLINTBEGIN
55 MCAPI bool _finalize(::BlockSource& region, ::IRandom& random, ::std::function<void(::BlockPos&)> applyToBlocks);
56 // NOLINTEND
57
58public:
59 // destructor thunk
60 // NOLINTBEGIN
61 MCAPI void $dtor();
62 // NOLINTEND
63
64public:
65 // virtual function thunks
66 // NOLINTBEGIN
67 MCAPI bool $test(::Block const& block, ::Randomize&) const;
68
69 MCAPI bool $test(::BlockPos const& worldPos, ::BlockPos const&, ::Randomize&) const;
70
71 MCAPI bool $finalize(::BlockSource& region, ::IRandom& random);
72
73 MCFOLD ::StructurePoolBlockPredicateType $getType() const;
74
75 MCAPI void $appendMetadataKey(::Util::XXHash& hash) const;
76
77
78 // NOLINTEND
79
80public:
81 // vftables
82 // NOLINTBEGIN
83 MCNAPI static void** $vftable();
84 // NOLINTEND
85};
Definition Mutex.h:10
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Block.h:43
Definition HashedString.h:5
Definition IRandom.h:13
Definition IStructurePoolBlockPredicate.h:18
Definition Randomize.h:13
Definition StructurePoolBlockPredicateCappedRandomBlockReplacement.h:22
Definition XXHash.h:7