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; }
23namespace cereal { struct ReflectionCtx; }
24// clang-format on
25
26namespace CreatorMetadataUtils {
27// functions
28// NOLINTBEGIN
29MCAPI void _addCommonEngineMetadata(::Json::Value& root, char const* type);
30
31MCAPI void _addCommonVanillaMetadata(::Json::Value& jsonRoot, char const* type);
32
33MCAPI void _addOptionalPrivilegeName(::Json::Value& root, ::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 _generatePotionEffectsMetadataJson();
61
62MCAPI ::Json::Value _generatePotionLiquidTypesMetadataJson();
63
64MCAPI ::Json::Value _generatePotionModifiersMetadataJson();
65
66MCAPI ::Json::Value _generateScriptingModuleMetadataJson(
67 ::Scripting::ModuleBinding const& moduleToBind,
68 ::Scripting::SupportedBindingModule const& moduleDescriptor,
69 ::Scripting::ModuleBindingBundle const& loadedModules
70);
71
72MCAPI ::Json::Value _generateStructureFeatureMetadataJson();
73
74MCAPI ::std::unordered_map<::std::string, ::std::string> _getPropertyToEntityNameMap(
75 ::std::unordered_map<::std::string, ::std::unique_ptr<::ActorDefinition>> const& actorDefinitionList
76);
77
78MCAPI void generateCommandsDocumentation(::CommandRegistry& commandRegistry, ::Core::Path const& docsFolder);
79
80MCAPI void generateCooldownCategoriesDocumentation(::Core::Path const& docsFolder, ::ItemRegistryRef itemRegistry);
81
82MCAPI void generateItemsDocumentation(::Core::Path const& docsFolder, ::ItemRegistryRef itemRegistry);
83
84MCAPI void
85generateSchemaDataDocumentation(::Core::Path const& schemaDataFolder, ::cereal::ReflectionCtx& reflectionCtx);
86
87MCAPI void generateScriptingDocumentation(::Scripting::ScriptEngine& scriptEngine, ::Core::Path const& docsFolder);
88
89MCAPI void generateVanillaDataDocumentation(
90 ::Core::Path const& docsFolder,
91 ::ItemRegistryRef itemRegistry,
92 ::std::unordered_map<::std::string, ::std::unique_ptr<::ActorDefinition>> const& actorDefinitionList,
93 ::CameraPresets const& presets,
94 ::BiomeRegistry const& biomes
95);
96
97MCAPI ::std::string getGameSemVersionAsString();
98
99MCAPI ::std::initializer_list<::AllExperiments> getRequiredExperimentsForMetadata();
100
101MCAPI ::std::string scriptingVersionToString(::Scripting::Version const& version);
102
103MCAPI bool writeJsonMetadataToFile(::Json::Value const& json, ::Core::Path const& filepath);
104// NOLINTEND
105
106} // namespace CreatorMetadataUtils
Definition ActorDefinition.h:21
Definition BiomeRegistry.h:30
Definition CameraPresets.h:18
Definition CommandRegistry.h:44
Definition Path.h:15
Definition ItemRegistryRef.h:29
Definition Value.h:16
Definition Path.h:16
Definition ScriptEngine.h:20
Definition ModuleBindingBundle.h:7
Definition ModuleBinding.h:7
Definition SupportedBindingModule.h:7
Definition Version.h:7
Definition ReflectionCtx.h:11