3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/script_core/reflection/scripting/Privilege.h"
15namespace Core {
class Path; }
17namespace Json {
class Value; }
27namespace Scripting {
struct Version; }
30namespace CreatorMetadataUtils {
34MCNAPI ::Json::Value CreateDefaultTypeJson();
36MCNAPI ::Json::Value MetaAnyToJSON(::entt::meta_any value);
38MCNAPI ::std::optional<::Json::Value> MetaClassTypeToJSON(
39 ::Scripting::ModuleBinding
const& moduleToBind,
40 ::entt::meta_type
const& type,
41 ::Scripting::ModuleBindingBundle
const& loadedModules
44MCNAPI ::Json::Value MetaTypeToJSON(
45 ::Scripting::ModuleBinding
const& moduleToBind,
46 ::entt::meta_type
const& type,
47 ::Scripting::ModuleBindingBundle
const& loadedModules,
48 ::std::string
const& bindingName
51MCNAPI
void _addCommonEngineMetadata(::Json::Value& root,
char const* type);
53MCNAPI
void _addCommonVanillaMetadata(::Json::Value& jsonRoot,
char const* type);
55MCNAPI
void _addPrivilegeToArray(::Json::Value& arr, ::Scripting::Privilege privilege);
57MCNAPI ::Json::Value _generateScriptingModuleMetadataJson(
58 ::Scripting::ModuleBinding
const& moduleToBind,
59 ::Scripting::SupportedBindingModule
const& moduleDescriptor,
60 ::Scripting::ModuleBindingBundle
const& loadedModules
63MCNAPI ::std::optional<::Scripting::Privilege> _tryGetPrivilegeTypeOfClosureTemplateType(::entt::meta_type
const& type);
65MCNAPI
void generateCommandsDocumentation(::CommandRegistry& commandRegistry, ::Core::Path
const& docsFolder);
67MCNAPI ::Json::Value generateConstantDocumentation(
68 ::Scripting::ModuleBinding
const& moduleToBind,
69 ::Scripting::ConstantFactory
const& constantBinding,
70 ::Scripting::ModuleBindingBundle
const& loadedModules
73MCNAPI
void generateCreatorScriptingMetadata(
74 ::Scripting::ScriptEngine& scriptEngine,
75 ::CreatorMetadataUtils::ServerMetadataOutputPaths
const& outputPaths,
76 ::ItemRegistryRef itemRegistry,
77 ::std::unordered_map<::std::string, ::std::unique_ptr<::ActorDefinition>>
const& actorDefinitionList,
78 ::CameraPresets
const& presets,
79 ::BiomeRegistry
const& biomes
82MCNAPI ::Json::Value generateFunctionDocumentation(
83 ::Scripting::ModuleBinding
const& moduleToBind,
84 ::Scripting::FunctionBinding
const& functionBinding,
86 ::Scripting::ModuleBindingBundle
const& loadedModules
89MCNAPI ::Json::Value generateModuleDependencyJson(::Scripting::ModuleDependency
const& dependency);
91MCNAPI ::Json::Value generateModuleDescriptionJson(::Scripting::ModuleDescriptor
const& descriptor);
93MCNAPI
void generateMolangQueriesDocumentation(::Core::Path
const& docsFolder);
95MCNAPI ::Json::Value generatePropertiesDocumentation(
96 ::Scripting::ModuleBinding
const& moduleToBind,
97 ::std::vector<::Scripting::PropertyBinding>
const& properties,
98 ::Scripting::ModuleBindingBundle
const& loadedModules,
101 bool allowSettableProperties
104MCNAPI
void generateVanillaDataDocumentation(
105 ::Core::Path
const& docsFolder,
106 ::ItemRegistryRef
const itemRegistry,
107 ::std::unordered_map<::std::string, ::std::unique_ptr<::ActorDefinition>>
const& actorDefinitionList,
108 ::CameraPresets
const& presets,
109 ::BiomeRegistry
const& biomes
112MCNAPI ::CreatorMetadataUtils::ServerMetadataOutputPaths getAndCleanServerMetadataPaths();
114MCNAPI ::std::string getGameSemVersionAsString();
117MCNAPI ::CreatorMetadataUtils::ServerMetadataOutputPaths getServerMetadataPaths();
120MCNAPI ::std::string scriptingVersionToString(::Scripting::Version
const& version);
122MCNAPI
void sortJsonElementsByName(::Json::Value& jsonArray,
bool const removeDuplicates);
124MCNAPI
bool validateVariantResolution(
125 ::Scripting::ModuleBinding
const& moduleToBind,
126 ::entt::meta_type
const& variantType,
127 ::Scripting::ModuleBindingBundle
const& loadedModules,
128 ::std::string
const& bindingName
131MCNAPI
bool writeJsonMetadataToFile(::Json::Value
const& json, ::Core::Path
const& filepath);
Definition ActorDefinition.h:80
Definition BiomeRegistry.h:37
Definition CameraPresets.h:20
Definition CommandRegistry.h:51
Definition ItemRegistryRef.h:36
Definition ScriptEngine.h:21
Definition ConstantFactory.h:15
Definition FunctionBinding.h:10
Definition ModuleBindingBundle.h:15
Definition ModuleBinding.h:23
Definition ModuleDependency.h:14
Definition ModuleDescriptor.h:7
Definition PropertyBinding.h:10
Definition SupportedBindingModule.h:7