LeviLamina
Loading...
Searching...
No Matches
EditorBlockPaletteServiceProvider.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
8// auto generated forward declare list
9// clang-format off
10class Block;
11class BlockType;
12class HashedString;
13namespace Bedrock::PubSub { class Subscription; }
14namespace Editor { struct EditorBlockPalette; }
15namespace Editor { struct EditorBlockPaletteEventActivePaletteChanged; }
16namespace Editor { struct EditorBlockPaletteEventItemUpdated; }
17namespace Editor { struct EditorBlockPaletteEventPaletteRemoved; }
18namespace Editor { struct EditorBlockPaletteEventPaletteUpdated; }
19namespace Editor { struct EditorBlockPaletteEventSelectedItemIndexChanged; }
20namespace Editor { struct ProbabilityBlockPaletteItem; }
21namespace Editor { struct SimpleBlockPaletteItem; }
22// clang-format on
23
24namespace Editor::Services {
25
27public:
28 // virtual functions
29 // NOLINTBEGIN
30 virtual ~EditorBlockPaletteServiceProvider() = default;
31
32 virtual ::std::vector<::std::shared_ptr<::Editor::EditorBlockPalette>> const& getPaletteList() const = 0;
33
34 virtual ::Editor::EditorBlockPalette const& getActivePalette() const = 0;
35
36 virtual void addOrReplacePalette(::Editor::EditorBlockPalette const&) = 0;
37
38 virtual ::Scripting::Result_deprecated<void> removePalette(::HashedString const&) = 0;
39
40 virtual ::Scripting::Result_deprecated<void> setActivePalette(::HashedString const& paletteId) = 0;
41
42 virtual ::Scripting::Result_deprecated<void> setSelectedPaletteItemIndex(int) = 0;
43
44 virtual int getSelectedPaletteItemIndex() const = 0;
45
46 virtual ::Scripting::Result_deprecated<void> setPaletteItem(
47 ::HashedString const&,
48 int,
49 ::std::variant<::Editor::SimpleBlockPaletteItem, ::Editor::ProbabilityBlockPaletteItem> const&
50 ) = 0;
51
52 virtual ::Scripting::Result_deprecated<void> pickBlock(::Block const&) = 0;
53
54 virtual ::Scripting::Result_deprecated<::BlockType const*> getSelectedBlockType() const = 0;
55
56 virtual ::std::vector<::std::string> getPaletteIdList() const = 0;
57
58 virtual ::std::optional<::Editor::EditorBlockPalette> getPalette(::HashedString const&) const = 0;
59
60 virtual ::Scripting::Result_deprecated<
61 ::std::variant<::Editor::SimpleBlockPaletteItem, ::Editor::ProbabilityBlockPaletteItem>>
62 getPaletteItem(::HashedString const&, int) const = 0;
63
64 virtual void forEachBlockType(::std::function<void(::BlockType const&, bool)>) const = 0;
65
66 virtual ::Bedrock::PubSub::Subscription registerEventListener(
67 ::std::function<void(::std::variant<
73 ) = 0;
74 // NOLINTEND
75
76public:
77 // virtual function thunks
78 // NOLINTBEGIN
79
80 // NOLINTEND
81
82public:
83 // vftables
84 // NOLINTBEGIN
85 MCNAPI static void** $vftable();
86 // NOLINTEND
87};
88
89} // namespace Editor::Services
Definition Subscription.h:10
Definition BlockType.h:84
Definition Block.h:43
Definition EditorBlockPaletteServiceProvider.h:26
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