LeviLamina
Loading...
Searching...
No Matches
BrushShapeManagerService.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/scripting/lifetime_registry/StrongTypedObjectHandle.h"
7#include "mc/deps/scripting/runtime/Result.h"
8#include "mc/deps/scripting/runtime/Result_deprecated.h"
9#include "mc/deps/scripting/script_engine/Closure.h"
10#include "mc/editor/services/IEditorService.h"
11#include "mc/editor/services/PayloadStoreHelper.h"
12#include "mc/editor/services/native_brush/BrushPaintCompletionState.h"
13#include "mc/editor/services/native_brush/BrushPaintMode.h"
14#include "mc/server/editor/serviceproviders/BrushShapeManagerServiceProvider.h"
15
16// auto generated forward declare list
17// clang-format off
19class Vec3;
20namespace Editor { class ServiceProviderCollection; }
21namespace Editor::BlockMask { class BlockMaskList; }
22namespace Editor::Brush { class BrushShape; }
23namespace Editor::Brush { class UIElement; }
24namespace Editor::Network { class NativeBrushBlockChangeListPayload; }
25namespace Editor::Network { class NativeBrushClientResponsePayload; }
26namespace Editor::Network { class NativeBrushPaintEventPayload; }
27namespace Editor::ScriptModule { class ScriptUIElement; }
28namespace ScriptModuleMinecraft { class ScriptCompoundBlockVolume; }
29// clang-format on
30
31namespace Editor::Brush {
32
36public:
37 // member variables
38 // NOLINTBEGIN
50 // NOLINTEND
51
52public:
53 // prevent constructor by default
57
58public:
59 // virtual functions
60 // NOLINTBEGIN
61 // vIndex: 0
62 virtual ~BrushShapeManagerService() /*override*/;
63
64 // vIndex: 1
65 virtual ::Scripting::Result<void> init() /*override*/;
66
67 // vIndex: 2
68 virtual ::Scripting::Result<void> ready() /*override*/;
69
70 // vIndex: 3
71 virtual ::Scripting::Result<void> quit() /*override*/;
72
73 // vIndex: 4
74 virtual ::std::string_view getServiceName() const /*override*/;
75
76 // vIndex: 1
77 virtual ::std::shared_ptr<::Editor::Brush::BrushShape> getCurrentBrushShape() const /*override*/;
78
79 // vIndex: 2
80 virtual ::std::shared_ptr<::CompoundBlockVolume> getCurrentBrushVolume() const /*override*/;
81
82 // vIndex: 3
83 virtual ::Scripting::Result_deprecated<::CompoundBlockVolume> switchBrushShape(::std::string const& brushName
84 ) /*override*/;
85
86 // vIndex: 4
87 virtual ::Scripting::Result_deprecated<::std::vector<::std::shared_ptr<::Editor::Brush::UIElement>>>
88 getUIElements(::std::string const& brushName) /*override*/;
89
90 // vIndex: 5
91 virtual ::Scripting::Result_deprecated<bool> uiElementValueChanged(
92 ::std::string const& elementName,
93 ::std::variant<float, bool, ::Vec3, ::std::string> newValue
94 ) /*override*/;
95
96 // vIndex: 6
97 virtual ::std::vector<::std::shared_ptr<::Editor::Brush::BrushShape>> getBrushShapeList() const /*override*/;
98
99 // vIndex: 7
100 virtual void registerBrushShape(
101 ::std::string const& name,
102 ::std::string const& icon,
104 rebuild,
107 getSettingsUI
108 ) /*override*/;
109
110 // vIndex: 8
111 virtual void activateBrushTool() /*override*/;
112
113 // vIndex: 9
114 virtual void switchBrushPaintMode(::Editor::Brush::BrushPaintMode mode) /*override*/;
115
116 // vIndex: 11
117 virtual void setBrushShape(::std::vector<::Vec3> const& shapeOffsets) /*override*/;
118
119 // vIndex: 10
120 virtual void setBrushShape(::CompoundBlockVolume const& volume) /*override*/;
121
122 // vIndex: 12
123 virtual void setBrushMask(::Editor::BlockMask::BlockMaskList const& mask) /*override*/;
124
125 // vIndex: 13
126 virtual void beginPainting(::std::function<void(::Editor::Brush::BrushPaintCompletionState)> fnCallback
127 ) /*override*/;
128
129 // vIndex: 14
130 virtual void endPainting(bool const cancelled) /*override*/;
131
132 // vIndex: 15
133 virtual void singlePaint(::std::function<void(::Editor::Brush::BrushPaintCompletionState)> fnCallback) /*override*/;
134
135 // vIndex: 16
136 virtual void deactivateBrushTool() /*override*/;
137
138 // vIndex: 17
139 virtual void setBrushShapeOffset(::Vec3 const& offset) /*override*/;
140
141 // vIndex: 18
142 virtual ::Vec3 getBrushShapeOffset() const /*override*/;
143
144 // vIndex: 19
145 virtual void setTerrainStrength(int const terrainStrength) /*override*/;
146
147 // vIndex: 20
148 virtual void setFlattenHeight(int const flattenHeight) /*override*/;
149
150 // vIndex: 21
151 virtual void setFlattenRadius(int const flattenRadius) /*override*/;
152
153 // vIndex: 22
154 virtual void setBrushShapeVisible(bool const visible) /*override*/;
155 // NOLINTEND
156
157public:
158 // member functions
159 // NOLINTBEGIN
161
162 MCAPI void _handleBlockChangePayload(::Editor::Network::NativeBrushBlockChangeListPayload const& payload);
163
164 MCAPI void _handleClientResponsePayload(::Editor::Network::NativeBrushClientResponsePayload const& payload);
165
166 MCAPI void _handlePaintEventPayload(::Editor::Network::NativeBrushPaintEventPayload const& payload);
167 // NOLINTEND
168
169public:
170 // constructor thunks
171 // NOLINTBEGIN
172 MCAPI void* $ctor(::Editor::ServiceProviderCollection& providers);
173 // NOLINTEND
174
175public:
176 // destructor thunk
177 // NOLINTBEGIN
178 MCAPI void $dtor();
179 // NOLINTEND
180
181public:
182 // virtual function thunks
183 // NOLINTBEGIN
184 MCAPI ::Scripting::Result<void> $init();
185
186 MCFOLD ::Scripting::Result<void> $ready();
187
188 MCAPI ::Scripting::Result<void> $quit();
189
190 MCAPI ::std::string_view $getServiceName() const;
191
192 MCAPI ::std::shared_ptr<::Editor::Brush::BrushShape> $getCurrentBrushShape() const;
193
194 MCAPI ::std::shared_ptr<::CompoundBlockVolume> $getCurrentBrushVolume() const;
195
196 MCAPI ::Scripting::Result_deprecated<::CompoundBlockVolume> $switchBrushShape(::std::string const& brushName);
197
198 MCAPI ::Scripting::Result_deprecated<::std::vector<::std::shared_ptr<::Editor::Brush::UIElement>>>
199 $getUIElements(::std::string const& brushName);
200
201 MCAPI ::Scripting::Result_deprecated<bool> $uiElementValueChanged(
202 ::std::string const& elementName,
203 ::std::variant<float, bool, ::Vec3, ::std::string> newValue
204 );
205
206 MCAPI ::std::vector<::std::shared_ptr<::Editor::Brush::BrushShape>> $getBrushShapeList() const;
207
208 MCAPI void $registerBrushShape(
209 ::std::string const& name,
210 ::std::string const& icon,
212 rebuild,
215 getSettingsUI
216 );
217
218 MCAPI void $activateBrushTool();
219
220 MCAPI void $switchBrushPaintMode(::Editor::Brush::BrushPaintMode mode);
221
222 MCAPI void $setBrushShape(::std::vector<::Vec3> const& shapeOffsets);
223
224 MCAPI void $setBrushShape(::CompoundBlockVolume const& volume);
225
226 MCAPI void $setBrushMask(::Editor::BlockMask::BlockMaskList const& mask);
227
228 MCAPI void $beginPainting(::std::function<void(::Editor::Brush::BrushPaintCompletionState)> fnCallback);
229
230 MCAPI void $endPainting(bool const cancelled);
231
232 MCAPI void $singlePaint(::std::function<void(::Editor::Brush::BrushPaintCompletionState)> fnCallback);
233
234 MCAPI void $deactivateBrushTool();
235
236 MCAPI void $setBrushShapeOffset(::Vec3 const& offset);
237
238 MCAPI ::Vec3 $getBrushShapeOffset() const;
239
240 MCAPI void $setTerrainStrength(int const terrainStrength);
241
242 MCAPI void $setFlattenHeight(int const flattenHeight);
243
244 MCAPI void $setFlattenRadius(int const flattenRadius);
245
246 MCAPI void $setBrushShapeVisible(bool const visible);
247 // NOLINTEND
248
249public:
250 // vftables
251 // NOLINTBEGIN
252 MCAPI static void** $vftableForIEditorService();
253
254 MCAPI static void** $vftableForBrushShapeManagerServiceProvider();
255 // NOLINTEND
256};
257
258} // namespace Editor::Brush
Definition CompoundBlockVolume.h:18
Definition BlockMaskList.h:7
Definition BrushShapeManagerService.h:35
Definition NativeBrushBlockChangeListPayload.h:11
Definition NativeBrushClientResponsePayload.h:11
Definition NativeBrushPaintEventPayload.h:11
Definition ServiceProviderCollection.h:7
Definition BrushShapeManagerServiceProvider.h:25
Definition IEditorService.h:11
Definition PayloadStoreHelper.h:7
Definition Closure.h:8
Definition StrongTypedObjectHandle.h:8
Definition Vec3.h:10
Definition Alias.h:14