LeviLamina
Loading...
Searching...
No Matches
CommonBlockUtilityService.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/scripting/runtime/Result_deprecated.h"
7#include "mc/editor/ContiguousSelectionType.h"
8#include "mc/editor/serviceproviders/CommonBlockUtilityServiceProvider.h"
9#include "mc/editor/services/IEditorService.h"
10#include "mc/editor/services/PayloadStoreHelper.h"
11#include "mc/legacy/facing/Name.h"
12
13// auto generated forward declare list
14// clang-format off
15class AABB;
16class Block;
17class BlockPos;
18class BlockSource;
19class BlockVolumeBase;
20class BoundingBox;
21class ChunkPos;
23class Dimension;
24class Vec3;
25namespace Editor { class RelativeVolumeListBlockVolume; }
26namespace Editor::BlockMask { class BlockMaskList; }
27// clang-format on
28
29namespace Editor::BlockUtils {
30
34public:
35 // member variables
36 // NOLINTBEGIN
39 // NOLINTEND
40
41public:
42 // prevent constructor by default
46
47public:
48 // virtual functions
49 // NOLINTBEGIN
50 // vIndex: 0
51 virtual ~CommonBlockUtilityService() /*override*/;
52
53 // vIndex: 1
54 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
55
56 // vIndex: 2
57 virtual ::Scripting::Result_deprecated<void> ready() /*override*/;
58
59 // vIndex: 3
60 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
61
62 // vIndex: 4
63 virtual ::std::string_view getServiceName() const /*override*/;
64
65 // vIndex: 1
66 virtual ::std::set<::ChunkPos> getChunksFromAABB(::AABB const& aabb) const /*override*/;
67
68 // vIndex: 2
69 virtual bool isChunkLoaded(::ChunkPos const& pos) const /*override*/;
70
71 // vIndex: 3
72 virtual bool isChunkFullyLoaded(::ChunkPos const& pos) const /*override*/;
73
74 // vIndex: 4
75 virtual bool areChunksLoaded(::std::set<::ChunkPos> const& chunks) const /*override*/;
76
77 // vIndex: 5
78 virtual bool isAreaLoaded(::AABB const& aabb) const /*override*/;
79
80 // vIndex: 6
81 virtual ::Editor::RelativeVolumeListBlockVolume trimVolumeToFitContents(
82 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*> const inVolume,
83 bool retainMarqueeAfterTrimming,
84 bool ignoreLiquid,
85 bool ignoreNoCollision,
87 ) /*override*/;
88
89 // vIndex: 7
90 virtual ::Editor::RelativeVolumeListBlockVolume findObscuredBlocksWithinVolume(
91 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*> const inVolume
92 ) /*override*/;
93
94 // vIndex: 8
95 virtual ::Editor::RelativeVolumeListBlockVolume shrinkWrapVolume(
96 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*> const
97 ) /*override*/;
98
99 // vIndex: 9
100 virtual bool isLocationInsideDimensionBounds(
101 ::std::variant<
102 ::BlockVolumeBase const*,
104 ::Vec3 const*,
105 ::BoundingBox const*,
106 ::BlockPos const*> const test
107 ) /*override*/;
108
109 // vIndex: 13
110 virtual ::Vec3 getDimensionMinLocation() const /*override*/;
111
112 // vIndex: 14
113 virtual ::Vec3 getDimensionMaxLocation() const /*override*/;
114
115 // vIndex: 15
116 virtual ::BoundingBox getDimensionLocationBoundingBox() const /*override*/;
117
118 // vIndex: 10
119 virtual ::CompoundBlockVolume getContiguousSelection(
120 int const size,
121 ::Facing::Name const& selectionDirection,
122 ::Vec3 const& startingLocation,
123 bool const isFace,
124 int const fullSelectionToleranceLevel,
125 bool const checkForAdjacentFaceBlocks,
126 ::Editor::BlockUtils::ContiguousSelectionType const& contiguousSelectionType,
127 ::std::vector<::std::string> const& contiguousSelectionBlockList
128 ) const /*override*/;
129
130 // vIndex: 11
131 virtual bool areBlocksContiguous(
132 ::Editor::BlockUtils::ContiguousSelectionType const& contiguousSelectionType,
133 ::Block const& blockToTest,
134 ::Block const& blockToFollow,
135 ::std::vector<::std::string> const& allowList
136 ) const /*override*/;
137
138 // vIndex: 12
139 virtual ::Vec3 getDeltaFromDirection(::Facing::Name const& selectionDirection) const /*override*/;
140
141 // vIndex: 7
142 virtual ::Scripting::Result_deprecated<void> _implInit() = 0;
143
144 // vIndex: 8
145 virtual ::Scripting::Result_deprecated<void> _implReady() = 0;
146
147 // vIndex: 9
148 virtual ::Scripting::Result_deprecated<void> _implQuit() = 0;
149
150 // vIndex: 16
151 virtual ::AABB getBoundForContiguousSelection(
152 ::Vec3 const& initialLocation,
153 ::Facing::Name const& selectionDirection,
154 int const size,
155 bool const isFace
156 ) const /*override*/;
157
158 // vIndex: 17
159 virtual bool isBlockExposedInDirection(
160 ::Dimension const& dimension,
161 ::Vec3 const& targetLocation,
162 ::Facing::Name const& direction
163 ) const /*override*/;
164
165 // vIndex: 18
166 virtual bool isSameBlockType(::Block const& blockA, ::Block const& blockB) const /*override*/;
167
168 // vIndex: 19
169 virtual bool isSameBlockAndProperties(::Block const& blockA, ::Block const& blockB) const /*override*/;
170
171 // vIndex: 20
172 virtual bool isBlockTypeInSelectionList(::Block const& block, ::std::vector<::std::string> const& allowList) const
173 /*override*/;
174 // NOLINTEND
175
176public:
177 // member functions
178 // NOLINTBEGIN
179 MCNAPI ::BlockSource& _getBlockSource() const;
180
181 MCNAPI ::Dimension& _getDimension() const;
182 // NOLINTEND
183
184public:
185 // destructor thunk
186 // NOLINTBEGIN
187 MCNAPI void $dtor();
188 // NOLINTEND
189
190public:
191 // virtual function thunks
192 // NOLINTBEGIN
193 MCNAPI ::Scripting::Result_deprecated<void> $init();
194
195 MCNAPI ::Scripting::Result_deprecated<void> $ready();
196
197 MCNAPI ::Scripting::Result_deprecated<void> $quit();
198
199 MCNAPI ::std::string_view $getServiceName() const;
200
201 MCNAPI ::std::set<::ChunkPos> $getChunksFromAABB(::AABB const& aabb) const;
202
203 MCNAPI bool $isChunkLoaded(::ChunkPos const& pos) const;
204
205 MCNAPI bool $isChunkFullyLoaded(::ChunkPos const& pos) const;
206
207 MCNAPI bool $areChunksLoaded(::std::set<::ChunkPos> const& chunks) const;
208
209 MCNAPI bool $isAreaLoaded(::AABB const& aabb) const;
210
211 MCNAPI ::Editor::RelativeVolumeListBlockVolume $trimVolumeToFitContents(
212 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*> const inVolume,
213 bool retainMarqueeAfterTrimming,
214 bool ignoreLiquid,
215 bool ignoreNoCollision,
217 );
218
219 MCNAPI ::Editor::RelativeVolumeListBlockVolume $findObscuredBlocksWithinVolume(
220 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*> const inVolume
221 );
222
223 MCNAPI ::Editor::RelativeVolumeListBlockVolume
224 $shrinkWrapVolume(::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*> const);
225
227 ::std::variant<
228 ::BlockVolumeBase const*,
230 ::Vec3 const*,
231 ::BoundingBox const*,
232 ::BlockPos const*> const test
233 );
234
235 MCNAPI ::Vec3 $getDimensionMinLocation() const;
236
237 MCNAPI ::Vec3 $getDimensionMaxLocation() const;
238
239 MCNAPI ::BoundingBox $getDimensionLocationBoundingBox() const;
240
241 MCNAPI ::CompoundBlockVolume $getContiguousSelection(
242 int const size,
243 ::Facing::Name const& selectionDirection,
244 ::Vec3 const& startingLocation,
245 bool const isFace,
246 int const fullSelectionToleranceLevel,
247 bool const checkForAdjacentFaceBlocks,
248 ::Editor::BlockUtils::ContiguousSelectionType const& contiguousSelectionType,
249 ::std::vector<::std::string> const& contiguousSelectionBlockList
250 ) const;
251
253 ::Editor::BlockUtils::ContiguousSelectionType const& contiguousSelectionType,
254 ::Block const& blockToTest,
255 ::Block const& blockToFollow,
256 ::std::vector<::std::string> const& allowList
257 ) const;
258
259 MCNAPI ::Vec3 $getDeltaFromDirection(::Facing::Name const& selectionDirection) const;
260
262 ::Vec3 const& initialLocation,
263 ::Facing::Name const& selectionDirection,
264 int const size,
265 bool const isFace
266 ) const;
267
269 ::Dimension const& dimension,
270 ::Vec3 const& targetLocation,
271 ::Facing::Name const& direction
272 ) const;
273
274 MCNAPI bool $isSameBlockType(::Block const& blockA, ::Block const& blockB) const;
275
276 MCNAPI bool $isSameBlockAndProperties(::Block const& blockA, ::Block const& blockB) const;
277
278 MCNAPI bool $isBlockTypeInSelectionList(::Block const& block, ::std::vector<::std::string> const& allowList) const;
279 // NOLINTEND
280
281public:
282 // vftables
283 // NOLINTBEGIN
284 MCNAPI static void** $vftableForIEditorService();
285
287 // NOLINTEND
288};
289
290} // namespace Editor::BlockUtils
Definition AABB.h:18
Definition BlockPos.h:17
Definition BlockSource.h:66
Definition BlockVolumeBase.h:13
Definition Block.h:37
Definition BoundingBox.h:13
Definition ChunkPos.h:11
Definition CompoundBlockVolume.h:17
Definition Dimension.h:83
Definition BlockMaskList.h:7
Definition CommonBlockUtilityServiceProvider.h:26
Definition CommonBlockUtilityService.h:33
MCAPI::CompoundBlockVolume $getContiguousSelection(int const size, ::Facing::Name const &selectionDirection, ::Vec3 const &startingLocation, bool const isFace, int const fullSelectionToleranceLevel, bool const checkForAdjacentFaceBlocks, ::Editor::BlockUtils::ContiguousSelectionType const &contiguousSelectionType, ::std::vector<::std::string > const &contiguousSelectionBlockList) const
MCAPI bool $isBlockExposedInDirection(::Dimension const &dimension, ::Vec3 const &targetLocation, ::Facing::Name const &direction) const
MCAPI::BoundingBox $getDimensionLocationBoundingBox() const
static MCAPI void ** $vftableForCommonBlockUtilityServiceProvider()
MCAPI::Editor::RelativeVolumeListBlockVolume $trimVolumeToFitContents(::std::variant<::BlockVolumeBase const *, ::Editor::RelativeVolumeListBlockVolume const * > const inVolume, bool retainMarqueeAfterTrimming, bool ignoreLiquid, bool ignoreNoCollision, ::Editor::BlockMask::BlockMaskList const &blockMask)
MCAPI::BlockSource & _getBlockSource() const
static MCAPI void ** $vftableForIEditorService()
MCAPI::Editor::RelativeVolumeListBlockVolume $findObscuredBlocksWithinVolume(::std::variant<::BlockVolumeBase const *, ::Editor::RelativeVolumeListBlockVolume const * > const inVolume)
MCAPI ::Scripting::Result_deprecated< void > $init()
MCAPI::Vec3 $getDeltaFromDirection(::Facing::Name const &selectionDirection) const
MCAPI ::Scripting::Result_deprecated< void > $quit()
MCAPI bool $areChunksLoaded(::std::set<::ChunkPos > const &chunks) const
MCAPI ::std::set<::ChunkPos > $getChunksFromAABB(::AABB const &aabb) const
MCAPI bool $isSameBlockType(::Block const &blockA, ::Block const &blockB) const
MCAPI::std::string_view $getServiceName() const
MCAPI bool $areBlocksContiguous(::Editor::BlockUtils::ContiguousSelectionType const &contiguousSelectionType, ::Block const &blockToTest, ::Block const &blockToFollow, ::std::vector<::std::string > const &allowList) const
MCAPI bool $isSameBlockAndProperties(::Block const &blockA, ::Block const &blockB) const
MCAPI bool $isChunkFullyLoaded(::ChunkPos const &pos) const
MCAPI ::Scripting::Result_deprecated< void > $ready()
MCAPI bool $isChunkLoaded(::ChunkPos const &pos) const
MCAPI bool $isAreaLoaded(::AABB const &aabb) const
MCAPI::AABB $getBoundForContiguousSelection(::Vec3 const &initialLocation, ::Facing::Name const &selectionDirection, int const size, bool const isFace) const
MCAPI::Editor::RelativeVolumeListBlockVolume $shrinkWrapVolume(::std::variant<::BlockVolumeBase const *, ::Editor::RelativeVolumeListBlockVolume const * > const)
MCAPI bool $isLocationInsideDimensionBounds(::std::variant< ::BlockVolumeBase const *, ::Editor::RelativeVolumeListBlockVolume const *, ::Vec3 const *, ::BoundingBox const *, ::BlockPos const * > const test)
MCAPI::Dimension & _getDimension() const
MCAPI bool $isBlockTypeInSelectionList(::Block const &block, ::std::vector<::std::string > const &allowList) const
Definition RelativeVolumeListBlockVolume.h:21
Definition IEditorService.h:11
Definition PayloadStoreHelper.h:7
Definition Vec3.h:10
Definition Alias.h:14