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
28#ifdef LL_PLAT_S
29MCAPI void _addCommonEngineMetadata(::Json::Value& root, char const* type);
30
31MCAPI void _addCommonVanillaMetadata(::Json::Value& jsonRoot, char const* type);
32
33MCAPI void _addPrivilegeToArray(::Json::Value& arr, ::Scripting::Privilege privilege);
34
35MCAPI void _generateAfterEventsOrderingDocumentation(
36 ::Scripting::ScriptEngine const& scriptEngine,
37 ::Core::Path const& docsFolder
38);
39
40MCAPI ::Json::Value _generateBiomeMetadataJson(::BiomeRegistry const& biomes);
41
42MCAPI ::Json::Value _generateBlocksMetadataJson();
43
44MCAPI ::Json::Value _generateCameraMetadataJson(::CameraPresets const& presets);
45
46MCAPI ::Json::Value _generateCooldownCategoriesMetadataJson(::ItemRegistryRef itemRegistry);
47
48MCAPI ::Json::Value _generateDimensionsMetadataJson();
49
50MCAPI ::Json::Value _generateEffectsMetadataJson();
51
52MCAPI ::Json::Value _generateEnchantmentsMetadataJson();
53
54MCAPI ::Json::Value _generateEntitiesMetadataJson(
55 ::std::unordered_map<::std::string, ::std::unique_ptr<::ActorDefinition>> const& actorDefinitionList
56);
57
58MCAPI ::Json::Value _generateItemsMetadataJson(::ItemRegistryRef itemRegistry);
59
60MCAPI ::Json::Value _generateMolangMathFunctionsMetadataJson();
61
62MCAPI ::Json::Value _generateMolangQueriesArrayJson();
63
64MCAPI ::Json::Value _generateMolangQueriesMetadataJson();
65
66MCAPI ::Json::Value _generatePotionDeliveryTypesMetadataJson();
67
68MCAPI ::Json::Value _generatePotionEffectsMetadataJson();
69
70MCAPI ::Json::Value _generateScriptingModuleMetadataJson(
71 ::Scripting::ModuleBinding const& moduleToBind,
72 ::Scripting::SupportedBindingModule const& moduleDescriptor,
73 ::Scripting::ModuleBindingBundle const& loadedModules
74);
75
76MCAPI ::Json::Value _generateStructureFeatureMetadataJson();
77
78MCAPI ::std::unordered_map<::std::string, ::std::string> _getPropertyToEntityNameMap(
79 ::std::unordered_map<::std::string, ::std::unique_ptr<::ActorDefinition>> const& actorDefinitionList
80);
81
82MCAPI ::std::optional<::Scripting::Privilege> _tryGetPrivilegeTypeOfClosureTemplateType(::entt::meta_type const& type);
83
84MCAPI void generateCommandsDocumentation(::CommandRegistry& commandRegistry, ::Core::Path const& docsFolder);
85
86MCAPI void generateCooldownCategoriesDocumentation(::Core::Path const& docsFolder, ::ItemRegistryRef itemRegistry);
87
88MCAPI void generateItemsDocumentation(::Core::Path const& docsFolder, ::ItemRegistryRef itemRegistry);
89
90MCAPI void generateSchemaDataDocumentation(::Core::Path const& schemaDataFolder);
91
92MCAPI void generateScriptingDocumentation(::Scripting::ScriptEngine& scriptEngine, ::Core::Path const& docsFolder);
93
94MCAPI 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#endif
102
103MCAPI ::std::string getGameSemVersionAsString();
104
105#ifdef LL_PLAT_S
106MCAPI ::std::initializer_list<::AllExperiments> getRequiredExperimentsForMetadata();
107
108MCAPI ::std::string scriptingVersionToString(::Scripting::Version const& version);
109
110MCAPI bool validateVariantResolution(
111 ::Scripting::ModuleBinding const& moduleToBind,
112 ::entt::meta_type const& variantType,
113 ::Scripting::ModuleBindingBundle const& loadedModules,
114 ::std::string const& bindingName
115);
116
117MCAPI bool writeJsonMetadataToFile(::Json::Value const& json, ::Core::Path const& filepath);
118#endif
119// NOLINTEND
120
121} // namespace CreatorMetadataUtils
Definition ActorDefinition.h:81
Definition BiomeRegistry.h:38
Definition CameraPresets.h:20
Definition CommandRegistry.h:50
Definition Path.h:17
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