LeviLamina
Loading...
Searching...
No Matches
ClipboardServiceProvider.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
9// auto generated forward declare list
10// clang-format off
11class BlockPos;
12class BlockVolumeBase;
13class Vec3;
14namespace Bedrock::PubSub { class Subscription; }
15namespace Editor { class EditorStructureTemplate; }
16namespace Editor { class RelativeVolumeListBlockVolume; }
17namespace Editor::Services { class ClipboardItem; }
18namespace Editor::Services { struct ClipboardWriteOptions; }
19namespace Editor::Transactions { class PendingTransaction; }
20namespace mce { class UUID; }
21// clang-format on
22
23namespace Editor::Services {
24
26public:
27 // virtual functions
28 // NOLINTBEGIN
29 virtual ~ClipboardServiceProvider() = default;
30
31 virtual ::mce::UUID const& getPrimaryItemId() = 0;
32
33 virtual ::mce::UUID const& create() = 0;
34
35 virtual bool destroy(::mce::UUID const& id) = 0;
36
37 virtual void setPrimaryItem(::mce::UUID const& id) = 0;
38
39 virtual ::Editor::Services::ClipboardItem* getPrimaryItem() = 0;
40
41 virtual ::Scripting::Result_deprecated<void>
42 readFromWorld(::mce::UUID const& itemId, ::Editor::RelativeVolumeListBlockVolume const& volume) = 0;
43
44 virtual ::Scripting::Result_deprecated<void>
45 readFromWorld(::mce::UUID const& itemId, ::BlockVolumeBase const& volume) = 0;
46
47 virtual ::Scripting::Result_deprecated<void>
48 readFromEditorStructure(::mce::UUID const& itemId, ::Editor::EditorStructureTemplate const& editorStructure) = 0;
49
50 virtual ::Scripting::Result_deprecated<bool> writeToWorld(
51 ::mce::UUID const& itemId,
52 ::BlockPos const& position,
55 ) const = 0;
56
57 virtual ::Scripting::Result_deprecated<::Editor::RelativeVolumeListBlockVolume> getPredictedWriteVolume(
58 ::mce::UUID const& itemId,
59 ::BlockPos const& position,
61 ) const = 0;
62
63 virtual ::Scripting::Result_deprecated<void> clear(::mce::UUID const& itemId) = 0;
64
65 virtual bool isEmpty(::mce::UUID const& itemId) const = 0;
66
67 virtual ::BlockPos getSize(::mce::UUID const& itemId) const = 0;
68
69 virtual ::Vec3 const& getNormalizedOrigin(::mce::UUID const& itemId) const = 0;
70
71 virtual ::Vec3 getOriginalWorldLocation(::mce::UUID const& itemId) const = 0;
72
73 virtual ::Bedrock::PubSub::Subscription
74 listenForClipboardItemChanges(::std::function<void(::mce::UUID const&, bool)> callback) = 0;
75 // NOLINTEND
76};
77
78} // namespace Editor::Services
Definition Subscription.h:10
Definition BlockPos.h:17
Definition BlockVolumeBase.h:16
Definition EditorStructureTemplate.h:27
Definition RelativeVolumeListBlockVolume.h:24
Definition ClipboardItem.h:16
Definition ClipboardServiceProvider.h:25
Definition PendingTransaction.h:21
Definition Vec3.h:10
Definition WeakRef.h:8
Definition UUID.h:7
Definition ClipboardWriteOptions.h:7