2022-04-25 16:40:32 +02:00
|
|
|
buildscript {
|
|
|
|
repositories {
|
|
|
|
maven { url = 'https://maven.minecraftforge.net' }
|
|
|
|
mavenCentral()
|
|
|
|
}
|
|
|
|
dependencies {
|
|
|
|
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '5.1.+', changing: true
|
2022-04-25 22:52:03 +02:00
|
|
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10"
|
|
|
|
// OPTIONAL Kotlin Serialization plugin
|
|
|
|
classpath 'org.jetbrains.kotlin:kotlin-serialization:1.6.10'
|
2022-04-25 16:40:32 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
apply plugin: 'java'
|
|
|
|
apply plugin: 'net.minecraftforge.gradle'
|
|
|
|
apply plugin: 'eclipse'
|
|
|
|
apply plugin: 'maven-publish'
|
|
|
|
|
|
|
|
archivesBaseName = "${modID}-forge-${minecraftVersion}"
|
|
|
|
|
|
|
|
// Adds the Kotlin Gradle plugin
|
|
|
|
buildscript {
|
|
|
|
dependencies {
|
|
|
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10"
|
|
|
|
// OPTIONAL Kotlin Serialization plugin
|
|
|
|
classpath 'org.jetbrains.kotlin:kotlin-serialization:1.6.10'
|
|
|
|
}
|
|
|
|
}
|
2022-04-25 22:52:03 +02:00
|
|
|
|
2022-04-25 16:40:32 +02:00
|
|
|
apply plugin: 'kotlin'
|
|
|
|
// OPTIONAL Kotlin Serialization plugin
|
|
|
|
apply plugin: 'kotlinx-serialization'
|
|
|
|
|
|
|
|
// Adds KFF as dependency and Kotlin libs to the runtime classpath
|
|
|
|
// If you already know how to add the Kotlin plugin to Gradle, this is the only line you need for KFF
|
|
|
|
apply from: 'https://raw.githubusercontent.com/thedarkcolour/KotlinForForge/site/thedarkcolour/kotlinforforge/gradle/kff-3.0.0.gradle'
|
|
|
|
|
|
|
|
minecraft {
|
|
|
|
mappings channel: 'official', version: minecraftVersion
|
|
|
|
|
|
|
|
if (project.hasProperty('forge_ats_enabled') && project.findProperty('forge_ats_enabled').toBoolean()) {
|
|
|
|
// 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
|
|
|
|
accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
|
|
|
|
project.logger.debug('Forge Access Transformers are enabled for this project.')
|
|
|
|
}
|
|
|
|
|
|
|
|
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', modID, '--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'
|
|
|
|
|
|
|
|
repositories {
|
|
|
|
mavenCentral()
|
|
|
|
// Put repositories for dependencies here
|
|
|
|
// ForgeGradle automatically adds the Forge maven and Maven Central for you
|
|
|
|
|
|
|
|
// If you have mod jar dependencies in ./libs, you can declare them as a repository like so:
|
|
|
|
// flatDir {
|
|
|
|
// dir 'libs'
|
|
|
|
// }
|
|
|
|
maven { url 'https://maven.blamejared.com' }
|
|
|
|
|
|
|
|
maven {
|
|
|
|
// location of the maven that hosts JEI files
|
|
|
|
name = "Progwml6 maven"
|
|
|
|
url = "https://dvs1.progwml6.com/files/maven/"
|
|
|
|
}
|
|
|
|
maven {
|
|
|
|
// location of a maven mirror for JEI files, as a fallback
|
|
|
|
name = "ModMaven"
|
|
|
|
url = "https://modmaven.dev"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
implementation 'org.testng:testng:7.1.0'
|
|
|
|
|
|
|
|
// Specify the version of Minecraft to use. If this is any group other than 'net.minecraft', it is assumed
|
|
|
|
// that the dep is a ForgeGradle 'patcher' dependency, and its patches will be applied.
|
|
|
|
// The userdev artifact is a special name and will get all sorts of transformations applied to it.
|
|
|
|
minecraft "net.minecraftforge:forge:${minecraftVersion}-${forgeVersion}"
|
2022-04-25 22:52:03 +02:00
|
|
|
compileOnly project(":Common")
|
2022-04-25 16:40:32 +02:00
|
|
|
|
|
|
|
annotationProcessor 'org.spongepowered:mixin:0.8.5:processor'
|
|
|
|
|
|
|
|
compileOnly fg.deobf("at.petra-k.paucal:paucal-$minecraftVersion:$paucalVersion")
|
|
|
|
runtimeOnly fg.deobf("at.petra-k.paucal:paucal-$minecraftVersion:$paucalVersion")
|
|
|
|
compileOnly fg.deobf("vazkii.patchouli:Patchouli:$minecraftVersion-$patchouliVersion:api")
|
|
|
|
runtimeOnly fg.deobf("vazkii.patchouli:Patchouli:$minecraftVersion-$patchouliVersion")
|
|
|
|
|
|
|
|
|
|
|
|
compileOnly fg.deobf("mezz.jei:jei-$minecraftVersion:$jeiVersion:api")
|
|
|
|
runtimeOnly fg.deobf("mezz.jei:jei-$minecraftVersion:$jeiVersion")
|
|
|
|
}
|
|
|
|
|
|
|
|
tasks.withType(JavaCompile) {
|
|
|
|
source(project(":Common").sourceSets.main.allSource)
|
|
|
|
}
|
|
|
|
|
|
|
|
processResources {
|
|
|
|
from project(":Common").sourceSets.main.resources
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
jar.finalizedBy('reobfJar')
|
|
|
|
|
|
|
|
publishing {
|
|
|
|
publications {
|
|
|
|
mavenJava(MavenPublication) {
|
|
|
|
groupId project.group
|
|
|
|
artifactId project.archivesBaseName
|
|
|
|
version project.version
|
|
|
|
artifact jar
|
|
|
|
}
|
|
|
|
}
|
|
|
|
repositories {
|
|
|
|
maven {
|
|
|
|
url "file://" + System.getenv("local_maven")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
compileKotlin {
|
|
|
|
kotlinOptions {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
compileTestKotlin {
|
|
|
|
kotlinOptions {
|
|
|
|
}
|
|
|
|
}
|