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& pickedBlock) = 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
103 _handleBlockPaletteItemChangedPayload(::Editor::Network::BlockPaletteItemChangedPayload const& payload) = 0;
104
105 virtual void _handleBlockPaletteSelectedIndexChangedPayload(
107 ) = 0;
108
109 virtual void _handleBlockPaletteChangedPayload(::Editor::Network::BlockPaletteChangedPayload const& payload) = 0;
110
111 virtual void _handleBlockPaletteRemovedPayload(::Editor::Network::BlockPaletteRemovedPayload const& payload) = 0;
112 // NOLINTEND
113
114public:
115 // member functions
116 // NOLINTBEGIN
118
120
121#ifdef LL_PLAT_C
122 MCNAPI ::std::variant<::Editor::SimpleBlockPaletteItem, ::Editor::ProbabilityBlockPaletteItem>
123 _checkAndClampWeights(::std::variant<::Editor::SimpleBlockPaletteItem, ::Editor::ProbabilityBlockPaletteItem> item);
124#endif
125
126 MCNAPI ::Scripting::Result_deprecated<void> _checkForDuplicateBlocks(
127 ::HashedString const& paletteId,
128 ::std::variant<::Editor::SimpleBlockPaletteItem, ::Editor::ProbabilityBlockPaletteItem> const& item
129 );
130
131 MCNAPI ::Editor::EditorBlockPalette& _getActivePalette() const;
132
133 MCNAPI ::Scripting::Error _getAttemptingToRemoveOnlyPaletteError(::HashedString const& paletteId) const;
134
135 MCNAPI ::Scripting::ArgumentOutOfBoundsError _getIndexOutOfBoundsError(int param, int argIndex, int max) const;
136
137 MCNAPI ::Editor::EditorBlockPalette* _getPalette(::HashedString const& paletteId) const;
138
139 MCNAPI ::Scripting::Error _getPaletteIdNotFoundError(::HashedString const& paletteId) const;
140
141 MCNAPI ::Scripting::Result_deprecated<void> _removePalette(::HashedString const& paletteId);
142
143 MCNAPI ::Scripting::Result_deprecated<void> _setActivePalette(::HashedString const& paletteId);
144
145 MCNAPI ::Scripting::Result_deprecated<void> _updatePaletteItem(
146 ::HashedString const& paletteId,
147 int index,
148 ::std::variant<::Editor::SimpleBlockPaletteItem, ::Editor::ProbabilityBlockPaletteItem> const& item
149 );
150 // NOLINTEND
151
152public:
153 // constructor thunks
154 // NOLINTBEGIN
155 MCNAPI void* $ctor(::Editor::ServiceProviderCollection& serviceProviders);
156 // NOLINTEND
157
158public:
159 // destructor thunk
160 // NOLINTBEGIN
161 MCNAPI void $dtor();
162 // NOLINTEND
163
164public:
165 // virtual function thunks
166 // NOLINTBEGIN
167 MCNAPI ::Scripting::Result_deprecated<void> $init();
168
169 MCNAPI ::Scripting::Result_deprecated<void> $quit();
170
171 MCNAPI ::std::string_view $getServiceName() const;
172
173 MCNAPI ::std::vector<::std::shared_ptr<::Editor::EditorBlockPalette>> const& $getPaletteList() const;
174
175 MCNAPI ::Editor::EditorBlockPalette const& $getActivePalette() const;
176
177 MCNAPI void $forEachBlockType(::std::function<void(::BlockType const&, bool)> callback) const;
178
180
181 MCNAPI ::Scripting::Result_deprecated<::BlockType const*> $getSelectedBlockType() const;
182
183 MCNAPI ::std::vector<::std::string> $getPaletteIdList() const;
184
185 MCNAPI ::std::optional<::Editor::EditorBlockPalette> $getPalette(::HashedString const& paletteId) const;
186
187 MCNAPI ::Scripting::Result_deprecated<
188 ::std::variant<::Editor::SimpleBlockPaletteItem, ::Editor::ProbabilityBlockPaletteItem>>
189 $getPaletteItem(::HashedString const& paletteId, int index) const;
190
191 MCNAPI ::Bedrock::PubSub::Subscription $registerEventListener(
192 ::std::function<void(::std::variant<
198 );
199
200
201 // NOLINTEND
202
203public:
204 // vftables
205 // NOLINTBEGIN
206 MCNAPI static void** $vftableForIEditorService();
207
209 // NOLINTEND
210};
211
212} // 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