plugins {
    id "java"
    id "com.github.johnrengelman.shadow" version "8.1.1"
    id "xyz.jpenilla.run-paper" version "2.1.0"
}

runServer {
    javaLauncher = javaToolchains.launcherFor {
        languageVersion = JavaLanguageVersion.of(17)
    }
    minecraftVersion "1.20.1"
}

processResources {
    expand("version": version)
}

dependencies {
    compileOnly "org.spigotmc:spigot-api:1.8.8-R0.1-SNAPSHOT"
    compileOnly "me.clip:placeholderapi:2.11.3"

    compileOnly "com.mojang:authlib:1.5.21"
    compileOnly "com.mojang:datafixerupper:4.0.26"

    implementation "commons-io:commons-io:2.11.0"
    implementation "com.google.code.gson:gson:2.10.1"
    implementation "org.bstats:bstats-bukkit:3.0.2"
    implementation "com.github.robertlit:SpigotResourcesAPI:2.0"
    implementation "net.kyori:adventure-platform-bukkit:4.3.0"
    implementation "net.kyori:adventure-text-minimessage:4.14.0"
    implementation "com.github.retrooper.packetevents:spigot:2.0.0-SNAPSHOT"
    implementation "space.arim.dazzleconf:dazzleconf-ext-snakeyaml:1.2.1"

    implementation "lol.pyr:director-adventure:2.1.1"
    implementation project(":api")
}

shadowJar {
    archivesBaseName = "ZNPCsPlus"
    archiveClassifier.set ""

    relocate "org.bstats", "lol.pyr.znpcsplus.lib.bstats"
    relocate "org.apache.commons.io", "lol.pyr.znpcsplus.lib.commonsio"
    relocate "me.robertlit.spigotresources", "lol.pyr.znpcsplus.lib.spigotresources"
    relocate "net.kyori", "lol.pyr.znpcsplus.lib.kyori"
    relocate "org.checkerframework", "lol.pyr.znpcsplus.lib.checkerframework"
    relocate "javax.annotation", "lol.pyr.znpcsplus.lib.javaxannotation"
    relocate "com.google", "lol.pyr.znpcsplus.lib.google"

    relocate "com.github.retrooper.packetevents", "lol.pyr.znpcsplus.lib.packetevents.api"
    relocate "io.github.retrooper.packetevents", "lol.pyr.znpcsplus.lib.packetevents.impl"

    relocate "org.yaml.snakeyaml", "lol.pyr.znpcsplus.lib.snakeyaml"
    relocate "space.arim.dazzleconf", "lol.pyr.znpcsplus.lib.dazzleconf"

    relocate "lol.pyr.director", "lol.pyr.znpcsplus.lib.command"
    minimize()
}


tasks.assemble.dependsOn shadowJar