import org.gradle.jvm.toolchain.JavaLanguageVersion import org.gradle.api.file.DuplicatesStrategy plugins { id("com.gradleup.shadow") version "9.0.0-rc1" } java { toolchain { languageVersion.set(JavaLanguageVersion.of(25)) } } sourceSets { main { java.setSrcDirs(listOf("plugins/mmorpg/src/main/java")) resources.setSrcDirs(listOf("plugins/mmorpg/src/main/resources")) } } repositories { mavenCentral() } dependencies { implementation("org.xerial:sqlite-jdbc:3.47.2.0") implementation("com.google.code.gson:gson:2.11.0") implementation("at.favre.lib:bcrypt:0.10.2") } tasks.shadowJar { archiveClassifier.set("") mergeServiceFiles() duplicatesStrategy = DuplicatesStrategy.INCLUDE } tasks.jar { enabled = false } tasks.assemble { dependsOn(tasks.shadowJar) } tasks.build { dependsOn(tasks.shadowJar) } tasks.register("cleanDevModUiAssets") { delete("src/main/resources/Common") } tasks.register("cleanDevModAssetPack") { delete("devserver/mods/com.disklexar_MMORPG/Common") delete("devserver/mods/com.disklexar_MMORPG/manifest.json") } tasks.register("syncDevModAssetPack") { dependsOn("cleanDevModAssetPack") from("plugins/mmorpg/src/main/resources") { include("Common/**") include("manifest.json") } into("devserver/mods/com.disklexar_MMORPG") } tasks.register("syncDevModAssets") { dependsOn("generateManifest", "cleanDevModUiAssets", "syncDevModAssetPack") from("plugins/mmorpg/src/main/resources") { include("Server/**") include("Common/**") include("manifest.json") } into("src/main/resources") } tasks.named("runServer") { dependsOn("syncDevModAssets") } tasks.named("setupServer") { dependsOn("syncDevModAssets") } tasks.named("processResources") { finalizedBy("syncDevModAssets") }