aboutsummaryrefslogtreecommitdiff
path: root/build.gradle
diff options
context:
space:
mode:
Diffstat (limited to 'build.gradle')
-rw-r--r--[-rwxr-xr-x]build.gradle141
1 files changed, 141 insertions, 0 deletions
diff --git a/build.gradle b/build.gradle
index 83f62df1..7252969e 100755..100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,6 +1,147 @@
+
+/*
+ * 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 <https://www.gnu.org/licenses/>.
+ */
+
+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
+ }
} \ No newline at end of file