Skip to content

Commit e249433

Browse files
committed
improve generated resources processing
1 parent b1efb54 commit e249433

File tree

2 files changed

+45
-13
lines changed

2 files changed

+45
-13
lines changed

build.gradle

Lines changed: 43 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -452,28 +452,59 @@ processResources {
452452
exclude('spotless.eclipseformat.xml')
453453

454454
// replace stuff in mcmod.info, nothing else
455-
filesMatching(['mcmod.info', 'pack.mcmeta']) { fcd ->
456-
// replace version and mcversion
455+
filesMatching('mcmod.info') { fcd ->
457456
fcd.expand(
458457
'version': modVersion,
459-
'mcversion': minecraftVersion
458+
'mcversion': minecraftVersion,
459+
'modid': modId,
460+
'modname': modName
460461
)
461462
}
462463
}
463464

464465
// Automatically generate a mixin json file if it does not already exist
465466
tasks.register('generateAssets') {
466467
group = 'GT Buildscript'
467-
description = 'Generates a mixin config file at /src/main/resources/mixins.modid.json if needed'
468-
onlyIf {
469-
usesMixins.toBoolean()
470-
}
468+
description = 'Generates a pack.mcmeta, mcmod.info, or mixins.{modid}.json if needed'
471469
doLast {
472-
def mixinConfigFile = getFile("src/main/resources/mixins.${modId}.json")
473-
if (!mixinConfigFile.exists()) {
474-
def mixinConfigRefmap = "mixins.${modId}.refmap.json"
470+
// pack.mcmeta
471+
def packMcmetaFile = getFile('src/main/resources/pack.mcmeta')
472+
if (!packMcmetaFile.exists()) {
473+
packMcmetaFile.text = """{
474+
"pack": {
475+
"pack_format": 3,
476+
"description": "${modName} Resource Pack"
477+
}
478+
}
479+
"""
480+
}
481+
482+
// mcmod.info
483+
def mcmodInfoFile = getFile('src/main/resources/mcmod.info')
484+
if (!mcmodInfoFile.exists()) {
485+
mcmodInfoFile.text = """[{
486+
"modid": "\${modid}",
487+
"name": "\${modname}",
488+
"description": "An example mod for Minecraft 1.12.2 with Forge",
489+
"version": "\${version}",
490+
"mcversion": "\${mcversion}",
491+
"logoFile": "",
492+
"url": "",
493+
"authorList": [],
494+
"credits": "",
495+
"dependencies": []
496+
}]
497+
"""
498+
mcmodInfoFile
499+
}
475500

476-
mixinConfigFile.text = """{
501+
// mixins.{modid}.json
502+
if (usesMixins.toBoolean()) {
503+
def mixinConfigFile = getFile("src/main/resources/mixins.${modId}.json")
504+
if (!mixinConfigFile.exists()) {
505+
def mixinConfigRefmap = "mixins.${modId}.refmap.json"
506+
507+
mixinConfigFile.text = """{
477508
"package": "${modGroup}.${mixinsPackage}",
478509
"refmap": "${mixinConfigRefmap}",
479510
"target": "@env(DEFAULT)",
@@ -484,6 +515,7 @@ tasks.register('generateAssets') {
484515
"server": []
485516
}
486517
"""
518+
}
487519
}
488520
}
489521
}

src/main/resources/mcmod.info

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[{
2-
"modid": "mymodid",
3-
"name": "MyMod",
2+
"modid": "${modid}",
3+
"name": "${modname}",
44
"description": "An example mod for Minecraft 1.12.2 with Forge",
55
"version": "${version}",
66
"mcversion": "${mcversion}",

0 commit comments

Comments
 (0)