@@ -37,6 +37,8 @@ stonecutter {
37
37
}
38
38
39
39
base { archivesName.set(" ${mod.id} -$loader " ) }
40
+ group = mod.group
41
+ version = " ${mod.version} +mc$minecraft "
40
42
41
43
modstitch {
42
44
minecraftVersion = minecraft
@@ -53,11 +55,28 @@ modstitch {
53
55
ifFindProperty(" deps.parchment" ) { mappingsVersion = it }
54
56
}
55
57
56
- // This metadata is used by Modstitch to annoyingly overwrite some Gradle properties (like "version")
57
58
metadata {
59
+ overwriteProjectVersionAndGroup = false
60
+
58
61
modId = mod.id
59
- modGroup = mod.group
60
- modVersion = " ${mod.version} +mc$minecraft "
62
+ modName = mod.name
63
+ modVersion = mod.version
64
+
65
+ fun <K , V > MapProperty <K , V >.populate (block : MapProperty <K , V >.() -> Unit ) {
66
+ block()
67
+ }
68
+
69
+ val refmapString = """
70
+ ,"refmap": "${modId} .refmap.json"
71
+ """
72
+ replacementProperties.populate {
73
+ // You can put any other replacement properties/metadata here that
74
+ // modstitch doesn't initially support. Some examples below.
75
+ put(" mc" , minecraftVersionRange)
76
+ put(" fml" , if (loader == " neoforge" ) " 1" else " 45" )
77
+ put(" mnd" , if (loader == " neoforge" ) " type = \" required\" " else " mandatory = true" )
78
+ put(" refmap" , if (loader == " forge" ) refmapString else " " )
79
+ }
61
80
}
62
81
63
82
// Fabric Loom (Fabric)
@@ -136,35 +155,6 @@ yamlang {
136
155
inputDir.set(" assets/${mod.id} /lang" )
137
156
}
138
157
139
- // Resources
140
- tasks.processResources {
141
- inputs.property(" loader" , loader)
142
- inputs.property(" mod_id" , mod.id)
143
- inputs.property(" mod_version" , mod.version)
144
- inputs.property(" mod_name" , mod.name)
145
- inputs.property(" mc" , minecraftVersionRange)
146
-
147
- val loader = inputs.properties[" loader" ]
148
- val modId = inputs.properties[" mod_id" ]
149
- val map = mapOf (
150
- " mod_id" to modId,
151
- " mod_version" to inputs.properties[" mod_version" ],
152
- " mod_name" to inputs.properties[" mod_name" ],
153
- " mc" to inputs.properties[" mc" ],
154
- " fml" to if (loader == " neoforge" ) " 1" else " 45" ,
155
- " mnd" to if (loader == " neoforge" ) " type = \" required\" " else " mandatory = true"
156
- )
157
-
158
- fun FileCopyDetails.expandOrExclude (expand : Boolean , map : Map <String , * >): Any = if (expand) expand(map) else exclude()
159
-
160
- filesMatching(" fabric.mod.json" ) { expandOrExclude(loader == " fabric" , map) }
161
- filesMatching(" META-INF/mods.toml" ) { expandOrExclude(loader == " forge" , map) }
162
- filesMatching(" META-INF/neoforge.mods.toml" ) { expandOrExclude(loader == " neoforge" , map) }
163
- filesMatching(" ${modId} .mixins.json" ) { expand(mapOf (" refmap" to if (loader == " forge" ) """
164
- ,"refmap": "${modId} .refmap.json"
165
- """ .trimIndent() else " " ))}
166
- }
167
-
168
158
// Publishing
169
159
publishMods {
170
160
val modrinthToken = findProperty(" modrinthToken" )
0 commit comments