import xyz.jpenilla.runtask.pluginsapi.DownloadPluginsSpec plugins { id 'java' id 'com.gradleup.shadow' version '9.3.1' id("xyz.jpenilla.run-paper") version('3.0.2') id("maven-publish") id 'java-library' } group = 'fr.snipertvmc.essentialsxgui' version = '1.4.2' description = 'EssentialsX-GUI' java.sourceCompatibility = JavaVersion.VERSION_21 repositories { mavenLocal() mavenCentral() maven { url = uri("https://repo.papermc.io/repository/maven-public/") } maven { url = uri('https://jitpack.io/') } maven { url = uri("https://repo.essentialsx.net/releases/") } maven { name = "mvn-wesjd-net" url = uri('https://mvn.wesjd.net/') } maven { url = uri('https://repo.alessiodp.com/releases/') } maven { url = uri('https://repo.helpch.at/releases/') } maven { name "faststatsReleases" url "https://repo.faststats.dev/releases" } maven { url = uri('https://repo.marcely.de/repository/maven-public/') } maven { url = uri('https://repo.maven.apache.org/maven2/') } maven { name = "papermc" url = uri("https://repo.papermc.io/repository/maven-public/") } maven { name = "AlessioDP" url = uri("https://repo.alessiodp.com/releases/") } } dependencies { dependencies { 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" } } publishing { publications { maven(MavenPublication) { from(components.java) } } } tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } tasks.withType(Javadoc) { options.encoding = 'UTF-8' } shadowJar { 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) { dependsOn shadowJar from layout.buildDirectory.file("libs/${project.name}-${project.version}.jar") into ".builds" } build.finalizedBy copyJar tasks { runServer { downloadPlugins { 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() }