/* * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod * Copyright (C) 2021 cyoung06 * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published * by the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ plugins { id "idea" id "java" id "com.github.johnrengelman.shadow" version "7.1.2" id "dev.architectury.architectury-pack200" version "0.1.3" id "gg.essential.loom" version "0.10.0.+" } tasks.wrapper { gradleVersion = "7.4" // You can either download the binary-only version of Gradle (BIN) or // the full version (with sources and documentation) of Gradle (ALL) distributionType = Wrapper.DistributionType.ALL } version = "3.8.0" group = "kr.syeyoung.dungeonsguide" archivesBaseName = "dungeonsguide" java { toolchain.languageVersion.set(JavaLanguageVersion.of(8)) } loom { launchConfigs { client { } } runs { "client" { property('devauth.enabled','true') client() } } forge { pack200Provider.set(new dev.architectury.pack200.java.Pack200Adapter()) } } sourceSets.main { output.setResourcesDir(file("$buildDir/classes/java/main")) } repositories { mavenCentral() maven { url "https://jitpack.io" } maven {url "https://pkgs.dev.azure.com/djtheredstoner/DevAuth/_packaging/public/maven/v1"} } configurations { implementation.extendsFrom shadowImpl } dependencies { minecraft("com.mojang:minecraft:1.8.9") mappings("de.oceanlabs.mcp:mcp_stable:22-1.8.9") forge("net.minecraftforge:forge:1.8.9-11.15.1.2318-1.8.9") implementation 'org.jetbrains:annotations-java5:23.0.0' implementation 'org.java-websocket:Java-WebSocket:1.5.3' implementation "org.json:json:20220924" implementation 'com.twelvemonkeys.imageio:imageio-bmp:3.8.3' compileOnly 'org.projectlombok:lombok:1.18.24' annotationProcessor 'org.projectlombok:lombok:1.18.24' compileOnly files("jars/Hychat-1.12.1-BETA.jar") testCompileOnly "org.projectlombok:lombok:1.18.24" testAnnotationProcessor "org.projectlombok:lombok:1.18.24" modRuntimeOnly("me.djtheredstoner:DevAuth-forge-legacy:1.1.0") } tasks.withType(JavaCompile) { options.encoding = "UTF-8" } tasks.withType(Jar) { archivesBaseName = "dungeonsguide" manifest { attributes["FMLCorePluginContainsFMLMod"] = "true" attributes["ForceLoadAsMod"] = "true" // If you don't want mixins, remove these lines // this["TweakClass"] = "org.spongepowered.asm.launch.MixinTweaker" // this["MixinConfigs"] = "mixins.examplemod.json" } } tasks.shadowJar { archiveFileName = jar.archiveFileName relocate "org.java_websocket", "kr.syeyoung.org.java_websocket" dependencies { include(dependency("org.java-websocket:Java-WebSocket:1.5.3")) include(dependency("org.slf4j:slf4j-api:1.7.25")) include(dependency("org.json:json:20220924")) include(dependency("com.twelvemonkeys..*:.*")) } } tasks.named("remapJar") { archiveClassifier = "all" from(tasks.shadowJar) input = tasks.shadowJar.archiveFile } tasks.assemble.dependsOn tasks.remapJar processResources { inputs.property 'version', project.version // replace stuff in mcmod.info, nothing else from(sourceSets.main.resources.srcDirs) { duplicatesStrategy = 'include' include 'mcmod.info' // replace version and mcversion expand 'version': project.version } }