plugins { alias(libs.plugins.paperweight) alias(libs.plugins.runPaper) alias(libs.plugins.shadow) `paper-plugin` } dependencies { paperweight.paperDevBundle(libs.versions.paper) implementation(libs.vital.paper) { exclude("org.yaml") } compileOnly(libs.placeholderapi) compileOnly(libs.oraxen) compileOnly(libs.vault) compileOnly(fileTree("libs").include("*.jar")) } paperweight { reobfArtifactConfiguration = io.papermc.paperweight.userdev.ReobfArtifactConfiguration.MOJANG_PRODUCTION } tasks { runServer { jvmArgs("-Dnet.kyori.ansi.colorLevel=truecolor") defaultCharacterEncoding = Charsets.UTF_8.name() minecraftVersion(libs.versions.minecraft.get()) } assemble { dependsOn(shadowJar) doLast { copy { from(shadowJar.get()) into(rootProject.projectDir.resolve("jars")) } } } shadowJar { archiveBaseName.set(rootProject.name) archiveClassifier.set("") listOf( "com.ryderbelserion" ).forEach { relocate(it, "libs.$it") } } processResources { inputs.properties("name" to rootProject.name) inputs.properties("version" to project.version) inputs.properties("group" to project.group) inputs.properties("apiVersion" to libs.versions.minecraft.get()) inputs.properties("description" to project.properties["description"]) inputs.properties("authors" to project.properties["authors"]) inputs.properties("website" to project.properties["website"]) filesMatching("plugin.yml") { expand(inputs.properties) } } }