110 lines
3.5 KiB
Groovy
110 lines
3.5 KiB
Groovy
plugins {
|
|
id 'idea'
|
|
id 'maven-publish'
|
|
id 'net.minecraftforge.gradle'
|
|
id 'org.spongepowered.mixin'
|
|
}
|
|
base {
|
|
archivesName = "${mod_name}-forge-${minecraft_version}"
|
|
}
|
|
mixin {
|
|
add(sourceSets.main, "${mod_id}.refmap.json")
|
|
|
|
config("${mod_id}.mixins.json")
|
|
config("${mod_id}.forge.mixins.json")
|
|
}
|
|
|
|
minecraft {
|
|
mappings channel: 'official', version: minecraft_version
|
|
|
|
// Automatically enable forge AccessTransformers if the file exists
|
|
// This location is hardcoded in Forge and can not be changed.
|
|
// https://github.com/MinecraftForge/MinecraftForge/blob/be1698bb1554f9c8fa2f58e32b9ab70bc4385e60/fmlloader/src/main/java/net/minecraftforge/fml/loading/moddiscovery/ModFile.java#L123
|
|
if (file('src/main/resources/META-INF/accesstransformer.cfg').exists()) {
|
|
accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
|
|
}
|
|
|
|
runs {
|
|
client {
|
|
workingDirectory project.file('run')
|
|
ideaModule "${rootProject.name}.${project.name}.main"
|
|
taskName 'Client'
|
|
property 'mixin.env.remapRefMap', 'true'
|
|
property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"
|
|
mods {
|
|
modClientRun {
|
|
source sourceSets.main
|
|
source project(":common").sourceSets.main
|
|
}
|
|
}
|
|
}
|
|
|
|
server {
|
|
workingDirectory project.file('run')
|
|
ideaModule "${rootProject.name}.${project.name}.main"
|
|
taskName 'Server'
|
|
property 'mixin.env.remapRefMap', 'true'
|
|
property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"
|
|
mods {
|
|
modServerRun {
|
|
source sourceSets.main
|
|
source project(":common").sourceSets.main
|
|
}
|
|
}
|
|
}
|
|
|
|
data {
|
|
workingDirectory project.file('run')
|
|
ideaModule "${rootProject.name}.${project.name}.main"
|
|
args '--mod', mod_id, '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
|
|
taskName 'Data'
|
|
property 'mixin.env.remapRefMap', 'true'
|
|
property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"
|
|
mods {
|
|
modDataRun {
|
|
source sourceSets.main
|
|
source project(":common").sourceSets.main
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
sourceSets.main.resources.srcDir 'src/generated/resources'
|
|
|
|
dependencies {
|
|
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
|
|
compileOnly project(":common")
|
|
annotationProcessor("org.spongepowered:mixin:0.8.5-SNAPSHOT:processor")
|
|
}
|
|
|
|
tasks.withType(JavaCompile).configureEach {
|
|
source(project(":common").sourceSets.main.allSource)
|
|
}
|
|
tasks.withType(Javadoc).configureEach {
|
|
source(project(":common").sourceSets.main.allJava)
|
|
}
|
|
tasks.named("sourcesJar", Jar) {
|
|
from(project(":common").sourceSets.main.allSource)
|
|
}
|
|
|
|
processResources {
|
|
from project(":common").sourceSets.main.resources
|
|
}
|
|
|
|
jar.finalizedBy('reobfJar')
|
|
|
|
publishing {
|
|
publications {
|
|
mavenJava(MavenPublication) {
|
|
artifactId base.archivesName.get()
|
|
from components.java
|
|
fg.component(it)
|
|
}
|
|
}
|
|
repositories {
|
|
maven {
|
|
url "file://" + System.getenv("local_maven")
|
|
}
|
|
}
|
|
}
|