3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/common/editor/JigsawJsonType.h"
7#include "mc/deps/core/file/PathBuffer.h"
8#include "mc/deps/core/utility/NonOwnerPointer.h"
9#include "mc/deps/scripting/runtime/Result_deprecated.h"
10#include "mc/editor/serviceproviders/EditorJigsawServiceProvider.h"
11#include "mc/editor/services/IEditorService.h"
30namespace Editor::Services {
41 struct TemplatePoolData {
52 TemplatePoolData& operator=(TemplatePoolData
const&);
53 TemplatePoolData(TemplatePoolData
const&);
66 ::std::string
const& templateId,
67 ::std::set<::std::string>
const& structNames,
68 ::std::map<::std::string, ::std::set<::std::string>>
const& structTargetNames
94 EditorJigsawService& operator=(EditorJigsawService
const&);
95 EditorJigsawService(EditorJigsawService
const&);
96 EditorJigsawService();
101 virtual ~EditorJigsawService() ;
103 virtual ::Scripting::Result_deprecated<void> init() ;
105 virtual ::Scripting::Result_deprecated<void> quit() ;
107 virtual ::Scripting::Result_deprecated<void> ready() ;
109 virtual ::std::string_view getServiceName() const ;
111 virtual ::
std::
string getJigsawExportDirectory() ;
113 virtual ::
std::map<::Editor::Services::JigsawJsonType, ::
std::
string> getEmptyJigsawFiles() ;
115 virtual ::
std::vector<::
std::
string> getJigsawRegistryList() ;
120 getJigsawRegistryJson(::
std::
string const& registryName) ;
122 virtual
void setJigsawRegistry(
123 ::
std::
string const& registryName,
128 virtual
void generateJigsawPreview(
129 ::
std::
string const& registryName,
130 ::
std::
string const& startPool,
131 ::
std::
string const& startTarget,
134 int const maxHorizontalDistanceFromCenter,
135 bool const validateRegistry,
136 ::Editor::ScriptModule::ScriptClipboardItem const& clipboardItem,
145 virtual ::Bedrock::PubSub::Subscription
146 listenForSetJigsawRegistry(::
std::function<
void(::
std::vector<::
std::
string>)> callback) ;
148 virtual ::Bedrock::PubSub::Subscription listenForGenerateJigsawPreview(
168 ::Core::PathBuffer<::
std::
string> jigsawPath,
169 ::Editor::Services::JigsawJsonType fileType,
170 ::
std::vector<::
std::
string>& outErrors
200 MCNAPI ::Scripting::Result_deprecated<
void>
$init();
202 MCNAPI ::Scripting::Result_deprecated<
void>
$quit();
204 MCNAPI ::Scripting::Result_deprecated<
void>
$ready();
220 ::
std::
string const& registryName,
226 ::
std::
string const& registryName,
227 ::
std::
string const& startPool,
228 ::
std::
string const& startTarget,
231 int const maxHorizontalDistanceFromCenter,
232 bool const validateRegistry,
233 ::Editor::ScriptModule::ScriptClipboardItem const& clipboardItem,
241 MCNAPI ::Bedrock::PubSub::Subscription
Definition Subscription.h:10
Definition IEditorPlayer.h:16
Definition ScriptClipboardItem.h:25
Definition ServiceProviderCollection.h:7
Definition EditorJigsawServiceProvider.h:22
MCAPI void _loadBehaviorPackJigsawRegistries(::ResourcePackManager &packManager)
static MCAPI ::std::string_view const & SERVICE_NAME()
MCAPI void _bootstrapJigsawRegistry(::Bedrock::NotNullNonOwnerPtr<::IStructureTemplateManager > structureManager, ::FeatureRegistry &featureRegistry, ::JigsawStructureRegistry &jigsawStructureRegistry)
MCAPI ::Scripting::Result_deprecated< void > $ready()
MCAPI void _saveFile(::Editor::Services::EditorRegistryFile ®File, ::Core::PathBuffer<::std::string > jigsawPath, ::Editor::Services::JigsawJsonType fileType, ::std::vector<::std::string > &outErrors)
MCAPI::Bedrock::PubSub::Subscription $listenForSetJigsawRegistry(::std::function< void(::std::vector<::std::string >)> callback)
MCAPI::JigsawStructureRegistry * $getJigsawRegistry(::std::string const ®istryName)
MCAPI::Bedrock::PubSub::Subscription $listenForGenerateJigsawPreview(::std::function< void(::std::vector<::Editor::Services::EditorJigsawSection >)> callback)
MCAPI::std::string_view $getServiceName() const
static MCAPI void ** $vftableForEditorJigsawServiceProvider()
MCAPI ::std::map<::Editor::Services::JigsawJsonType, ::std::vector<::Editor::Services::EditorRegistryFile > > $getJigsawRegistryJson(::std::string const ®istryName)
MCAPI ::std::map<::Editor::Services::JigsawJsonType, ::std::string > $getEmptyJigsawFiles()
MCAPI void $generateJigsawPreview(::std::string const ®istryName, ::std::string const &startPool, ::std::string const &startTarget, ::BlockPos const &seed, int const depth, int const maxHorizontalDistanceFromCenter, bool const validateRegistry, ::Editor::ScriptModule::ScriptClipboardItem const &clipboardItem, ::WeakEntityRef playerRef)
MCAPI void $setJigsawBlockData(::BlockPos &pos, ::WeakEntityRef playerRef, ::JigsawEditorData jigsawData)
MCAPI bool _validateRegistry(::std::string registryName, ::Bedrock::NonOwnerPointer<::Editor::IEditorPlayer > editorPlayer)
MCAPI void _saveJigsawRegistryFiles(::std::string const ®istryName)
static MCAPI void ** $vftableForIEditorService()
MCAPI void $setJigsawRegistry(::std::string const ®istryName, ::std::map<::Editor::Services::JigsawJsonType, ::std::vector<::Editor::Services::EditorRegistryFile > > data, bool shouldSaveFiles)
MCAPI::std::string $getJigsawExportDirectory()
MCAPI void * $ctor(::Editor::ServiceProviderCollection &providers)
MCAPI ::Scripting::Result_deprecated< void > $quit()
MCAPI ::std::vector<::std::string > $getJigsawRegistryList()
MCAPI::JigsawEditorData const $getJigsawBlockData(::BlockPos &pos, ::WeakEntityRef playerRef)
MCAPI ::Scripting::Result_deprecated< void > $init()
Definition IEditorService.h:11
Definition FeatureRegistry.h:18
Definition IStructureTemplateManager.h:16
Definition JigsawEditorData.h:14
Definition JigsawStructureRegistry.h:22
Definition ResourcePackManager.h:29
Definition WeakEntityRef.h:14
Definition EditorJigsawSection.h:7
Definition EditorJigsawService.h:41
MCAPI ~TemplatePoolData()
Definition EditorRegistryFile.h:7