import xyz.jpenilla.runtask.pluginsapi.DownloadPluginsSpec
id 'com.gradleup.shadow' version '9.3.1'
id("xyz.jpenilla.run-paper") version('3.0.2')
group = 'fr.snipertvmc.essentialsxgui'
description = 'EssentialsX-GUI'
java.sourceCompatibility = JavaVersion.VERSION_21
url = uri("https://repo.papermc.io/repository/maven-public/")
url = uri('https://jitpack.io/')
url = uri("https://repo.essentialsx.net/releases/")
url = uri('https://mvn.wesjd.net/')
url = uri('https://repo.alessiodp.com/releases/')
url = uri('https://repo.helpch.at/releases/')
url "https://repo.faststats.dev/releases"
url = uri('https://repo.marcely.de/repository/maven-public/')
url = uri('https://repo.maven.apache.org/maven2/')
url = uri("https://repo.papermc.io/repository/maven-public/")
url = uri("https://repo.alessiodp.com/releases/")
compileOnly "org.spigotmc:spigot-api:1.21.1-R0.1-SNAPSHOT"
compileOnly "net.essentialsx:EssentialsX:2.21.2"
compileOnly "com.squareup.moshi:moshi:1.15.2"
compileOnly "com.zaxxer:HikariCP:7.0.2"
compileOnly "com.github.InstantlyMoist:privatebin-java-api:master"
compileOnly "me.clip:placeholderapi:2.12.2"
compileOnly "com.github.cryptomorin:XSeries-Fork:13.6.0"
implementation "net.wesjd:anvilgui:1.10.11-SNAPSHOT"
implementation "net.byteflux:libby-bukkit:1.3.1"
implementation "dev.faststats.metrics:bukkit:0.18.1"
maven(MavenPublication) {
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
tasks.withType(Javadoc) {
options.encoding = 'UTF-8'
archiveClassifier.set('') // replaces default "-all"
relocate 'net.byteflux.libby', 'fr.snipertvmc.essentialsxgui.libraries.libby'
relocate 'net.wesjd.anvilgui', 'fr.snipertvmc.essentialsxgui.libraries.anvilgui'
relocate 'net.kyori.adventure', 'fr.snipertvmc.essentialsxgui.libraries.adventure'
relocate 'dev.faststats', 'fr.snipertvmc.essentialsxgui.libraries.faststats'
mergeServiceFiles() // equivalent to ServicesResourceTransformer
exclude 'META-INF/*.SF', 'META-INF/*.DSA', 'META-INF/*.RSA'
build.dependsOn shadowJar
// Equivalent of maven-antrun-plugin (copy after build)
tasks.register('copyJar', Copy) {
from layout.buildDirectory.file("libs/${project.name}-${project.version}.jar")
build.finalizedBy copyJar
url("https://github.com/EssentialsX/Essentials/releases/download/2.21.2/EssentialsX-2.21.2.jar")
// Configure the Minecraft version for our task.
// This is the only required configuration besides applying the plugin.
// Your plugin's jar (or shadowJar if present) will be used automatically.
minecraftVersion("1.21.11")
runPaper.folia.registerTask()