LeviLamina
Loading...
Searching...
No Matches
CreatorMetadataUtils.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/scripting/reflection/Privilege.h"
7#include "mc/world/level/storage/AllExperiments.h"
8
9// auto generated forward declare list
10// clang-format off
11class ActorDefinition;
12class BiomeRegistry;
13class CameraPresets;
14class CommandRegistry;
15class ItemRegistryRef;
16namespace Core { class Path; }
17namespace Json { class Value; }
18namespace Scripting { class ScriptEngine; }
19namespace Scripting { struct ModuleBinding; }
20namespace Scripting { struct ModuleBindingBundle; }
21namespace Scripting { struct SupportedBindingModule; }
22namespace Scripting { struct Version; }
23// clang-format on
24
25namespace CreatorMetadataUtils {
26// functions
27// NOLINTBEGIN
28MCAPI_S void _addCommonEngineMetadata(::Json::Value& root, char const* type);
29
30MCAPI_S void _addCommonVanillaMetadata(::Json::Value& jsonRoot, char const* type);
31
32MCAPI_S void _addPrivilegeToArray(::Json::Value& arr, ::Scripting::Privilege privilege);
33
34MCAPI_S void _generateAfterEventsOrderingDocumentation(
35 ::Scripting::ScriptEngine const& scriptEngine,
36 ::Core::Path const& docsFolder
37);
38
39MCAPI_S ::Json::Value _generateBiomeMetadataJson(::BiomeRegistry const& biomes);
40
41MCAPI_S ::Json::Value _generateBlocksMetadataJson();
42
43MCAPI_S ::Json::Value _generateCameraMetadataJson(::CameraPresets const& presets);
44
45MCAPI_S ::Json::Value _generateCooldownCategoriesMetadataJson(::ItemRegistryRef itemRegistry);
46
47MCAPI_S ::Json::Value _generateDimensionsMetadataJson();
48
49MCAPI_S ::Json::Value _generateEffectsMetadataJson();
50
51MCAPI_S ::Json::Value _generateEnchantmentsMetadataJson();
52
53MCAPI_S ::Json::Value _generateEntitiesMetadataJson(
54 ::std::unordered_map<::std::string, ::std::unique_ptr<::ActorDefinition>> const& actorDefinitionList
55);
56
57MCAPI_S ::Json::Value _generateItemsMetadataJson(::ItemRegistryRef itemRegistry);
58
59MCAPI_S ::Json::Value _generatePotionDeliveryTypesMetadataJson();
60
61MCAPI_S ::Json::Value _generatePotionEffectsMetadataJson();
62
63MCAPI_S ::Json::Value _generateScriptingModuleMetadataJson(
64 ::Scripting::ModuleBinding const& moduleToBind,
65 ::Scripting::SupportedBindingModule const& moduleDescriptor,
66 ::Scripting::ModuleBindingBundle const& loadedModules
67);
68
69MCAPI_S ::Json::Value _generateStructureFeatureMetadataJson();
70
71MCAPI_S ::std::unordered_map<::std::string, ::std::string> _getPropertyToEntityNameMap(
72 ::std::unordered_map<::std::string, ::std::unique_ptr<::ActorDefinition>> const& actorDefinitionList
73);
74
75MCAPI_S void generateBiomeDocumentation(::Core::Path const& docsFolder, ::BiomeRegistry const& biomes);
76
77MCAPI_S void generateCameraPresetDocumentation(::Core::Path const& docsFolder, ::CameraPresets const& presets);
78
79MCAPI_S void generateCommandsDocumentation(::CommandRegistry& commandRegistry, ::Core::Path const& docsFolder);
80
81MCAPI_S void generateCooldownCategoriesDocumentation(::Core::Path const& docsFolder, ::ItemRegistryRef itemRegistry);
82
83MCAPI_S void generateEntitiesDocumentation(
84 ::Core::Path const& docsFolder,
85 ::std::unordered_map<::std::string, ::std::unique_ptr<::ActorDefinition>> const& actorDefinitionList
86);
87
88MCAPI_S void generateItemsDocumentation(::Core::Path const& docsFolder, ::ItemRegistryRef itemRegistry);
89
90MCAPI_S void generateSchemaDataDocumentation(::Core::Path const& schemaDataFolder);
91
92MCAPI_S void generateScriptingDocumentation(::Scripting::ScriptEngine& scriptEngine, ::Core::Path const& docsFolder);
93
94MCAPI_S void generateVanillaDataDocumentation(
95 ::Core::Path const& docsFolder,
96 ::ItemRegistryRef itemRegistry,
97 ::std::unordered_map<::std::string, ::std::unique_ptr<::ActorDefinition>> const& actorDefinitionList,
98 ::CameraPresets const& presets,
99 ::BiomeRegistry const& biomes
100);
101
102MCAPI ::std::string getGameSemVersionAsString();
103
104MCAPI_S ::std::initializer_list<::AllExperiments> getRequiredExperimentsForMetadata();
105
106MCAPI_S ::std::string scriptingVersionToString(::Scripting::Version const& version);
107
108MCAPI_S bool validateVariantResolution(
109 ::Scripting::ModuleBinding const& moduleToBind,
110 ::entt::meta_type const& variantType,
111 ::Scripting::ModuleBindingBundle const& loadedModules,
112 ::std::string const& bindingName
113);
114
115MCAPI_S bool writeJsonMetadataToFile(::Json::Value const& json, ::Core::Path const& filepath);
116// NOLINTEND
117
118} // namespace CreatorMetadataUtils
Definition ActorDefinition.h:80
Definition BiomeRegistry.h:37
Definition CameraPresets.h:22
Definition CommandRegistry.h:47
Definition Path.h:10
Definition ItemRegistryRef.h:36
Definition Value.h:16
Definition ScriptEngine.h:21
Definition ModuleBindingBundle.h:15
Definition ModuleBinding.h:23
Definition SupportedBindingModule.h:7
Definition Version.h:7