2022-01-06 14:59:55 +03:00
|
|
|
buildscript {
|
|
|
|
repositories {
|
|
|
|
maven {
|
2022-01-23 00:46:32 +03:00
|
|
|
url = 'https://maven.cleanroommc.com'
|
2022-01-20 19:56:26 +03:00
|
|
|
}
|
|
|
|
maven {
|
|
|
|
url = 'https://repo.spongepowered.org/maven'
|
2022-01-06 14:59:55 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
dependencies {
|
2022-01-24 03:37:13 +03:00
|
|
|
classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
|
2022-01-20 19:56:26 +03:00
|
|
|
if (project.use_mixins) {
|
|
|
|
classpath 'org.spongepowered:mixingradle:0.6-SNAPSHOT'
|
|
|
|
}
|
2022-01-06 14:59:55 +03:00
|
|
|
}
|
|
|
|
}
|
2022-01-20 19:56:26 +03:00
|
|
|
|
2022-01-06 14:59:55 +03:00
|
|
|
apply plugin: 'net.minecraftforge.gradle.forge'
|
|
|
|
|
2022-01-20 19:56:26 +03:00
|
|
|
if (project.use_mixins) {
|
|
|
|
apply plugin: 'org.spongepowered.mixin'
|
|
|
|
}
|
|
|
|
|
|
|
|
version = project.mod_version
|
|
|
|
group = project.maven_group
|
|
|
|
archivesBaseName = project.archives_base_name
|
2022-01-06 14:59:55 +03:00
|
|
|
|
|
|
|
sourceCompatibility = targetCompatibility = '1.8'
|
2022-01-20 19:56:26 +03:00
|
|
|
|
2022-01-06 14:59:55 +03:00
|
|
|
compileJava {
|
|
|
|
sourceCompatibility = targetCompatibility = '1.8'
|
|
|
|
}
|
|
|
|
|
2022-01-20 19:56:26 +03:00
|
|
|
configurations {
|
|
|
|
embed
|
|
|
|
implementation.extendsFrom(embed)
|
|
|
|
}
|
|
|
|
|
2022-01-06 14:59:55 +03:00
|
|
|
minecraft {
|
2022-01-20 19:56:26 +03:00
|
|
|
version = '1.12.2-14.23.5.2847'
|
|
|
|
runDir = 'run'
|
|
|
|
mappings = 'stable_39'
|
2022-01-26 15:34:40 +03:00
|
|
|
def args = []
|
|
|
|
if (project.use_coremod) {
|
|
|
|
args << '-Dfml.coreMods.load=' + coremod_plugin_class_name
|
|
|
|
}
|
|
|
|
if (project.use_mixins) {
|
|
|
|
args << '-Dmixin.hotSwap=true'
|
|
|
|
args << '-Dmixin.checks.interfaces=true'
|
|
|
|
args << '-Dmixin.debug.export=true'
|
|
|
|
}
|
|
|
|
clientJvmArgs.addAll(args)
|
|
|
|
serverJvmArgs.addAll(args)
|
2022-01-20 19:56:26 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
repositories {
|
2022-01-23 00:46:32 +03:00
|
|
|
maven {
|
|
|
|
url = 'https://maven.cleanroommc.com'
|
2022-01-20 19:56:26 +03:00
|
|
|
}
|
|
|
|
maven {
|
2022-01-23 00:46:32 +03:00
|
|
|
url = 'https://repo.spongepowered.org/maven'
|
2022-01-20 19:56:26 +03:00
|
|
|
}
|
2022-01-06 14:59:55 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
|
2022-01-20 19:56:26 +03:00
|
|
|
if (project.use_assetmover) {
|
2022-01-23 00:46:32 +03:00
|
|
|
deobfCompile 'com.cleanroommc:assetmover:0.2'
|
2022-01-20 19:56:26 +03:00
|
|
|
}
|
|
|
|
if (project.use_mixins) {
|
|
|
|
embed ('org.spongepowered:mixin:0.8.3') {
|
|
|
|
exclude module: 'asm-commons'
|
|
|
|
exclude module: 'asm-tree'
|
|
|
|
exclude module: 'launchwrapper'
|
|
|
|
exclude module: 'guava'
|
|
|
|
exclude module: 'log4j-core'
|
|
|
|
exclude module: 'gson'
|
|
|
|
exclude module: 'commons-io'
|
|
|
|
}
|
|
|
|
annotationProcessor 'org.spongepowered:mixin:0.8.3:processor'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
sourceSets {
|
|
|
|
|
|
|
|
main {
|
|
|
|
ext.refMap = 'mixins.' + archives_base_name + '.refmap.json'
|
|
|
|
}
|
2022-01-06 14:59:55 +03:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
processResources {
|
|
|
|
// this will ensure that this task is redone when the versions change.
|
2022-01-20 19:56:26 +03:00
|
|
|
inputs.property 'version', project.version
|
|
|
|
inputs.property 'mcversion', project.minecraft.version
|
2022-01-06 14:59:55 +03:00
|
|
|
// replace stuff in mcmod.info, nothing else
|
|
|
|
from(sourceSets.main.resources.srcDirs) {
|
|
|
|
include 'mcmod.info'
|
|
|
|
// replace version and mcversion
|
|
|
|
expand 'version':project.version, 'mcversion':project.minecraft.version
|
|
|
|
}
|
|
|
|
// copy everything else except the mcmod.info
|
|
|
|
from(sourceSets.main.resources.srcDirs) {
|
|
|
|
exclude 'mcmod.info'
|
|
|
|
}
|
2022-01-20 19:56:26 +03:00
|
|
|
rename '(.+_at.cfg)', 'META-INF/$1' // Access Transformers
|
|
|
|
}
|
|
|
|
|
|
|
|
jar {
|
|
|
|
manifest {
|
|
|
|
def attribute_map = [:]
|
|
|
|
if (project.use_coremod) {
|
|
|
|
attribute_map['FMLCorePlugin'] = project.coremod_plugin_class_name
|
|
|
|
}
|
|
|
|
if (project.use_mixins) {
|
|
|
|
attribute_map['TweakClass'] = 'org.spongepowered.asm.launch.MixinTweaker'
|
|
|
|
}
|
|
|
|
attributes(attribute_map)
|
|
|
|
}
|
|
|
|
if (project.use_mixins && project.pack_mixins_in_jar) {
|
|
|
|
from (configurations.embed.collect { it.isDirectory() ? it : zipTree(it) }) {
|
|
|
|
exclude 'LICENSE.txt', 'module-info.class', 'META-INF/*'
|
|
|
|
}
|
|
|
|
}
|
2022-01-06 14:59:55 +03:00
|
|
|
}
|