aboutsummaryrefslogtreecommitdiff
path: root/mod/build.gradle
blob: 85b4423803a5aaa069ba6f88486c53bc09d34a99 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
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.+"
}

version = "4.0.0"
group = "kr.syeyoung.dungeonsguide"
archivesBaseName = "dungeonsguide"

java {
    toolchain.languageVersion.set(JavaLanguageVersion.of(8))
}

loom {
    launchConfigs {
        "client" {
            // probably will have to my own mixin tweaker, due to dungeonsguide's weird dynamic loading stuff
//            property("mixin.debug", "true")
//            property("asmhelper.verbose", "true")
//            arg("--tweakClass", "org.spongepowered.asm.launch.MixinTweaker")
//            arg("--mixin", "mixins.examplemod.json")
        }
    }
    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" }
}

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:19.0.0"
    implementation "org.java-websocket:Java-WebSocket:1.5.1"
    implementation "org.json:json:20171018"
    implementation "com.twelvemonkeys.imageio:imageio-bmp:3.7.0"

    compileOnly project(':loader')


    compileOnly "org.projectlombok:lombok:1.18.20"
    compileOnly files("../jars/Hychat-1.12.1-BETA.jar")
    annotationProcessor "org.projectlombok:lombok:1.18.16"

    testCompileOnly "org.projectlombok:lombok:1.18.20"
    testAnnotationProcessor "org.projectlombok:lombok:1.18.20"
}

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.1"))
        include(dependency("org.slf4j:slf4j-api:1.7.25"))
        include(dependency("org.json:json:20171018"))
        include(dependency("com.twelvemonkeys..*:.*"))
    }
}

tasks.named("remapJar") {
    archiveClassifier = "all"
    from(tasks.shadowJar)
    input = tasks.shadowJar.archiveFile
}


tasks.assemble.dependsOn tasks.remapJar