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