Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
ServerInteractiveToolServiceProvider.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/script_core/runtime/scripting/Result_deprecated.h"
7#include "mc/editor/FloodLiquidType.h"
8#include "mc/editor/block_utils/BlockUtilityFloodMatchCriteria.h"
9
10// auto generated forward declare list
11// clang-format off
12class BlockPos;
13namespace Editor { class RelativeVolumeListBlockVolume; }
14namespace Editor::BlockUtils::FloodLevel { struct FloodSearchOptions; }
15namespace Editor::BlockUtils::Task { struct BlockUtilityExtrudeResult; }
16namespace Editor::InteractiveTools { struct FloodCommitResult; }
17// clang-format on
18
19namespace Editor::Services {
20
22public:
23 // virtual functions
24 // NOLINTBEGIN
25 virtual ~ServerInteractiveToolServiceProvider() = default;
26
27 virtual void supportsSmartFill(::std::function<void(::Scripting::Result_deprecated<bool>)> callback) = 0;
28
29 virtual void activateSmartFill(
30 int radius,
31 bool limitToSelection,
32 bool onlyFillExposedSurface,
33 ::std::function<void(::Scripting::Result_deprecated<void>)> callback
34 ) = 0;
35
36 virtual void updateSmartFill(
37 int radius,
38 bool limitToSelection,
39 bool onlyFillExposedSurface,
40 ::std::function<void(::Scripting::Result_deprecated<void>)> callback
41 ) = 0;
42
43 virtual void commitSmartFill(
44 ::BlockPos target,
45 uchar face,
47 ) = 0;
48
49 virtual void supportsExtrude(::std::function<void(::Scripting::Result_deprecated<bool>)> callback) = 0;
50
51 virtual void activateExtrude(
52 int faceSize,
53 int layerCount,
54 bool isShrink,
55 ::Editor::BlockUtils::Task::BlockUtilityFloodMatchCriteria criteria,
56 ::std::vector<::std::string> customBlockList,
57 int tolerance,
58 ::std::function<void(::Scripting::Result_deprecated<void>)> callback
59 ) = 0;
60
61 virtual void updateExtrude(
62 int faceSize,
63 int layerCount,
64 bool isShrink,
65 ::Editor::BlockUtils::Task::BlockUtilityFloodMatchCriteria criteria,
66 ::std::vector<::std::string> customBlockList,
67 int tolerance,
68 ::std::function<void(::Scripting::Result_deprecated<void>)> callback
69 ) = 0;
70
71 virtual void commitExtrude(
72 ::BlockPos target,
73 uchar face,
75 callback
76 ) = 0;
77
78 virtual void supportsFlood(::std::function<void(::Scripting::Result_deprecated<bool>)> callback) = 0;
79
80 virtual void activateFlood(
81 ::BlockPos targetLocation,
82 int currentLevel,
83 ::Editor::InteractiveTools::FloodLiquidType liquid,
84 bool allowTruncated,
86 ::std::function<void(::Scripting::Result_deprecated<void>)> callback
87 ) = 0;
88
89 virtual void updateFlood(
90 ::BlockPos targetLocation,
91 int currentLevel,
92 ::Editor::InteractiveTools::FloodLiquidType liquid,
93 bool allowTruncated,
95 ::std::function<void(::Scripting::Result_deprecated<void>)> callback
96 ) = 0;
97
98 virtual void commitFlood(
99 ::BlockPos target,
101 ) = 0;
102
103 virtual void resume(::std::function<void(::Scripting::Result_deprecated<void>)> callback) = 0;
104
105 virtual void deactivate(::std::function<void(::Scripting::Result_deprecated<void>)> callback) = 0;
106 // NOLINTEND
107};
108
109} // namespace Editor::Services
Definition BlockPos.h:14
Definition RelativeVolumeListBlockVolume.h:24
Definition ServerInteractiveToolServiceProvider.h:21
Definition Result_deprecated.h:8
Definition BlockUtilityExtrudeResult.h:7
Definition FloodCommitResult.h:7