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