45 lines
1.9 KiB
Groovy
45 lines
1.9 KiB
Groovy
buildscript {
|
|
repositories {
|
|
maven { url = 'https://maven.minecraftforge.net/' }
|
|
mavenCentral()
|
|
gradlePluginPortal()
|
|
}
|
|
dependencies {
|
|
classpath 'net.minecraftforge.gradle:ForgeGradle:6.0.42'
|
|
classpath 'org.spongepowered:mixingradle:0.7.38'
|
|
}
|
|
}
|
|
apply plugin: 'net.minecraftforge.gradle'
|
|
apply plugin: 'org.spongepowered.mixin'
|
|
repositories {
|
|
exclusiveContent {
|
|
forRepository { maven { url = 'https://libraries.minecraft.net/' } }
|
|
filter { includeGroup 'org.lwjgl' }
|
|
}
|
|
}
|
|
def mc = (providers.gradleProperty('mcVersion').orNull ?: project.findProperty('mcVersion') ?: '1.21.1').toString().trim()
|
|
def forgeVersions = ['1.20.1': '47.4.10', '1.21.1': '52.1.0']
|
|
if (!forgeVersions.containsKey(mc)) throw new GradleException("Unsupported Minecraft version '${mc}'")
|
|
java.sourceCompatibility = JavaVersion.toVersion(mc == '1.20.1' ? 17 : 21)
|
|
java.targetCompatibility = java.sourceCompatibility
|
|
minecraft { mappings channel: 'official', version: mc }
|
|
dependencies {
|
|
minecraft "net.minecraftforge:forge:${mc}-${forgeVersions[mc]}"
|
|
implementation project(':common')
|
|
annotationProcessor 'org.spongepowered:mixin:0.8.5:processor'
|
|
}
|
|
sourceSets.main.java.srcDirs += ['../minecraft/src/main/java', "../minecraft/src/${mc}/java"]
|
|
sourceSets.main.resources.srcDirs += ['../minecraft/src/main/resources']
|
|
apply from: '../minecraft/build-info.gradle'
|
|
mixin { add sourceSets.main, 'scopenet.refmap.json'; config 'scopenet.mixins.json' }
|
|
processResources {
|
|
inputs.properties(version: project.version, mc: mc)
|
|
filesMatching('META-INF/mods.toml') { expand(version: project.version, mc: mc, forge: forgeVersions[mc].split('\\.')[0]) }
|
|
}
|
|
base.archivesName = "scopenet-forge-${mc}"
|
|
jar {
|
|
from project(':common').sourceSets.main.output
|
|
manifest { attributes('MixinConfigs': 'scopenet.mixins.json') }
|
|
finalizedBy 'reobfJar'
|
|
}
|