import de.nilsdruyen.gradle.ftp.UploadExtension plugins { kotlin("jvm") version "2.1.20-Beta1" id("com.gradleup.shadow") version "8.3.5" id("io.papermc.paperweight.userdev") version "2.0.0-beta.11" id("de.nilsdruyen.gradle-ftp-upload-plugin") version "0.5.0" } group = "com.pobnellion" version = "1.0-SNAPSHOT" repositories { mavenCentral() maven("https://repo.papermc.io/repository/maven-public/") { name = "papermc-repo" } maven("https://oss.sonatype.org/content/groups/public/") { name = "sonatype" } maven("https://repo.dmulloy2.net/repository/public/") { name = "dmulloy2-repo" } maven("https://maven.enginehub.org/repo/") { name = "enginehub" } } dependencies { // compileOnly("io.papermc.paper:paper-api:1.21.3-R0.1-SNAPSHOT") // compileOnly("com.comphenix.protocol:ProtocolLib:5.3.0") compileOnly("com.fastasyncworldedit:FastAsyncWorldEdit-Bukkit") compileOnly(files("libs/ProtocolLib.jar")) implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") implementation(platform("com.intellectualsites.bom:bom-newest:1.51")) // Ref: https://github.com/IntellectualSites/bom paperweight.paperDevBundle("1.21.4-R0.1-SNAPSHOT") } val targetJavaVersion = 21 kotlin { jvmToolchain(targetJavaVersion) } tasks.build { dependsOn("shadowJar") } tasks.processResources { val props = mapOf("version" to version) inputs.properties(props) filteringCharset = "UTF-8" filesMatching("plugin.yml") { expand(props) } } tasks.jar { manifest { attributes["paperweight-mappings-namespace"] = "mojang" } } tasks.shadowJar { manifest { attributes["paperweight-mappings-namespace"] = "mojang" } } configure { host = properties.getOrDefault("ftp.host", "").toString() port = properties.getOrDefault("ftp.port", 22).toString().toInt() username = properties.getOrDefault("ftp.username", "").toString() password = properties.getOrDefault("ftp.password", "").toString() sourceDir = "${layout.buildDirectory.get()}/libs" targetDir = "/plugins/" clearDirectoryBeforeUpload = false } tasks.uploadFilesToFtp { dependsOn("shadowJar") }