LeviLamina
Loading...
Searching...
No Matches
EditorJigsawServiceProvider.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/editor/JigsawJsonType.h"
7
8// auto generated forward declare list
9// clang-format off
10class BlockPos;
13class WeakEntityRef;
14namespace Bedrock::PubSub { class Subscription; }
15namespace Editor::ScriptModule { class ScriptClipboardItem; }
16namespace Editor::Services { struct EditorJigsawSection; }
17namespace Editor::Services { struct EditorRegistryFile; }
18// clang-format on
19
20namespace Editor::Services {
21
23public:
24 // virtual functions
25 // NOLINTBEGIN
26 virtual ~EditorJigsawServiceProvider() = default;
27
28 virtual ::std::string getJigsawExportDirectory() = 0;
29
30 virtual ::std::map<::Editor::Services::JigsawJsonType, ::std::string> getEmptyJigsawFiles() = 0;
31
32 virtual ::std::vector<::std::string> getJigsawRegistryList() = 0;
33
34 virtual ::JigsawStructureRegistry* getJigsawRegistry(::std::string const& registryName) = 0;
35
36 virtual void setJigsawRegistry(
37 ::std::string const& registryName,
38 ::std::map<::Editor::Services::JigsawJsonType, ::std::vector<::Editor::Services::EditorRegistryFile>> data,
39 bool shouldSaveFiles
40 ) = 0;
41
42 virtual ::std::map<::Editor::Services::JigsawJsonType, ::std::vector<::Editor::Services::EditorRegistryFile>>
43 getJigsawRegistryJson(::std::string const& registryName) = 0;
44
45 virtual void generateJigsawPreview(
46 ::std::string const& registryName,
47 ::std::string const& startPool,
48 ::std::string const& startTarget,
49 ::BlockPos const& seed,
50 int depth,
51 int const maxHorizontalDistanceFromCenter,
52 bool const validateRegistry,
54 ::WeakEntityRef playerRef
55 ) = 0;
56
57 virtual ::JigsawEditorData const getJigsawBlockData(::BlockPos& pos, ::WeakEntityRef playerRef) = 0;
58
59 virtual void deleteJigsawRegistry(::std::string const& registryName) = 0;
60
61 virtual void setJigsawBlockData(::BlockPos& pos, ::WeakEntityRef playerRef, ::JigsawEditorData jigsawData) = 0;
62
63 virtual ::Bedrock::PubSub::Subscription
64 listenForSetJigsawRegistry(::std::function<void(::std::vector<::std::string>)> callback) = 0;
65
66 virtual ::Bedrock::PubSub::Subscription listenForGenerateJigsawPreview(
67 ::std::function<void(::std::vector<::Editor::Services::EditorJigsawSection>)> callback
68 ) = 0;
69 // NOLINTEND
70
71public:
72 // virtual function thunks
73 // NOLINTBEGIN
74
75 // NOLINTEND
76};
77
78} // namespace Editor::Services
Definition Subscription.h:10
Definition BlockPos.h:19
Definition ScriptClipboardItem.h:25
Definition EditorJigsawServiceProvider.h:22
Definition JigsawEditorData.h:14
Definition JigsawStructureRegistry.h:22
Definition WeakEntityRef.h:14
Definition EditorJigsawSection.h:7
Definition EditorRegistryFile.h:7