diff options
author | Wyvest <45589059+Wyvest@users.noreply.github.com> | 2021-12-21 17:55:14 +0700 |
---|---|---|
committer | Wyvest <45589059+Wyvest@users.noreply.github.com> | 2021-12-21 17:55:14 +0700 |
commit | 870da2e7fcf370233c9e64d55dd0295cec6665f0 (patch) | |
tree | aad94b09e4cc0d8362d516a0696a0b1d1c23f6bc /build.gradle | |
download | Chatting-870da2e7fcf370233c9e64d55dd0295cec6665f0.tar.gz Chatting-870da2e7fcf370233c9e64d55dd0295cec6665f0.tar.bz2 Chatting-870da2e7fcf370233c9e64d55dd0295cec6665f0.zip |
initial commit
Diffstat (limited to 'build.gradle')
-rw-r--r-- | build.gradle | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..1e91c3d --- /dev/null +++ b/build.gradle @@ -0,0 +1,127 @@ +plugins { + id "net.minecraftforge.gradle.forge" version "6f53277" + id 'org.jetbrains.kotlin.jvm' version '1.6.10' + id "com.github.johnrengelman.shadow" version "6.1.0" + id 'org.spongepowered.mixin' version "d5f9873" + id "net.kyori.blossom" version "1.3.0" + id "java" +} + +version = mod_version +group = "com.raeids" +archivesBaseName = mod_name + +blossom { + String className = "src/main/kotlin/com/raeids/stratus/Stratus.kt" + replaceToken("@VER@", project.version, className) + replaceToken("@NAME@", mod_name, className) + replaceToken("@ID@", mod_id, className) +} + +sourceCompatibility = targetCompatibility = 1.8 +compileJava.options.encoding = 'UTF-8' + +minecraft { + version = "1.8.9-11.15.1.2318-1.8.9" + runDir = "run" + mappings = "stable_22" + makeObfSourceJar = false + + clientRunArgs += "--mixin mixins.${mod_id}.json" + clientRunArgs += '--tweakClass gg.essential.loader.stage0.EssentialSetupTweaker' +} + +configurations { + // Creates an extra configuration that implements `implementation` to be used later as the configuration that shades libraries + include + implementation.extendsFrom(include) +} + +repositories { + mavenCentral() + maven { url 'https://jitpack.io/' } + maven { url 'https://repo.spongepowered.org/repository/maven-public/' } + maven { url 'https://repo.sk1er.club/repository/maven-releases/' } +} + +dependencies { + include ('gg.essential:loader-launchwrapper:1.1.2') { + transitive = false + } + implementation 'gg.essential:essential-1.8.9-forge:1626+release-launch' + annotationProcessor 'org.spongepowered:mixin:0.7.11-SNAPSHOT' +} + +/** + * This task simply replaces the `${version}` and `${mcversion}` properties in the mcmod.info with the data from Gradle + */ +processResources { + // this will ensure that this task is redone when the versions change. + inputs.property "version", version + inputs.property "mcversion", minecraft.version + inputs.property "name", mod_name + inputs.property "id", mod_id + + filesMatching("mcmod.info") { + expand( + "id": mod_id, + "name": mod_name, + "version": version, + "mcversion": minecraft.version + ) + } + filesMatching("mixins.${mod_id}.json") { + expand("id": mod_id) + } + + rename '(.+_at.cfg)', 'META-INF/$1' +} + +jar { + manifest.attributes( + 'ModSide': 'CLIENT', + 'ForceLoadAsMod': true, + 'TweakClass': 'gg.essential.loader.stage0.EssentialSetupTweaker', + 'MixinConfigs': "mixins.${mod_id}.json" + ) + enabled = false +} + +/** + * This task simply moves resources so they can be accessed at runtime, Forge is quite weird isn't it + */ +task moveResources { + doLast { + ant.move file: "${buildDir}/resources/main", + todir: "${buildDir}/classes/kotlin" + } +} + +moveResources.dependsOn processResources +classes.dependsOn moveResources + +mixin { + disableRefMapWarning = true + defaultObfuscationEnv searge + add sourceSets.main, "mixins.${mod_id}.refmap.json" +} + +// This adds support to ("include") libraries into our JAR +shadowJar { + archiveClassifier.set('') + configurations = [project.configurations.include] + duplicatesStrategy DuplicatesStrategy.EXCLUDE +} + +reobf { + shadowJar { + classpath = sourceSets.main.compileClasspath + } +} + +tasks.reobfJar.dependsOn tasks.shadowJar +sourceSets { + main { + ext.refMap = "mixins.${mod_id}.refmap.json" + } +} |