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