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