LeviLamina
Loading...
Searching...
No Matches
TransactionalWorldBlockTarget.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/util/WorldChangeTransaction.h"
7#include "mc/world/level/BlockDataFetchResult.h"
8#include "mc/world/level/IBlockWorldGenAPI.h"
9
10// auto generated forward declare list
11// clang-format off
12class Biome;
13class Block;
14class BlockPos;
15class BoundingBox;
16class Feature;
17class LevelData;
18class Pos;
19class Random;
22struct WorldGenContext;
23// clang-format on
24
25class TransactionalWorldBlockTarget : public ::IBlockWorldGenAPI {
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<8, 16, ::WorldChangeTransaction> mTransaction;
30 // NOLINTEND
31
32public:
33 // prevent constructor by default
34 TransactionalWorldBlockTarget();
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 virtual ~TransactionalWorldBlockTarget() /*override*/ = default;
40
41 virtual ::Block const& getBlock(::BlockPos const& pos) const /*override*/;
42
43 virtual ::Block const& getBlockNoBoundsCheck(::BlockPos const& pos) const /*override*/;
44
45 virtual ::Block const& getExtraBlock(::BlockPos const& pos) const /*override*/;
46
47 virtual ::Block const* tryGetLiquidBlock(::BlockPos const& pos) const /*override*/;
48
49 virtual ::gsl::span<::BlockDataFetchResult<::Block> const>
50 fetchBlocksInBox(::BoundingBox const& box, ::std::function<bool(::Block const&)> predicate) /*override*/;
51
52 virtual bool hasBiomeTag(uint64 tagNameHash, ::BlockPos const& pos) const /*override*/;
53
54 virtual bool setBlock(::BlockPos const& pos, ::Block const& newBlock, int updateFlags) /*override*/;
55
56 virtual bool setBlockSimple(::BlockPos const& pos, ::Block const& block) /*override*/;
57
58 virtual bool apply() const /*override*/;
59
60 virtual bool
61 placeStructure(::BlockPos const& pos, ::StructureTemplate& structure, ::StructureSettings& settings) /*override*/;
62
63 virtual bool mayPlace(::BlockPos const& pos, ::Block const& block) const /*override*/;
64
65 virtual bool canSurvive(::BlockPos const& pos, ::Block const& block) const /*override*/;
66
67 virtual bool canBeBuiltOver(::BlockPos const& pos, ::Block const& block) const /*override*/;
68
69 virtual short getMaxHeight() const /*override*/;
70
71 virtual short getMinHeight() const /*override*/;
72
73 virtual bool shimPlaceForOldFeatures(::Feature const&, ::BlockPos const&, ::Random&) const /*override*/;
74
75 virtual short getHeightmap(int x, int z) /*override*/;
76
77 virtual bool isLegacyLevel() /*override*/;
78
79 virtual ::Biome const* getBiome(::BlockPos const& pos) const /*override*/;
80
81 virtual bool isInBounds(::Pos const& pos) const /*override*/;
82
83 virtual short getLocalWaterLevel(::BlockPos const& pos) const /*override*/;
84
85 virtual ::LevelData const& getLevelData() const /*override*/;
86
87 virtual ::WorldGenContext const& getContext() /*override*/;
88
89 virtual void disableBlockSimple() /*override*/;
90 // NOLINTEND
91
92public:
93 // member functions
94 // NOLINTBEGIN
95 MCAPI explicit TransactionalWorldBlockTarget(::IBlockWorldGenAPI& target);
96 // NOLINTEND
97
98public:
99 // constructor thunks
100 // NOLINTBEGIN
101 MCAPI void* $ctor(::IBlockWorldGenAPI& target);
102 // NOLINTEND
103
104public:
105 // virtual function thunks
106 // NOLINTBEGIN
107 MCAPI ::Block const& $getBlock(::BlockPos const& pos) const;
108
109 MCFOLD ::Block const& $getBlockNoBoundsCheck(::BlockPos const& pos) const;
110
111 MCFOLD ::Block const& $getExtraBlock(::BlockPos const& pos) const;
112
113 MCFOLD ::Block const* $tryGetLiquidBlock(::BlockPos const& pos) const;
114
115 MCAPI ::gsl::span<::BlockDataFetchResult<::Block> const>
116 $fetchBlocksInBox(::BoundingBox const& box, ::std::function<bool(::Block const&)> predicate);
117
118 MCAPI bool $hasBiomeTag(uint64 tagNameHash, ::BlockPos const& pos) const;
119
120 MCAPI bool $setBlock(::BlockPos const& pos, ::Block const& newBlock, int updateFlags);
121
122 MCFOLD bool $setBlockSimple(::BlockPos const& pos, ::Block const& block);
123
124 MCAPI bool $apply() const;
125
126 MCAPI bool $placeStructure(::BlockPos const& pos, ::StructureTemplate& structure, ::StructureSettings& settings);
127
128 MCAPI bool $mayPlace(::BlockPos const& pos, ::Block const& block) const;
129
130 MCAPI bool $canSurvive(::BlockPos const& pos, ::Block const& block) const;
131
132 MCAPI bool $canBeBuiltOver(::BlockPos const& pos, ::Block const& block) const;
133
134 MCAPI short $getMaxHeight() const;
135
136 MCAPI short $getMinHeight() const;
137
138 MCFOLD bool $shimPlaceForOldFeatures(::Feature const&, ::BlockPos const&, ::Random&) const;
139
140 MCAPI short $getHeightmap(int x, int z);
141
142 MCFOLD bool $isLegacyLevel();
143
144 MCFOLD ::Biome const* $getBiome(::BlockPos const& pos) const;
145
146 MCAPI bool $isInBounds(::Pos const& pos) const;
147
148 MCFOLD short $getLocalWaterLevel(::BlockPos const& pos) const;
149
150 MCAPI ::LevelData const& $getLevelData() const;
151
152 MCAPI ::WorldGenContext const& $getContext();
153
154 MCFOLD void $disableBlockSimple();
155
156
157 // NOLINTEND
158
159public:
160 // vftables
161 // NOLINTBEGIN
162 MCNAPI static void** $vftable();
163 // NOLINTEND
164};
Definition Biome.h:24
Definition BlockPos.h:21
Definition Block.h:69
Definition BoundingBox.h:13
Definition Feature.h:19
Definition IBlockWorldGenAPI.h:25
Definition LevelData.h:55
Definition Pos.h:5
Definition Random.h:10
Definition StructureSettings.h:18
Definition StructureTemplate.h:35
static MCAPI void ** $vftable()
Definition WorldGenContext.h:13