LeviLamina
Loading...
Searching...
No Matches
BrushShapeManagerServiceProvider.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/editor/BrushElevationMode.h"
7#include "mc/common/editor/DirectionalPlacementMode.h"
8#include "mc/editor/services/native_brush/BrushFlattenMode.h"
9#include "mc/editor/services/native_brush/BrushPaintCompletionState.h"
10#include "mc/editor/services/native_brush/BrushPaintMode.h"
11
12// auto generated forward declare list
13// clang-format off
14class HashedString;
15class Vec3;
16namespace Editor { class RelativeVolumeListBlockVolume; }
17namespace Editor::BlockMask { class BlockMaskList; }
18// clang-format on
19
20namespace Editor::Services {
21
23public:
24 // virtual functions
25 // NOLINTBEGIN
26 virtual ~BrushShapeManagerServiceProvider() = default;
27
28 virtual ::Editor::RelativeVolumeListBlockVolume const& getCurrentBrushVolume() const = 0;
29
30 virtual void activateBrushTool() = 0;
31
32 virtual void switchBrushPaintMode(::Editor::Brush::BrushPaintMode mode) = 0;
33
34 virtual void setBrushShape(::std::vector<::Vec3> const& shapeOffsets) = 0;
35
36 virtual void setBrushShape(::Editor::RelativeVolumeListBlockVolume const& volume) = 0;
37
38 virtual void setBrushMask(::Editor::BlockMask::BlockMaskList const& mask) = 0;
39
40 virtual void beginPainting(::std::function<void(::Editor::Brush::BrushPaintCompletionState)> fnCallback) = 0;
41
42 virtual void endPainting(bool const cancelled) = 0;
43
44 virtual void singlePaint(::std::function<void(::Editor::Brush::BrushPaintCompletionState)> fnCallback) = 0;
45
46 virtual void deactivateBrushTool() = 0;
47
48 virtual void setBrushShapeOffset(::Vec3 const& offset) = 0;
49
50 virtual ::Vec3 getBrushShapeOffset() const = 0;
51
52 virtual void setTerrainStrength(int const terrainStrength) = 0;
53
54 virtual void setFlattenMode(::Editor::Brush::BrushFlattenMode flattenMode) = 0;
55
56 virtual void setFlattenSmoothing(int const flattenSmoothing) = 0;
57
58 virtual void setFloorBlockOverride(bool const floorBlockOverride) = 0;
59
60 virtual void setElevationMode(::Editor::Brush::BrushElevationMode elevationMode) = 0;
61
62 virtual void setElevationFalloff(int const elevationFalloff) = 0;
63
64 virtual void setElevationSampleLayers(int const elevationSampleLayers) = 0;
65
66 virtual void setElevationBrushRadius(int const elevationBrushRadius) = 0;
67
68 virtual void setBrushShapeVisible(bool const visible) = 0;
69
70 virtual bool isBusy() = 0;
71
72 virtual void setDirectionalPlacementMode(::Editor::Brush::DirectionalPlacementMode directionalPlacementMode) = 0;
73
74 virtual ::Editor::Brush::DirectionalPlacementMode getDirectionalPlacementMode() const = 0;
75
76 virtual void setInverseEraseMode(bool const inverseErase) = 0;
77
78 virtual bool getInverseEraseMode() const = 0;
79
80 virtual void setItemPlacement(::HashedString const& itemName) = 0;
81
82 virtual ::HashedString const& getItemPlacement() const = 0;
83
84 virtual bool const isItemPlacementActive() const = 0;
85
86 virtual void pushBlockStateOverride(
87 ::HashedString const& stateName,
88 ::std::variant<int, ::std::string, bool> const& stateValue
89 ) = 0;
90
91 virtual void clearBlockStateOverrides() = 0;
92
93 virtual void setBlockFacePlacementBasedOnCamera(bool const enable) = 0;
94 // NOLINTEND
95
96public:
97 // virtual function thunks
98 // NOLINTBEGIN
99
100 // NOLINTEND
101
102public:
103 // vftables
104 // NOLINTBEGIN
105 MCNAPI static void** $vftable();
106 // NOLINTEND
107};
108
109} // namespace Editor::Services
Definition BlockMaskList.h:14
Definition RelativeVolumeListBlockVolume.h:22
Definition BrushShapeManagerServiceProvider.h:22
Definition HashedString.h:5
Definition Vec3.h:10