Skip to content
LeviMC
English
AutoLightDark
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 bool canAccessStructureData(::mce::UUID const& id, ::mce::UUID const& clientId) const /*override*/;
111
112 virtual ::Scripting::Result_deprecated<::std::variant<
113 ::StructureTemplate const*,
115 ::std::shared_ptr<::StructureTemplate const>,
116 ::std::shared_ptr<::Editor::EditorStructureTemplate const>>>
117 getStructureData(::mce::UUID const& id) const /*override*/;
118 // NOLINTEND
119
120public:
121 // member functions
122 // NOLINTBEGIN
124
125 MCNAPI void _onItemChanged(::Editor::Services::ClipboardItem const& item) const;
126
127 MCNAPI void _sendChangeItemToClient(::mce::UUID const& id) const;
128 // NOLINTEND
129
130public:
131 // constructor thunks
132 // NOLINTBEGIN
134 // NOLINTEND
135
136public:
137 // virtual function thunks
138 // NOLINTBEGIN
139 MCNAPI ::Scripting::Result_deprecated<void> $init();
140
141 MCNAPI ::Scripting::Result_deprecated<void> $ready();
142
143 MCNAPI ::Scripting::Result_deprecated<void> $quit();
144
145 MCNAPI ::std::string_view $getServiceName() const;
146
147 MCNAPI ::mce::UUID const& $getPrimaryItemId();
148
149 MCNAPI ::mce::UUID const& $create();
150
151 MCNAPI bool $destroy(::mce::UUID const& id);
152
153 MCNAPI void $setPrimaryItem(::mce::UUID const& id);
154
155 MCNAPI ::Editor::Services::ClipboardItem* $getPrimaryItem();
156
157 MCNAPI ::Scripting::Result_deprecated<void>
159
160 MCNAPI ::Scripting::Result_deprecated<void>
161 $readFromWorld(::mce::UUID const& itemId, ::BlockVolumeBase const& volume);
162
163 MCNAPI ::Scripting::Result_deprecated<void>
165
166 MCNAPI ::Scripting::Result_deprecated<bool> $writeToWorld(
167 ::mce::UUID const& itemId,
168 ::BlockPos const& position,
171 ) const;
172
173 MCNAPI ::Scripting::Result_deprecated<::Editor::RelativeVolumeListBlockVolume> $getPredictedWriteVolume(
174 ::mce::UUID const& itemId,
175 ::BlockPos const& position,
177 ) const;
178
179 MCNAPI ::Scripting::Result_deprecated<void> $clear(::mce::UUID const& itemId);
180
181 MCNAPI bool $isEmpty(::mce::UUID const& itemId) const;
182
183 MCNAPI ::BlockPos $getSize(::mce::UUID const& itemId) const;
184
185 MCNAPI ::Vec3 const& $getNormalizedOrigin(::mce::UUID const& itemId) const;
186
187 MCNAPI ::Vec3 $getOriginalWorldLocation(::mce::UUID const& itemId) const;
188
189 MCNAPI ::Bedrock::PubSub::Subscription
190 $listenForClipboardItemChanges(::std::function<void(::mce::UUID const&, bool)> callback);
191
192 MCNAPI bool $hasStructureData(::mce::UUID const& id) const;
193
194 MCNAPI bool $canAccessStructureData(::mce::UUID const& id, ::mce::UUID const& clientId) const;
195
196 MCNAPI ::Scripting::Result_deprecated<::std::variant<
197 ::StructureTemplate const*,
199 ::std::shared_ptr<::StructureTemplate const>,
200 ::std::shared_ptr<::Editor::EditorStructureTemplate const>>>
202
203
204 // NOLINTEND
205
206public:
207 // vftables
208 // NOLINTBEGIN
210
211 MCNAPI static void** $vftableForIEditorService();
212
213 MCNAPI static void** $vftableForIStructureDataProvider();
214 // NOLINTEND
215};
216
217} // namespace Editor::Services
Definition Subscription.h:10
Definition BlockPos.h:14
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
MCAPI bool $canAccessStructureData(::mce::UUID const &id, ::mce::UUID const &clientId) 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:35
Definition Vec3.h:10
Definition WeakRef.h:8
Definition UUID.h:8
Definition ClipboardWriteOptions.h:7
Definition Alias.h:14