@@ -130,3 +130,39 @@ struct LanguageAdapters {
130130struct CustomValues {
131131 [string]: any,
132132}
133+
134+ // Sources:
135+ // - https://wiki.fabricmc.net/tutorial:dependency_overrides
136+ // - https://github.com/FabricMC/fabric-loader/blob/master/src/main/java/net/fabricmc/loader/impl/metadata/DependencyOverrides.java
137+
138+ dispatch minecraft:resource[fabric:dependency_overrides] to struct DependencyOverrides {
139+ /// Needed for internal mechanisms. Must always be `1`.
140+ version: 1,
141+ overrides: Overrides,
142+ }
143+
144+ struct Overrides {
145+ [string]: Override,
146+ }
147+
148+ struct Override {
149+ [DependencyType]: Dependencies,
150+ }
151+
152+ enum(string) DependencyType {
153+ ReplaceDepends = "depends",
154+ ReplaceRecommends = "recommends",
155+ ReplaceSuggests = "suggests",
156+ ReplaceConflicts = "conflicts",
157+ ReplaceBreaks = "breaks",
158+ AddDepends = "+depends",
159+ AddRecommends = "+recommends",
160+ AddSuggests = "+suggests",
161+ AddConflicts = "+conflicts",
162+ AddBreaks = "+breaks",
163+ RemoveDepends = "-depends",
164+ RemoveRecommends = "-recommends",
165+ RemoveSuggests = "-suggests",
166+ RemoveConflicts = "-conflicts",
167+ RemoveBreaks = "-breaks",
168+ }
0 commit comments