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 _generatePotionEffectsMetadataJson();
60
61MCAPI ::Json::Value _generatePotionLiquidTypesMetadataJson();
62
63MCAPI ::Json::Value _generatePotionModifiersMetadataJson();
64
65MCAPI ::Json::Value _generateScriptingModuleMetadataJson(
66 ::Scripting::ModuleBinding const& moduleToBind,
67 ::Scripting::SupportedBindingModule const& moduleDescriptor,
68 ::Scripting::ModuleBindingBundle const& loadedModules
69);
70
71MCAPI ::Json::Value _generateStructureFeatureMetadataJson();
72
73MCAPI ::std::unordered_map<::std::string, ::std::string> _getPropertyToEntityNameMap(
74 ::std::unordered_map<::std::string, ::std::unique_ptr<::ActorDefinition>> const& actorDefinitionList
75);
76
77MCAPI void generateCommandsDocumentation(::CommandRegistry& commandRegistry, ::Core::Path const& docsFolder);
78
79MCAPI void generateCooldownCategoriesDocumentation(::Core::Path const& docsFolder, ::ItemRegistryRef itemRegistry);
80
81MCAPI void generateItemsDocumentation(::Core::Path const& docsFolder, ::ItemRegistryRef itemRegistry);
82
83MCAPI void generateSchemaDataDocumentation(::Core::Path const& schemaDataFolder);
84
85MCAPI void generateScriptingDocumentation(::Scripting::ScriptEngine& scriptEngine, ::Core::Path const& docsFolder);
86
87MCAPI void generateVanillaDataDocumentation(
88 ::Core::Path const& docsFolder,
89 ::ItemRegistryRef itemRegistry,
90 ::std::unordered_map<::std::string, ::std::unique_ptr<::ActorDefinition>> const& actorDefinitionList,
91 ::CameraPresets const& presets,
92 ::BiomeRegistry const& biomes
93);
94
95MCAPI ::std::string getGameSemVersionAsString();
96
97MCAPI ::std::initializer_list<::AllExperiments> getRequiredExperimentsForMetadata();
98
99MCAPI ::std::string scriptingVersionToString(::Scripting::Version const& version);
100
101MCAPI bool writeJsonMetadataToFile(::Json::Value const& json, ::Core::Path const& filepath);
102// NOLINTEND
103
104} // namespace CreatorMetadataUtils
Definition ActorDefinition.h:21
Definition BiomeRegistry.h:31
Definition CameraPresets.h:18
Definition CommandRegistry.h:45
Definition Path.h:17
Definition ItemRegistryRef.h:31
Definition Value.h:16
Definition Path.h:16
Definition ScriptEngine.h:20
Definition ModuleBindingBundle.h:7
Definition ModuleBinding.h:21
Definition SupportedBindingModule.h:7
Definition Version.h:7