LeviLamina
Loading...
Searching...
No Matches
IStructurePoolBlockPredicate.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/levelgen/structure/structurepools/StructurePoolBlockPredicateType.h"
7
8// auto generated forward declare list
9// clang-format off
10class Block;
11class BlockPos;
12class BlockSource;
13class IRandom;
14class Randomize;
15namespace Util { class XXHash; }
16// clang-format on
17
19public:
20 // virtual functions
21 // NOLINTBEGIN
22 virtual ~IStructurePoolBlockPredicate() = default;
23
24 virtual bool test(::Block const&, ::Randomize&) const = 0;
25
26 virtual bool test(::BlockPos const&, ::BlockPos const&, ::Randomize&) const = 0;
27
28 virtual bool finalize(::BlockSource&, ::IRandom&);
29
30 virtual ::std::string validate() const;
31
32 virtual ::StructurePoolBlockPredicateType getType() const = 0;
33
34 virtual void appendMetadataKey(::Util::XXHash&) const = 0;
35 // NOLINTEND
36
37public:
38 // virtual function thunks
39 // NOLINTBEGIN
40 MCFOLD bool $finalize(::BlockSource&, ::IRandom&);
41
42 MCFOLD ::std::string $validate() const;
43
44
45 // NOLINTEND
46};
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Block.h:43
Definition IRandom.h:13
Definition IStructurePoolBlockPredicate.h:18
Definition Randomize.h:13
Definition XXHash.h:7