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;
14namespace Util { class XXHash; }
15// clang-format on
16
18public:
19 // virtual functions
20 // NOLINTBEGIN
21 virtual ~IStructurePoolBlockPredicate() = default;
22
23 virtual bool test(::Block const& block, ::IRandom& random) const = 0;
24
25 virtual bool test(::BlockPos const& worldPos, ::BlockPos const& refPos, ::IRandom& random) const = 0;
26
27 virtual bool finalize(::BlockSource& region, ::IRandom& random);
28
29 virtual ::std::string validate() const;
30
31 virtual ::StructurePoolBlockPredicateType getType() const = 0;
32
33 virtual void appendMetadataKey(::Util::XXHash& hash) const = 0;
34 // NOLINTEND
35
36public:
37 // virtual function thunks
38 // NOLINTBEGIN
39 MCFOLD bool $finalize(::BlockSource& region, ::IRandom& random);
40
41 MCFOLD ::std::string $validate() const;
42
43
44 // NOLINTEND
45};
Definition BlockPos.h:19
Definition BlockSource.h:71
Definition Block.h:43
Definition IRandom.h:10
Definition IStructurePoolBlockPredicate.h:17
Definition XXHash.h:7