mirror of
https://github.com/WiIIiam278/HuskSync.git
synced 2025-12-19 14:59:21 +00:00
* Upgrade the Fabric version and rewrite the code. * Migrate the completed code of version 1.19.2. * fabric: some events. * Updated open source license to Apache 2.0. * Add Plan analyzer support. * Fix build. * `UnsupportedOperationException` * More fabric implementation work, update to v3's structure * Suppress compiler warnings * Add commands, adjust registration order * Inventory and ender chest data/serializers * Update license headers * Fixup shaded library relocations * Fix build * Potion effects & location serializers * Catch `Files.createDirectory(path);` in `#getDataFolder` * Update fabric.mod.json metadata, correct icon * Events for Fabric (#218) * Added apache commons pool2 dependency A NoClassDefFoundError would get thrown without this dependency. Relocation appears to not work very well either, so it has been excluded for now * Added in Item Pickup and Drop events and mixins * Update husksync.mixins.json * Switch drop item event to using Network Handler mixin * Implemented even more events - Interact block (place too) - Interact Entity - Use Item - Block Break - Player damage - Inventory Click (handles drops) - Player Commands * Re-implement the dropItem mixin * Set dropItem mixin as cancellable * deps: Include all bukkit runtime deps * fix/fabric: Supply AudienceProvider to `ConsoleUser` constructor * docs: credit Fabric porters :) * fix: Item deserialization now working * refactor: Remove inventory debug log * docs: Update `fabric.mod.json` * refactor: update with upstream changes * fix: dangling JD comment * fix: config file reference fixes * refactor: optimize imports, fix relocation * refactor: move tag references to common * refactor: use lombok for data / serializer methods * fix: bad annotating * refactor: adjust callback formatting * fabric: bump deps, refactor to match main branch * fabric: more serializer type work * feat: register more fabric data serializers also fixes a compile issue on bukkit, and refactors the JSON serializer to be in the common module * feat: implement remaining Fabric serializers * feat: add on-the-fly DFU for Fabric Now auto-upgrades item data to support version bumps. Also improved the schema a lil' bit. * feat: add missing mixins * feat: implement toKeep/toDrop option on Fabric * feat: apply stats on sync * build: append fabric MC version to file name * feat: add HuskSync API support for Fabric Also updates the docs * refactor: fixup a deprecation in the wrong spot * refactor: optimize fabric item serializing in-line with Bukkit * feat: implement viewer GUIs on Fabric * docs: Fabric is in Alpha for now --------- Co-authored-by: hanbings <hanbings@hanbings.io> Co-authored-by: Stampede <carterblowers01@gmail.com>
71 lines
2.9 KiB
Groovy
71 lines
2.9 KiB
Groovy
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("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.0.1'
|
|
compileOnly 'net.william278:DesertWell:2.0.4'
|
|
compileOnly 'org.projectlombok:lombok:1.18.30'
|
|
|
|
annotationProcessor 'org.projectlombok:lombok:1.18.30'
|
|
|
|
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) |