plugins { alias(libs.plugins.paperweight) alias(libs.plugins.shadowJar) alias(libs.plugins.runPaper) `paper-plugin` } base { archivesName.set(rootProject.name) } dependencies { paperweight.paperDevBundle(libs.versions.paper) compileOnly(libs.placeholderapi) compileOnly(libs.oraxen) compileOnly(libs.vault) compileOnly(fileTree("libs").include("*.jar")) } paperweight { reobfArtifactConfiguration = io.papermc.paperweight.userdev.ReobfArtifactConfiguration.REOBF_PRODUCTION } val component: SoftwareComponent = components["java"] tasks { publishing { repositories { maven { url = uri("https://repo.crazycrew.us/releases") credentials { this.username = System.getenv("gradle_username") this.password = System.getenv("gradle_password") } } } publications { create("maven") { groupId = rootProject.group.toString() artifactId = "${rootProject.name.lowercase()}-paper-api" version = rootProject.version.toString() from(component) } } } runServer { jvmArgs("-Dnet.kyori.ansi.colorLevel=truecolor") defaultCharacterEncoding = Charsets.UTF_8.name() downloadPlugins { url("https://github.com/EssentialsX/Essentials/releases/download/2.20.1/EssentialsX-2.20.1.jar") url("https://ci.lucko.me/job/TinyVault/lastSuccessfulBuild/artifact/build/libs/Vault.jar") url("https://download.luckperms.net/1544/bukkit/loader/LuckPerms-Bukkit-5.4.131.jar") } minecraftVersion(libs.versions.minecraft.get()) } assemble { dependsOn(reobfJar) doLast { copy { from(reobfJar.get()) into(rootProject.projectDir.resolve("jars")) } } } shadowJar { archiveBaseName.set(rootProject.name) archiveClassifier.set("") } processResources { inputs.properties("name" to rootProject.name) inputs.properties("version" to project.version) inputs.properties("group" to project.group) inputs.properties("description" to project.properties["description"]) inputs.properties("apiVersion" to libs.versions.minecraft.get()) inputs.properties("authors" to project.properties["authors"]) inputs.properties("website" to project.properties["website"]) filesMatching("plugin.yml") { expand(inputs.properties) } } }