@@ -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
465466tasks. 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}
0 commit comments