Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
BlockUtilityTaskService.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/game_refs/WeakRef.h"
7#include "mc/deps/script_core/runtime/scripting/Result_deprecated.h"
8#include "mc/editor/Task.h"
9#include "mc/editor/block_utils/BlockUtilityTaskServiceProvider.h"
10#include "mc/editor/services/IEditorService.h"
11
12// auto generated forward declare list
13// clang-format off
14class Block;
15class BlockPos;
16class BlockSource;
17class BoundingBox;
18namespace Editor { class ProjectRegion; }
19namespace Editor { class RelativeVolumeListBlockVolume; }
20namespace Editor { struct CoroutineStatus; }
21namespace Editor { struct ProbabilityBlockPaletteItem; }
22namespace Editor { struct SimpleBlockPaletteItem; }
23namespace Editor::BlockMask { class BlockMaskList; }
24namespace Editor::BlockUtils::Task { class BlockUtilityChunkedVolume; }
25namespace Editor::BlockUtils::Task { struct BlockUtilityExtrudeOptions; }
26namespace Editor::BlockUtils::Task { struct BlockUtilityExtrudeResult; }
27namespace Editor::BlockUtils::Task { struct BlockUtilityFillResult; }
28namespace Editor::BlockUtils::Task { struct BlockUtilityFloodSearchOptions; }
29namespace Editor::BlockUtils::Task { struct BlockUtilityManifest; }
30namespace Editor::BlockUtils::Task { struct BlockUtilityShapeVolumeOptionsCone; }
31namespace Editor::BlockUtils::Task { struct BlockUtilityShapeVolumeOptionsCuboid; }
32namespace Editor::BlockUtils::Task { struct BlockUtilityShapeVolumeOptionsCylinder; }
33namespace Editor::BlockUtils::Task { struct BlockUtilityShapeVolumeOptionsEllipsoid; }
34namespace Editor::BlockUtils::Task { struct BlockUtilityShapeVolumeOptionsPyramid; }
35namespace Editor::Coroutine { class CoroutineTaskContext; }
36// clang-format on
37
38namespace Editor::BlockUtils::Task {
39
42public:
43 // virtual functions
44 // NOLINTBEGIN
45 virtual ~BlockUtilityTaskService() /*override*/ = default;
46
47 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
48
49 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
50
51 virtual ::std::string_view getServiceName() const /*override*/;
52
53 virtual ::Editor::Task<
56 fillVolume(
59 ::std::optional<::Block const*> optBlock,
60 ::BlockSource* expectedBlockSource,
61 ::std::optional<::std::variant<::Editor::SimpleBlockPaletteItem, ::Editor::ProbabilityBlockPaletteItem>>
62 paletteItem
63 ) /*override*/;
64
65 virtual ::Editor::
66 Task<::Scripting::Result_deprecated<::Editor::RelativeVolumeListBlockVolume>, ::Editor::CoroutineStatus>
67 trimVolumeToFitContents(
69 ::std::vector<::BlockPos> positions,
70 ::BoundingBox bounds,
71 bool alwaysReturnMarquee,
72 bool ignoreLiquid,
73 bool ignoreNoCollision,
75 ) /*override*/;
76
77 virtual ::Editor::
78 Task<::Scripting::Result_deprecated<::Editor::RelativeVolumeListBlockVolume>, ::Editor::CoroutineStatus>
79 shrinkWrapVolume(
81 ::std::vector<::BlockPos> positions,
82 ::BoundingBox bounds
83 ) /*override*/;
84
85 virtual ::Editor::
86 Task<::Scripting::Result_deprecated<::Editor::RelativeVolumeListBlockVolume>, ::Editor::CoroutineStatus>
87 findObscuredBlocksWithinVolume(
89 ::std::vector<::BlockPos> positions,
90 ::BoundingBox bounds
91 ) /*override*/;
92
93 virtual ::Editor::Task<
96 generateManifest(
98 ::std::vector<::BlockPos> positions,
99 ::BoundingBox bounds,
100 ::std::function<void(float, uint64)> progress,
101 ::std::optional<::WeakRef<::Editor::ProjectRegion>> existingRegion
102 ) /*override*/;
103
104 virtual ::Editor::Task<::Scripting::Result_deprecated<uint>, ::Editor::CoroutineStatus> replaceBlocksInSelection(
107 ::std::string fromBlockIdentifier,
108 ::Block const* toBlock,
109 ::BlockSource* expectedBlockSource
110 ) /*override*/;
111
112 virtual ::Editor::
113 Task<::Scripting::Result_deprecated<::Editor::RelativeVolumeListBlockVolume>, ::Editor::CoroutineStatus>
114 createShapeVolume(
116 ::std::variant<
122 ) /*override*/;
123
124 virtual ::Editor::
125 Task<::Scripting::Result_deprecated<::Editor::RelativeVolumeListBlockVolume>, ::Editor::CoroutineStatus>
126 floodSearch(
128 ::BlockPos seed,
130 ::std::function<void(::std::vector<::BlockPos> const&)> positionProgress
131 ) /*override*/;
132
133 virtual ::Editor::
134 Task<::Scripting::Result_deprecated<::Editor::RelativeVolumeListBlockVolume>, ::Editor::CoroutineStatus>
135 extrude(
137 ::BlockPos seed,
139 ) /*override*/;
140
141 virtual ::Editor::Task<
144 extrudeResult(
146 ::BlockPos seed,
148 ::std::function<void(::std::vector<::BlockPos> const&)> positionProgress
149 ) /*override*/;
150
151 virtual ::Editor::Task<
154 applyExtrudeResult(
157 ::BlockSource* expectedBlockSource
158 ) /*override*/;
159 // NOLINTEND
160
161public:
162 // member functions
163 // NOLINTBEGIN
164 MCNAPI ::BlockSource& _getBlockSource() const;
165
166 MCNAPI ::Scripting::Result_deprecated<void> _validateBoundsWithinWorld(::BoundingBox const& bounds) const;
167 // NOLINTEND
168
169public:
170 // static variables
171 // NOLINTBEGIN
172 MCNAPI static ::std::string_view const& ServiceName();
173 // NOLINTEND
174
175public:
176 // virtual function thunks
177 // NOLINTBEGIN
178 MCNAPI ::Scripting::Result_deprecated<void> $init();
179
180 MCNAPI ::Scripting::Result_deprecated<void> $quit();
181
182 MCNAPI ::std::string_view $getServiceName() const;
183
184 MCNAPI ::Editor::Task<
190 ::std::optional<::Block const*> optBlock,
191 ::BlockSource* expectedBlockSource,
192 ::std::optional<::std::variant<::Editor::SimpleBlockPaletteItem, ::Editor::ProbabilityBlockPaletteItem>>
193 paletteItem
194 );
195
196 MCNAPI ::Editor::
197 Task<::Scripting::Result_deprecated<::Editor::RelativeVolumeListBlockVolume>, ::Editor::CoroutineStatus>
200 ::std::vector<::BlockPos> positions,
201 ::BoundingBox bounds,
202 bool alwaysReturnMarquee,
203 bool ignoreLiquid,
204 bool ignoreNoCollision,
206 );
207
208 MCNAPI ::Editor::
209 Task<::Scripting::Result_deprecated<::Editor::RelativeVolumeListBlockVolume>, ::Editor::CoroutineStatus>
212 ::std::vector<::BlockPos> positions,
213 ::BoundingBox bounds
214 );
215
216 MCNAPI ::Editor::
217 Task<::Scripting::Result_deprecated<::Editor::RelativeVolumeListBlockVolume>, ::Editor::CoroutineStatus>
220 ::std::vector<::BlockPos> positions,
221 ::BoundingBox bounds
222 );
223
224 MCNAPI ::Editor::Task<
229 ::std::vector<::BlockPos> positions,
230 ::BoundingBox bounds,
231 ::std::function<void(float, uint64)> progress,
232 ::std::optional<::WeakRef<::Editor::ProjectRegion>> existingRegion
233 );
234
235 MCNAPI ::Editor::Task<::Scripting::Result_deprecated<uint>, ::Editor::CoroutineStatus> $replaceBlocksInSelection(
238 ::std::string fromBlockIdentifier,
239 ::Block const* toBlock,
240 ::BlockSource* expectedBlockSource
241 );
242
243 MCNAPI ::Editor::
244 Task<::Scripting::Result_deprecated<::Editor::RelativeVolumeListBlockVolume>, ::Editor::CoroutineStatus>
247 ::std::variant<
253 );
254
255 MCNAPI ::Editor::
256 Task<::Scripting::Result_deprecated<::Editor::RelativeVolumeListBlockVolume>, ::Editor::CoroutineStatus>
259 ::BlockPos seed,
261 ::std::function<void(::std::vector<::BlockPos> const&)> positionProgress
262 );
263
264 MCNAPI ::Editor::
265 Task<::Scripting::Result_deprecated<::Editor::RelativeVolumeListBlockVolume>, ::Editor::CoroutineStatus>
268 ::BlockPos seed,
270 );
271
272 MCNAPI ::Editor::Task<
277 ::BlockPos seed,
279 ::std::function<void(::std::vector<::BlockPos> const&)> positionProgress
280 );
281
282 MCNAPI ::Editor::Task<
288 ::BlockSource* expectedBlockSource
289 );
290
291
292 // NOLINTEND
293
294public:
295 // vftables
296 // NOLINTBEGIN
298
299 MCNAPI static void** $vftableForIEditorService();
300 // NOLINTEND
301};
302
303} // namespace Editor::BlockUtils::Task
Definition BlockPos.h:14
Definition BlockSource.h:72
Definition Block.h:42
Definition BoundingBox.h:13
Definition BlockMaskList.h:13
Definition BlockUtilityChunkedVolume.h:16
Definition BlockUtilityTaskServiceProvider.h:38
Definition BlockUtilityTaskService.h:41
MCAPI ::Editor::Task<::Scripting::Result_deprecated<::Editor::RelativeVolumeListBlockVolume >, ::Editor::CoroutineStatus > $findObscuredBlocksWithinVolume(::Editor::Coroutine::CoroutineTaskContext &context, ::std::vector<::BlockPos > positions, ::BoundingBox bounds)
MCAPI ::Editor::Task<::Scripting::Result_deprecated<::Editor::RelativeVolumeListBlockVolume >, ::Editor::CoroutineStatus > $extrude(::Editor::Coroutine::CoroutineTaskContext &context, ::BlockPos seed, ::Editor::BlockUtils::Task::BlockUtilityExtrudeOptions options)
MCAPI ::Editor::Task< ::Scripting::Result_deprecated<::Editor::BlockUtils::Task::BlockUtilityFillResult >, ::Editor::CoroutineStatus > $fillVolume(::Editor::Coroutine::CoroutineTaskContext &context, ::Editor::BlockUtils::Task::BlockUtilityChunkedVolume volume, ::std::optional<::Block const * > optBlock, ::BlockSource *expectedBlockSource, ::std::optional<::std::variant<::Editor::SimpleBlockPaletteItem, ::Editor::ProbabilityBlockPaletteItem > > paletteItem)
MCAPI::std::string_view $getServiceName() const
MCAPI ::Scripting::Result_deprecated< void > _validateBoundsWithinWorld(::BoundingBox const &bounds) const
static MCAPI void ** $vftableForBlockUtilityTaskServiceProvider()
static MCAPI ::std::string_view const & ServiceName()
MCAPI ::Editor::Task<::Scripting::Result_deprecated<::Editor::RelativeVolumeListBlockVolume >, ::Editor::CoroutineStatus > $trimVolumeToFitContents(::Editor::Coroutine::CoroutineTaskContext &context, ::std::vector<::BlockPos > positions, ::BoundingBox bounds, bool alwaysReturnMarquee, bool ignoreLiquid, bool ignoreNoCollision, ::Editor::BlockMask::BlockMaskList blockMask)
MCAPI::BlockSource & _getBlockSource() const
MCAPI ::Editor::Task< ::Scripting::Result_deprecated<::Editor::BlockUtils::Task::BlockUtilityFillResult >, ::Editor::CoroutineStatus > $applyExtrudeResult(::Editor::Coroutine::CoroutineTaskContext &context, ::Editor::BlockUtils::Task::BlockUtilityExtrudeResult result, ::BlockSource *expectedBlockSource)
MCAPI ::Editor::Task<::Scripting::Result_deprecated<::Editor::RelativeVolumeListBlockVolume >, ::Editor::CoroutineStatus > $shrinkWrapVolume(::Editor::Coroutine::CoroutineTaskContext &context, ::std::vector<::BlockPos > positions, ::BoundingBox bounds)
MCAPI ::Editor::Task< ::Scripting::Result_deprecated<::Editor::BlockUtils::Task::BlockUtilityExtrudeResult >, ::Editor::CoroutineStatus > $extrudeResult(::Editor::Coroutine::CoroutineTaskContext &context, ::BlockPos seed, ::Editor::BlockUtils::Task::BlockUtilityExtrudeOptions options, ::std::function< void(::std::vector<::BlockPos > const &)> positionProgress)
MCAPI ::Editor::Task<::Scripting::Result_deprecated< uint >, ::Editor::CoroutineStatus > $replaceBlocksInSelection(::Editor::Coroutine::CoroutineTaskContext &context, ::Editor::BlockUtils::Task::BlockUtilityChunkedVolume volume, ::std::string fromBlockIdentifier, ::Block const *toBlock, ::BlockSource *expectedBlockSource)
MCAPI ::Editor::Task<::Scripting::Result_deprecated<::Editor::RelativeVolumeListBlockVolume >, ::Editor::CoroutineStatus > $floodSearch(::Editor::Coroutine::CoroutineTaskContext &context, ::BlockPos seed, ::Editor::BlockUtils::Task::BlockUtilityFloodSearchOptions options, ::std::function< void(::std::vector<::BlockPos > const &)> positionProgress)
MCAPI ::Editor::Task<::Scripting::Result_deprecated<::Editor::RelativeVolumeListBlockVolume >, ::Editor::CoroutineStatus > $createShapeVolume(::Editor::Coroutine::CoroutineTaskContext &context, ::std::variant< ::Editor::BlockUtils::Task::BlockUtilityShapeVolumeOptionsCuboid, ::Editor::BlockUtils::Task::BlockUtilityShapeVolumeOptionsCone, ::Editor::BlockUtils::Task::BlockUtilityShapeVolumeOptionsCylinder, ::Editor::BlockUtils::Task::BlockUtilityShapeVolumeOptionsEllipsoid, ::Editor::BlockUtils::Task::BlockUtilityShapeVolumeOptionsPyramid > options)
MCAPI ::Editor::Task< ::Scripting::Result_deprecated<::Editor::BlockUtils::Task::BlockUtilityManifest >, ::Editor::CoroutineStatus > $generateManifest(::Editor::Coroutine::CoroutineTaskContext &context, ::std::vector<::BlockPos > positions, ::BoundingBox bounds, ::std::function< void(float, uint64)> progress, ::std::optional<::WeakRef<::Editor::ProjectRegion > > existingRegion)
MCAPI ::Scripting::Result_deprecated< void > $init()
MCAPI ::Scripting::Result_deprecated< void > $quit()
Definition CoroutineTaskContext.h:7
Definition ProjectRegion.h:25
Definition RelativeVolumeListBlockVolume.h:24
Definition IEditorService.h:11
Definition Result_deprecated.h:8
Definition WeakRef.h:8
Definition BlockUtilityExtrudeOptions.h:7
Definition BlockUtilityExtrudeResult.h:7
Definition BlockUtilityFillResult.h:7
Definition BlockUtilityFloodSearchOptions.h:7
Definition BlockUtilityManifest.h:7
Definition BlockUtilityShapeVolumeOptionsCone.h:10
Definition BlockUtilityShapeVolumeOptionsCuboid.h:10
Definition BlockUtilityShapeVolumeOptionsCylinder.h:10
Definition BlockUtilityShapeVolumeOptionsEllipsoid.h:10
Definition BlockUtilityShapeVolumeOptionsPyramid.h:10
Definition CoroutineStatus.h:7
Definition ProbabilityBlockPaletteItem.h:7
Definition SimpleBlockPaletteItem.h:7
Definition context.h:5