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 { class ServiceProviderCollection; }
27namespace Editor::BlockMask { class BlockMaskList; }
28// clang-format on
29
30namespace Editor::BlockUtils {
31
32class CommonBlockUtilityService : public ::Editor::Services::IEditorService,
35public:
36 // member variables
37 // NOLINTBEGIN
40 // NOLINTEND
41
42public:
43 // prevent constructor by default
44 CommonBlockUtilityService& operator=(CommonBlockUtilityService const&);
45 CommonBlockUtilityService(CommonBlockUtilityService const&);
46 CommonBlockUtilityService();
47
48public:
49 // virtual functions
50 // NOLINTBEGIN
51 virtual ~CommonBlockUtilityService() /*override*/;
52
53 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
54
55 virtual ::Scripting::Result_deprecated<void> ready() /*override*/;
56
57 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
58
59 virtual ::std::string_view getServiceName() const /*override*/;
60
61 virtual ::std::set<::ChunkPos> getChunksFromAABB(::AABB const& aabb) const /*override*/;
62
63 virtual bool isChunkLoaded(::ChunkPos const& pos) const /*override*/;
64
65 virtual bool isChunkFullyLoaded(::ChunkPos const& pos) const /*override*/;
66
67 virtual bool areChunksLoaded(::std::set<::ChunkPos> const& chunks) const /*override*/;
68
69 virtual bool isAreaLoaded(::AABB const& aabb) const /*override*/;
70
71 virtual ::Editor::RelativeVolumeListBlockVolume trimVolumeToFitContents(
72 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*> const inVolume,
73 bool retainMarqueeAfterTrimming,
74 bool ignoreLiquid,
75 bool ignoreNoCollision,
77 ) /*override*/;
78
79 virtual ::Editor::RelativeVolumeListBlockVolume findObscuredBlocksWithinVolume(
80 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*> const inVolume
81 ) /*override*/;
82
83 virtual ::Editor::RelativeVolumeListBlockVolume shrinkWrapVolume(
84 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*> const
85 ) /*override*/;
86
87 virtual bool isLocationInsideDimensionBounds(
88 ::std::variant<
89 ::BlockVolumeBase const*,
91 ::Vec3 const*,
92 ::BoundingBox const*,
93 ::BlockPos const*> const test
94 ) /*override*/;
95
96 virtual ::Vec3 getDimensionMinLocation() const /*override*/;
97
98 virtual ::Vec3 getDimensionMaxLocation() const /*override*/;
99
100 virtual ::BoundingBox getDimensionLocationBoundingBox() const /*override*/;
101
102 virtual ::CompoundBlockVolume getContiguousSelection(
103 int const size,
104 ::Facing::Name const& selectionDirection,
105 ::Vec3 const& startingLocation,
106 bool const isFace,
107 int const fullSelectionToleranceLevel,
108 bool const checkForAdjacentFaceBlocks,
109 ::Editor::BlockUtils::ContiguousSelectionType const& contiguousSelectionType,
110 ::std::vector<::std::string> const& contiguousSelectionBlockList
111 ) const /*override*/;
112
113 virtual bool areBlocksContiguous(
114 ::Editor::BlockUtils::ContiguousSelectionType const& contiguousSelectionType,
115 ::Block const& blockToTest,
116 ::Block const& blockToFollow,
117 ::std::vector<::std::string> const& allowList
118 ) const /*override*/;
119
120 virtual ::Vec3 getDeltaFromDirection(::Facing::Name const& selectionDirection) const /*override*/;
121
122 virtual ::Scripting::Result_deprecated<void> _implInit() = 0;
123
124 virtual ::Scripting::Result_deprecated<void> _implReady() = 0;
125
126 virtual ::Scripting::Result_deprecated<void> _implQuit() = 0;
127
128 virtual ::AABB getBoundForContiguousSelection(
129 ::Vec3 const& initialLocation,
130 ::Facing::Name const& selectionDirection,
131 int const size,
132 bool const isFace
133 ) const /*override*/;
134
135 virtual bool isBlockExposedInDirection(
136 ::Dimension const& dimension,
137 ::Vec3 const& targetLocation,
138 ::Facing::Name const& direction
139 ) const /*override*/;
140
141 virtual bool isSameBlockType(::Block const& blockA, ::Block const& blockB) const /*override*/;
142
143 virtual bool isSameBlockAndProperties(::Block const& blockA, ::Block const& blockB) const /*override*/;
144
145 virtual bool isBlockTypeInSelectionList(::Block const& block, ::std::vector<::std::string> const& allowList) const
146 /*override*/;
147 // NOLINTEND
148
149public:
150 // member functions
151 // NOLINTBEGIN
152 MCNAPI ::BlockSource& _getBlockSource() const;
153
154 MCNAPI ::Dimension& _getDimension() const;
155 // NOLINTEND
156
157public:
158 // constructor thunks
159 // NOLINTBEGIN
160 MCNAPI_C void* $ctor(::Editor::ServiceProviderCollection& providers);
161 // NOLINTEND
162
163public:
164 // destructor thunk
165 // NOLINTBEGIN
166 MCNAPI void $dtor();
167 // NOLINTEND
168
169public:
170 // virtual function thunks
171 // NOLINTBEGIN
172 MCNAPI ::Scripting::Result_deprecated<void> $init();
173
174 MCNAPI ::Scripting::Result_deprecated<void> $ready();
175
176 MCNAPI ::Scripting::Result_deprecated<void> $quit();
177
178 MCNAPI ::std::string_view $getServiceName() const;
179
180 MCNAPI ::std::set<::ChunkPos> $getChunksFromAABB(::AABB const& aabb) const;
181
182 MCNAPI bool $isChunkLoaded(::ChunkPos const& pos) const;
183
184 MCNAPI bool $isChunkFullyLoaded(::ChunkPos const& pos) const;
185
186 MCNAPI bool $areChunksLoaded(::std::set<::ChunkPos> const& chunks) const;
187
188 MCNAPI bool $isAreaLoaded(::AABB const& aabb) const;
189
190 MCNAPI ::Editor::RelativeVolumeListBlockVolume $trimVolumeToFitContents(
191 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*> const inVolume,
192 bool retainMarqueeAfterTrimming,
193 bool ignoreLiquid,
194 bool ignoreNoCollision,
196 );
197
198 MCNAPI ::Editor::RelativeVolumeListBlockVolume $findObscuredBlocksWithinVolume(
199 ::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*> const inVolume
200 );
201
202 MCNAPI ::Editor::RelativeVolumeListBlockVolume
203 $shrinkWrapVolume(::std::variant<::BlockVolumeBase const*, ::Editor::RelativeVolumeListBlockVolume const*> const);
204
206 ::std::variant<
207 ::BlockVolumeBase const*,
209 ::Vec3 const*,
210 ::BoundingBox const*,
211 ::BlockPos const*> const test
212 );
213
214 MCNAPI ::Vec3 $getDimensionMinLocation() const;
215
216 MCNAPI ::Vec3 $getDimensionMaxLocation() const;
217
218 MCNAPI ::BoundingBox $getDimensionLocationBoundingBox() const;
219
220 MCNAPI ::CompoundBlockVolume $getContiguousSelection(
221 int const size,
222 ::Facing::Name const& selectionDirection,
223 ::Vec3 const& startingLocation,
224 bool const isFace,
225 int const fullSelectionToleranceLevel,
226 bool const checkForAdjacentFaceBlocks,
227 ::Editor::BlockUtils::ContiguousSelectionType const& contiguousSelectionType,
228 ::std::vector<::std::string> const& contiguousSelectionBlockList
229 ) const;
230
232 ::Editor::BlockUtils::ContiguousSelectionType const& contiguousSelectionType,
233 ::Block const& blockToTest,
234 ::Block const& blockToFollow,
235 ::std::vector<::std::string> const& allowList
236 ) const;
237
238 MCNAPI ::Vec3 $getDeltaFromDirection(::Facing::Name const& selectionDirection) const;
239
241 ::Vec3 const& initialLocation,
242 ::Facing::Name const& selectionDirection,
243 int const size,
244 bool const isFace
245 ) const;
246
248 ::Dimension const& dimension,
249 ::Vec3 const& targetLocation,
250 ::Facing::Name const& direction
251 ) const;
252
253 MCNAPI bool $isSameBlockType(::Block const& blockA, ::Block const& blockB) const;
254
255 MCNAPI bool $isSameBlockAndProperties(::Block const& blockA, ::Block const& blockB) const;
256
257 MCNAPI bool $isBlockTypeInSelectionList(::Block const& block, ::std::vector<::std::string> const& allowList) const;
258
259
260 // NOLINTEND
261
262public:
263 // vftables
264 // NOLINTBEGIN
265 MCNAPI static void** $vftableForIEditorService();
266
268 // NOLINTEND
269};
270
271} // namespace Editor::BlockUtils
Definition AABB.h:18
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition BlockVolumeBase.h:13
Definition Block.h:43
Definition BoundingBox.h:13
Definition ChunkPos.h:11
Definition CompoundBlockVolume.h:18
Definition Dimension.h:85
Definition BlockMaskList.h:14
Definition CommonBlockUtilityServiceProvider.h:26
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 ServiceProviderCollection.h:7
Definition IEditorService.h:11
Definition PayloadStoreHelper.h:7
Definition Vec3.h:10
Definition Alias.h:14