LeviLamina
Loading...
Searching...
No Matches
ClipboardService.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/game_refs/WeakRef.h"
7#include "mc/deps/script_core/runtime/scripting/Result_deprecated.h"
8#include "mc/editor/serviceproviders/ClipboardServiceProvider.h"
9#include "mc/editor/services/IEditorService.h"
10#include "mc/server/editor/services/structures/IStructureDataProvider.h"
11
12// auto generated forward declare list
13// clang-format off
14class BlockPos;
15class BlockVolumeBase;
17class Vec3;
18namespace Bedrock::PubSub { class Subscription; }
19namespace Editor { class EditorStructureTemplate; }
20namespace Editor { class RelativeVolumeListBlockVolume; }
21namespace Editor { class ServiceProviderCollection; }
22namespace Editor::Services { class ClipboardItem; }
23namespace Editor::Services { struct ClipboardWriteOptions; }
24namespace Editor::Transactions { class PendingTransaction; }
25namespace mce { class UUID; }
26// clang-format on
27
28namespace Editor::Services {
29
30class ClipboardService : public ::Editor::Services::IEditorService,
33public:
34 // member variables
35 // NOLINTBEGIN
40 // NOLINTEND
41
42public:
43 // prevent constructor by default
44 ClipboardService& operator=(ClipboardService const&);
45 ClipboardService(ClipboardService const&);
46 ClipboardService();
47
48public:
49 // virtual functions
50 // NOLINTBEGIN
51 virtual ~ClipboardService() /*override*/ = default;
52
53 virtual ::Scripting::Result_deprecated<void> init() /*override*/;
54
55 virtual ::Scripting::Result_deprecated<void> ready() /*override*/;
56
57 virtual ::Scripting::Result_deprecated<void> quit() /*override*/;
58
59 virtual ::std::string_view getServiceName() const /*override*/;
60
61 virtual ::mce::UUID const& getPrimaryItemId() /*override*/;
62
63 virtual ::mce::UUID const& create() /*override*/;
64
65 virtual bool destroy(::mce::UUID const& id) /*override*/;
66
67 virtual void setPrimaryItem(::mce::UUID const& id) /*override*/;
68
69 virtual ::Editor::Services::ClipboardItem* getPrimaryItem() /*override*/;
70
71 virtual ::Scripting::Result_deprecated<void>
72 readFromWorld(::mce::UUID const& itemId, ::Editor::RelativeVolumeListBlockVolume const& volume) /*override*/;
73
74 virtual ::Scripting::Result_deprecated<void>
75 readFromWorld(::mce::UUID const& itemId, ::BlockVolumeBase const& volume) /*override*/;
76
77 virtual ::Scripting::Result_deprecated<void> readFromEditorStructure(
78 ::mce::UUID const& itemId,
79 ::Editor::EditorStructureTemplate const& editorStructure
80 ) /*override*/;
81
82 virtual ::Scripting::Result_deprecated<bool> writeToWorld(
83 ::mce::UUID const& itemId,
84 ::BlockPos const& position,
87 ) const /*override*/;
88
89 virtual ::Scripting::Result_deprecated<::Editor::RelativeVolumeListBlockVolume> getPredictedWriteVolume(
90 ::mce::UUID const& itemId,
91 ::BlockPos const& position,
93 ) const /*override*/;
94
95 virtual ::Scripting::Result_deprecated<void> clear(::mce::UUID const& itemId) /*override*/;
96
97 virtual bool isEmpty(::mce::UUID const& itemId) const /*override*/;
98
99 virtual ::BlockPos getSize(::mce::UUID const& itemId) const /*override*/;
100
101 virtual ::Vec3 const& getNormalizedOrigin(::mce::UUID const& itemId) const /*override*/;
102
103 virtual ::Vec3 getOriginalWorldLocation(::mce::UUID const& itemId) const /*override*/;
104
105 virtual ::Bedrock::PubSub::Subscription
106 listenForClipboardItemChanges(::std::function<void(::mce::UUID const&, bool)> callback) /*override*/;
107
108 virtual bool hasStructureData(::mce::UUID const& id) const /*override*/;
109
110 virtual ::Scripting::Result_deprecated<::std::variant<
111 ::StructureTemplate const*,
113 ::std::shared_ptr<::StructureTemplate const>,
114 ::std::shared_ptr<::Editor::EditorStructureTemplate const>>>
115 getStructureData(::mce::UUID const& id) const /*override*/;
116 // NOLINTEND
117
118public:
119 // member functions
120 // NOLINTBEGIN
122
123 MCNAPI void _onItemChanged(::Editor::Services::ClipboardItem const& item) const;
124
125 MCNAPI void _sendChangeItemToClient(::mce::UUID const& id) const;
126 // NOLINTEND
127
128public:
129 // constructor thunks
130 // NOLINTBEGIN
132 // NOLINTEND
133
134public:
135 // virtual function thunks
136 // NOLINTBEGIN
137 MCNAPI ::Scripting::Result_deprecated<void> $init();
138
139 MCNAPI ::Scripting::Result_deprecated<void> $ready();
140
141 MCNAPI ::Scripting::Result_deprecated<void> $quit();
142
143 MCNAPI ::std::string_view $getServiceName() const;
144
145 MCNAPI ::mce::UUID const& $getPrimaryItemId();
146
147 MCNAPI ::mce::UUID const& $create();
148
149 MCNAPI bool $destroy(::mce::UUID const& id);
150
151 MCNAPI void $setPrimaryItem(::mce::UUID const& id);
152
153 MCNAPI ::Editor::Services::ClipboardItem* $getPrimaryItem();
154
155 MCNAPI ::Scripting::Result_deprecated<void>
157
158 MCNAPI ::Scripting::Result_deprecated<void>
159 $readFromWorld(::mce::UUID const& itemId, ::BlockVolumeBase const& volume);
160
161 MCNAPI ::Scripting::Result_deprecated<void>
163
164 MCNAPI ::Scripting::Result_deprecated<bool> $writeToWorld(
165 ::mce::UUID const& itemId,
166 ::BlockPos const& position,
169 ) const;
170
171 MCNAPI ::Scripting::Result_deprecated<::Editor::RelativeVolumeListBlockVolume> $getPredictedWriteVolume(
172 ::mce::UUID const& itemId,
173 ::BlockPos const& position,
175 ) const;
176
177 MCNAPI ::Scripting::Result_deprecated<void> $clear(::mce::UUID const& itemId);
178
179 MCNAPI bool $isEmpty(::mce::UUID const& itemId) const;
180
181 MCNAPI ::BlockPos $getSize(::mce::UUID const& itemId) const;
182
183 MCNAPI ::Vec3 const& $getNormalizedOrigin(::mce::UUID const& itemId) const;
184
185 MCNAPI ::Vec3 $getOriginalWorldLocation(::mce::UUID const& itemId) const;
186
187 MCNAPI ::Bedrock::PubSub::Subscription
188 $listenForClipboardItemChanges(::std::function<void(::mce::UUID const&, bool)> callback);
189
190 MCNAPI bool $hasStructureData(::mce::UUID const& id) const;
191
192 MCNAPI ::Scripting::Result_deprecated<::std::variant<
193 ::StructureTemplate const*,
195 ::std::shared_ptr<::StructureTemplate const>,
196 ::std::shared_ptr<::Editor::EditorStructureTemplate const>>>
198
199
200 // NOLINTEND
201
202public:
203 // vftables
204 // NOLINTBEGIN
206
207 MCNAPI static void** $vftableForIEditorService();
208
209 MCNAPI static void** $vftableForIStructureDataProvider();
210 // NOLINTEND
211};
212
213} // namespace Editor::Services
Definition Subscription.h:10
Definition BlockPos.h:17
Definition BlockVolumeBase.h:16
Definition EditorStructureTemplate.h:27
Definition RelativeVolumeListBlockVolume.h:24
Definition ServiceProviderCollection.h:7
Definition ClipboardItem.h:16
Definition ClipboardServiceProvider.h:25
MCAPI::std::string_view $getServiceName() const
MCAPI ::Scripting::Result_deprecated< void > $init()
static MCAPI void ** $vftableForClipboardServiceProvider()
MCAPI::BlockPos $getSize(::mce::UUID const &itemId) const
MCAPI::Editor::Services::ClipboardItem * $getPrimaryItem()
MCAPI bool $hasStructureData(::mce::UUID const &id) const
MCAPI bool $destroy(::mce::UUID const &id)
MCAPI void * $ctor(::Editor::ServiceProviderCollection &providers)
MCAPI ::Scripting::Result_deprecated< void > $clear(::mce::UUID const &itemId)
MCAPI::Vec3 $getOriginalWorldLocation(::mce::UUID const &itemId) const
MCAPI void _sendChangeItemToClient(::mce::UUID const &id) const
MCAPI::mce::UUID const & $create()
MCAPI ::Scripting::Result_deprecated< void > $readFromEditorStructure(::mce::UUID const &itemId, ::Editor::EditorStructureTemplate const &editorStructure)
MCAPI void _onItemChanged(::Editor::Services::ClipboardItem const &item) const
MCAPI void $setPrimaryItem(::mce::UUID const &id)
MCAPI ::Scripting::Result_deprecated< bool > $writeToWorld(::mce::UUID const &itemId, ::BlockPos const &position, ::Editor::Services::ClipboardWriteOptions const *options, ::WeakRef<::Editor::Transactions::PendingTransaction > pendingTransaction) const
static MCAPI void ** $vftableForIEditorService()
MCAPI bool $isEmpty(::mce::UUID const &itemId) const
MCAPI ::Scripting::Result_deprecated< void > $quit()
MCAPI ClipboardService(::Editor::ServiceProviderCollection &providers)
MCAPI ::Scripting::Result_deprecated< void > $readFromWorld(::mce::UUID const &itemId, ::Editor::RelativeVolumeListBlockVolume const &volume)
MCAPI::Vec3 const & $getNormalizedOrigin(::mce::UUID const &itemId) const
MCAPI ::Scripting::Result_deprecated< void > $ready()
MCAPI ::Scripting::Result_deprecated<::Editor::RelativeVolumeListBlockVolume > $getPredictedWriteVolume(::mce::UUID const &itemId, ::BlockPos const &position, ::Editor::Services::ClipboardWriteOptions const *options) const
MCAPI ::Scripting::Result_deprecated< void > $readFromWorld(::mce::UUID const &itemId, ::BlockVolumeBase const &volume)
MCAPI ::Scripting::Result_deprecated<::std::variant< ::StructureTemplate const *, ::Editor::EditorStructureTemplate const *, ::std::shared_ptr<::StructureTemplate const >, ::std::shared_ptr<::Editor::EditorStructureTemplate const > > > $getStructureData(::mce::UUID const &id) const
static MCAPI void ** $vftableForIStructureDataProvider()
MCAPI::mce::UUID const & $getPrimaryItemId()
MCAPI::Bedrock::PubSub::Subscription $listenForClipboardItemChanges(::std::function< void(::mce::UUID const &, bool)> callback)
Definition IEditorService.h:11
Definition IStructureDataProvider.h:17
Definition PendingTransaction.h:21
Definition StructureTemplate.h:34
Definition Vec3.h:10
Definition WeakRef.h:8
Definition UUID.h:8
Definition ClipboardWriteOptions.h:7
Definition Alias.h:14