import groovy.json.JsonSlurper File irisDirectory = project.name.startsWith('iris-') ? file('../..') : rootDir String targetMinecraft = providers.gradleProperty('minecraftVersion').getOrElse('26.3') Map> targets = (Map>) new JsonSlurper() .parse(new File(irisDirectory, 'gradle/mod-targets.json')) Map target = targets.get(targetMinecraft) if (target == null) { throw new GradleException("Unsupported Iris mod target ${targetMinecraft}; choose ${targets.keySet().join(', ')}") } targets.each { String minecraft, Map candidate -> candidate.put('overlays', candidate.get('overlays') ?: [minecraft]) } ext.irisModTarget = target ext.irisModTargets = targets if (project.name.startsWith('iris-')) { layout.buildDirectory.set(layout.projectDirectory.dir("build/${targetMinecraft}")) }