LeviLamina
Loading...
Searching...
No Matches
EditorBlockPaletteService.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/scripting/runtime/Result.h"
7#include "mc/deps/scripting/runtime/Result_deprecated.h"
8#include "mc/editor/serviceproviders/EditorBlockPaletteServiceProvider.h"
9#include "mc/editor/services/IEditorService.h"
10#include "mc/editor/services/PayloadStoreHelper.h"
11
12// auto generated forward declare list
13// clang-format off
14class Block;
15class BlockLegacy;
16class HashedString;
17namespace Bedrock::PubSub { class Subscription; }
18namespace Editor { class ServiceProviderCollection; }
19namespace Editor { struct EditorBlockPalette; }
20namespace Editor { struct EditorBlockPaletteEventActivePaletteChanged; }
21namespace Editor { struct EditorBlockPaletteEventItemUpdated; }
22namespace Editor { struct EditorBlockPaletteEventPaletteRemoved; }
23namespace Editor { struct EditorBlockPaletteEventPaletteUpdated; }
24namespace Editor { struct EditorBlockPaletteEventSelectedItemIndexChanged; }
25namespace Editor { struct ProbabilityBlockPaletteItem; }
26namespace Editor { struct SimpleBlockPaletteItem; }
27namespace Editor::Network { class BlockPaletteActivePaletteChangedPayload; }
28namespace Editor::Network { class BlockPaletteChangedPayload; }
29namespace Editor::Network { class BlockPaletteItemChangedPayload; }
30namespace Editor::Network { class BlockPaletteRemovedPayload; }
31namespace Editor::Network { class BlockPaletteSelectedIndexChangedPayload; }
32namespace Scripting { struct Error; }
33// clang-format on
34
35namespace Editor::Services {
36
40public:
41 // member variables
42 // NOLINTBEGIN
49 // NOLINTEND
50
51public:
52 // prevent constructor by default
56
57public:
58 // virtual functions
59 // NOLINTBEGIN
60 // vIndex: 0
61 virtual ~EditorBlockPaletteService() /*override*/;
62
63 // vIndex: 1
64 virtual ::Scripting::Result<void> init() /*override*/;
65
66 // vIndex: 3
67 virtual ::Scripting::Result<void> quit() /*override*/;
68
69 // vIndex: 4
70 virtual ::std::string_view getServiceName() const /*override*/;
71
72 // vIndex: 1
73 virtual ::std::vector<::std::shared_ptr<::Editor::EditorBlockPalette>> const& getPaletteList() const /*override*/;
74
75 // vIndex: 2
76 virtual ::Editor::EditorBlockPalette const& getActivePalette() const /*override*/;
77
78 // vIndex: 14
79 virtual void forEachBlockType(::std::function<void(::BlockLegacy const&, bool)> callback) const /*override*/;
80
81 // vIndex: 7
82 virtual int getSelectedPaletteItemIndex() const /*override*/;
83
84 // vIndex: 9
85 virtual ::Scripting::Result<void> pickBlock(::Block const&) = 0;
86
87 // vIndex: 10
88 virtual ::Scripting::Result_deprecated<::BlockLegacy const*> getSelectedBlockType() const /*override*/;
89
90 // vIndex: 11
91 virtual ::std::vector<::std::string> getPaletteIdList() const /*override*/;
92
93 // vIndex: 12
94 virtual ::std::optional<::Editor::EditorBlockPalette> getPalette(::HashedString const& paletteId) const
95 /*override*/;
96
97 // vIndex: 13
98 virtual ::Scripting::Result_deprecated<
99 ::std::variant<::Editor::SimpleBlockPaletteItem, ::Editor::ProbabilityBlockPaletteItem>>
100 getPaletteItem(::HashedString const& paletteId, int index) const /*override*/;
101
102 // vIndex: 15
103 virtual ::Bedrock::PubSub::Subscription
104 registerEventListener(::std::function<void(::std::variant<
110 ) /*override*/;
111
112 // vIndex: 7
113 virtual void _handleBlockPaletteActivePaletteChangedPayload(::Editor::Network::
114 BlockPaletteActivePaletteChangedPayload const&) = 0;
115
116 // vIndex: 8
117 virtual void _handleBlockPaletteItemChangedPayload(::Editor::Network::BlockPaletteItemChangedPayload const&) = 0;
118
119 // vIndex: 9
120 virtual void _handleBlockPaletteSelectedIndexChangedPayload(::Editor::Network::
121 BlockPaletteSelectedIndexChangedPayload const&) = 0;
122
123 // vIndex: 10
124 virtual void _handleBlockPaletteChangedPayload(::Editor::Network::BlockPaletteChangedPayload const&) = 0;
125
126 // vIndex: 11
127 virtual void _handleBlockPaletteRemovedPayload(::Editor::Network::BlockPaletteRemovedPayload const&) = 0;
128 // NOLINTEND
129
130public:
131 // member functions
132 // NOLINTBEGIN
133 MCAPI explicit EditorBlockPaletteService(::Editor::ServiceProviderCollection& serviceProviders);
134
135 MCAPI void _addOrReplacePalette(::Editor::EditorBlockPalette const& palette);
136
137 MCAPI ::Scripting::Result<void> _checkForDuplicateBlocks(
138 ::HashedString const& paletteId,
139 ::std::variant<::Editor::SimpleBlockPaletteItem, ::Editor::ProbabilityBlockPaletteItem> const& item
140 );
141
142 MCAPI ::Editor::EditorBlockPalette& _getActivePalette() const;
143
144 MCAPI ::Scripting::Error _getAttemptingToRemoveOnlyPaletteError(::HashedString const& paletteId) const;
145
146 MCAPI ::Scripting::Error _getIndexOutOfBoundsError(int index, int max) const;
147
148 MCAPI ::Editor::EditorBlockPalette* _getPalette(::HashedString const& paletteId) const;
149
150 MCAPI ::Scripting::Error _getPaletteIdNotFoundError(::HashedString const& paletteId) const;
151
152 MCAPI ::Scripting::Result<void> _removePalette(::HashedString const& paletteId);
153
154 MCAPI ::Scripting::Result<void> _setActivePalette(::HashedString const& paletteId);
155
156 MCAPI ::Scripting::Result<void> _updatePaletteItem(
157 ::HashedString const& paletteId,
158 int index,
159 ::std::variant<::Editor::SimpleBlockPaletteItem, ::Editor::ProbabilityBlockPaletteItem> const& item
160 );
161 // NOLINTEND
162
163public:
164 // constructor thunks
165 // NOLINTBEGIN
166 MCAPI void* $ctor(::Editor::ServiceProviderCollection& serviceProviders);
167 // NOLINTEND
168
169public:
170 // destructor thunk
171 // NOLINTBEGIN
172 MCAPI void $dtor();
173 // NOLINTEND
174
175public:
176 // virtual function thunks
177 // NOLINTBEGIN
178 MCAPI ::Scripting::Result<void> $init();
179
180 MCFOLD ::Scripting::Result<void> $quit();
181
182 MCAPI ::std::string_view $getServiceName() const;
183
184 MCFOLD ::std::vector<::std::shared_ptr<::Editor::EditorBlockPalette>> const& $getPaletteList() const;
185
186 MCAPI ::Editor::EditorBlockPalette const& $getActivePalette() const;
187
188 MCAPI void $forEachBlockType(::std::function<void(::BlockLegacy const&, bool)> callback) const;
189
190 MCFOLD int $getSelectedPaletteItemIndex() const;
191
192 MCAPI ::Scripting::Result_deprecated<::BlockLegacy const*> $getSelectedBlockType() const;
193
194 MCAPI ::std::vector<::std::string> $getPaletteIdList() const;
195
196 MCAPI ::std::optional<::Editor::EditorBlockPalette> $getPalette(::HashedString const& paletteId) const;
197
198 MCAPI ::Scripting::Result_deprecated<
199 ::std::variant<::Editor::SimpleBlockPaletteItem, ::Editor::ProbabilityBlockPaletteItem>>
200 $getPaletteItem(::HashedString const& paletteId, int index) const;
201
202 MCAPI ::Bedrock::PubSub::Subscription
203 $registerEventListener(::std::function<void(::std::variant<
209 // NOLINTEND
210
211public:
212 // vftables
213 // NOLINTBEGIN
214 MCAPI static void** $vftableForIEditorService();
215
216 MCAPI static void** $vftableForEditorBlockPaletteServiceProvider();
217 // NOLINTEND
218};
219
220} // namespace Editor::Services
Definition BlockLegacy.h:88
Definition Block.h:36
Definition BlockPaletteChangedPayload.h:11
Definition BlockPaletteItemChangedPayload.h:18
Definition BlockPaletteRemovedPayload.h:11
Definition ServiceProviderCollection.h:7
Definition EditorBlockPaletteServiceProvider.h:27
Definition EditorBlockPaletteService.h:39
Definition IEditorService.h:11
Definition PayloadStoreHelper.h:7
Definition HashedString.h:5
Definition EditorBlockPaletteEventActivePaletteChanged.h:7
Definition EditorBlockPaletteEventItemUpdated.h:7
Definition EditorBlockPaletteEventPaletteRemoved.h:7
Definition EditorBlockPaletteEventPaletteUpdated.h:7
Definition EditorBlockPaletteEventSelectedItemIndexChanged.h:7
Definition EditorBlockPalette.h:15
Definition Alias.h:14