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/common/editor/ContiguousSelectionType.h"
7#include "mc/deps/scripting/runtime/Result_deprecated.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 // NOLINTEND
181
182public:
183 // destructor thunk
184 // NOLINTBEGIN
185 MCNAPI void $dtor();
186 // NOLINTEND
187
188public:
189 // virtual function thunks
190 // NOLINTBEGIN
191 MCNAPI ::Scripting::Result_deprecated<void> $init();
192
193 MCNAPI ::Scripting::Result_deprecated<void> $ready();
194
195 MCNAPI ::Scripting::Result_deprecated<void> $quit();
196
197 MCNAPI ::std::string_view $getServiceName() const;
198
199 MCNAPI ::std::set<::ChunkPos> $getChunksFromAABB(::AABB const& aabb) const;
200
201 MCNAPI bool $isChunkLoaded(::ChunkPos const& pos) const;
202
203 MCNAPI bool $isChunkFullyLoaded(::ChunkPos const& pos) const;
204
205 MCNAPI bool $areChunksLoaded(::std::set<::ChunkPos> const& chunks) const;
206
207 MCNAPI bool $isAreaLoaded(::AABB const& aabb) const;
208
209 MCNAPI ::Editor::RelativeVolumeListBlockVolume $trimVolumeToFitContents(
210 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*> const inVolume,
211 bool retainMarqueeAfterTrimming,
212 bool ignoreLiquid,
213 bool ignoreNoCollision,
215 );
216
217 MCNAPI ::Editor::RelativeVolumeListBlockVolume $findObscuredBlocksWithinVolume(
218 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*> const inVolume
219 );
220
221 MCNAPI ::Editor::RelativeVolumeListBlockVolume
222 $shrinkWrapVolume(::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*> const);
223
225 ::std::variant<
226 ::BlockVolumeBase const*,
228 ::Vec3 const*,
229 ::BoundingBox const*,
230 ::BlockPos const*> const test
231 );
232
233 MCNAPI ::Vec3 $getDimensionMinLocation() const;
234
235 MCNAPI ::Vec3 $getDimensionMaxLocation() const;
236
237 MCNAPI ::BoundingBox $getDimensionLocationBoundingBox() const;
238
239 MCNAPI ::CompoundBlockVolume $getContiguousSelection(
240 int const size,
241 ::Facing::Name const& selectionDirection,
242 ::Vec3 const& startingLocation,
243 bool const isFace,
244 int const fullSelectionToleranceLevel,
245 bool const checkForAdjacentFaceBlocks,
246 ::Editor::BlockUtils::ContiguousSelectionType const& contiguousSelectionType,
247 ::std::vector<::std::string> const& contiguousSelectionBlockList
248 ) const;
249
251 ::Editor::BlockUtils::ContiguousSelectionType const& contiguousSelectionType,
252 ::Block const& blockToTest,
253 ::Block const& blockToFollow,
254 ::std::vector<::std::string> const& allowList
255 ) const;
256
257 MCNAPI ::Vec3 $getDeltaFromDirection(::Facing::Name const& selectionDirection) const;
258
260 ::Vec3 const& initialLocation,
261 ::Facing::Name const& selectionDirection,
262 int const size,
263 bool const isFace
264 ) const;
265
267 ::Dimension const& dimension,
268 ::Vec3 const& targetLocation,
269 ::Facing::Name const& direction
270 ) const;
271
272 MCNAPI bool $isSameBlockType(::Block const& blockA, ::Block const& blockB) const;
273
274 MCNAPI bool $isSameBlockAndProperties(::Block const& blockA, ::Block const& blockB) const;
275
276 MCNAPI bool $isBlockTypeInSelectionList(::Block const& block, ::std::vector<::std::string> const& allowList) const;
277 // NOLINTEND
278
279public:
280 // vftables
281 // NOLINTBEGIN
282 MCNAPI static void** $vftableForIEditorService();
283
285 // NOLINTEND
286};
287
288} // namespace Editor::BlockUtils
Definition AABB.h:18
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition BlockVolumeBase.h:13
Definition Block.h:38
Definition BoundingBox.h:13
Definition ChunkPos.h:11
Definition CompoundBlockVolume.h:16
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 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