diff --git a/public/mcdoc/fabric.mcdoc b/public/mcdoc/fabric.mcdoc index cec7ce3d..7e4f31ed 100644 --- a/public/mcdoc/fabric.mcdoc +++ b/public/mcdoc/fabric.mcdoc @@ -130,3 +130,39 @@ struct LanguageAdapters { struct CustomValues { [string]: any, } + +// Sources: +// - https://wiki.fabricmc.net/tutorial:dependency_overrides +// - https://github.com/FabricMC/fabric-loader/blob/master/src/main/java/net/fabricmc/loader/impl/metadata/DependencyOverrides.java + +dispatch minecraft:resource[fabric:dependency_overrides] to struct DependencyOverrides { + /// Needed for internal mechanisms. Must always be `1`. + version: 1, + overrides: Overrides, +} + +struct Overrides { + [string]: Override, +} + +struct Override { + [DependencyType]: Dependencies, +} + +enum(string) DependencyType { + ReplaceDepends = "depends", + ReplaceRecommends = "recommends", + ReplaceSuggests = "suggests", + ReplaceConflicts = "conflicts", + ReplaceBreaks = "breaks", + AddDepends = "+depends", + AddRecommends = "+recommends", + AddSuggests = "+suggests", + AddConflicts = "+conflicts", + AddBreaks = "+breaks", + RemoveDepends = "-depends", + RemoveRecommends = "-recommends", + RemoveSuggests = "-suggests", + RemoveConflicts = "-conflicts", + RemoveBreaks = "-breaks", +} diff --git a/src/config.json b/src/config.json index 90ed7ef3..d0fe6934 100644 --- a/src/config.json +++ b/src/config.json @@ -700,6 +700,14 @@ "dependency": "fabric", "wiki": "https://wiki.fabricmc.net/documentation:fabric_mod_json" }, + { + "id": "fabric:dependency_overrides", + "url": "fabric/dependency-overrides", + "noPath": true, + "tags": ["partners"], + "dependency": "fabric", + "wiki": "https://wiki.fabricmc.net/tutorial:dependency_overrides" + }, { "id": "immersive_weathering:block_growth", "url": "immersive-weathering/block-growth", diff --git a/src/locales/en.json b/src/locales/en.json index c4e2cd8e..6edeab1a 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -81,6 +81,7 @@ "generator.error_max_version": "This generator is not available in versions above %0%", "generator.error_min_version": "The minimum version for this generator is %0%", "generator.fabric:fabric_mod_json": "fabric.mod.json", + "generator.fabric:dependency_overrides": "fabric_loader_dependencies.json", "generator.font": "Font", "generator.frog_variant": "Frog Variant", "generator.immersive_weathering:block_growth": "Block Growth",