plugins { id 'fabric-loom' version '1.6-SNAPSHOT' } apply plugin: 'fabric-loom' loom.serverOnlyMinecraftJar() repositories { maven { url 'https://s01.oss.sonatype.org/content/repositories/snapshots/' } maven { url 'https://maven.nucleoid.xyz' } } dependencies { minecraft "com.mojang:minecraft:${fabric_minecraft_version}" mappings "net.fabricmc:yarn:${fabric_yarn_mappings}:v2" modImplementation "net.fabricmc:fabric-loader:${fabric_loader_version}" modImplementation include("net.kyori:adventure-platform-fabric:${adventure_platform_fabric_version}") modImplementation include("me.lucko:fabric-permissions-api:${fabric_permissions_api_version}") modImplementation include("eu.pb4:sgui:${sgui_version}") modCompileOnly "net.fabricmc.fabric-api:fabric-api:${fabric_api_version}" // Runtime dependencies on Bukkit; "include" them on Fabric. (todo: minify JAR?) implementation include('org.apache.commons:commons-pool2:2.12.0') implementation include("redis.clients:jedis:$jedis_version") implementation include("com.mysql:mysql-connector-j:$mysql_driver_version") implementation include("org.mariadb.jdbc:mariadb-java-client:$mariadb_driver_version") implementation include("org.xerial.snappy:snappy-java:$snappy_version") compileOnly 'org.jetbrains:annotations:24.1.0' compileOnly 'net.william278:DesertWell:2.0.4' compileOnly 'org.projectlombok:lombok:1.18.32' annotationProcessor 'org.projectlombok:lombok:1.18.32' shadow project(path: ":common") } shadowJar { configurations = [project.configurations.shadow] destinationDirectory.set(file("$projectDir/build/libs")) exclude('net.fabricmc:.*') exclude('net.kyori:.*') exclude '/mappings/*' relocate 'org.apache.commons.io', 'net.william278.husksync.libraries.commons.io' relocate 'org.apache.commons.text', 'net.william278.husksync.libraries.commons.text' relocate 'org.apache.commons.lang3', 'net.william278.husksync.libraries.commons.lang3' relocate 'com.google.gson', 'net.william278.husksync.libraries.gson' relocate 'com.fatboyindustrial', 'net.william278.husksync.libraries' relocate 'de.themoep', 'net.william278.husksync.libraries' relocate 'org.jetbrains', 'net.william278.husksync.libraries' relocate 'org.intellij', 'net.william278.husksync.libraries' relocate 'com.zaxxer', 'net.william278.husksync.libraries' relocate 'de.exlll', 'net.william278.husksync.libraries' relocate 'net.william278.desertwell', 'net.william278.husksync.libraries.desertwell' relocate 'net.william278.paginedown', 'net.william278.husksync.libraries.paginedown' relocate 'org.json', 'net.william278.husksync.libraries.json' } remapJar { dependsOn tasks.shadowJar mustRunAfter tasks.shadowJar inputFile = shadowJar.archiveFile.get() addNestedDependencies = true destinationDirectory.set(file("$rootDir/target/")) archiveClassifier.set('') } shadowJar.finalizedBy(remapJar)