geforkt von Mirrors/FastAsyncWorldEdit
3f0b9a2a92
* Get rid of FastSchematicReader/Writer and document changed JNBT classes This commit includes changes from upstream to the schematic classes (`com.sk89q.worldedit.extent.clipboard.io`). It also documents the JNBT classes, specifying what has been changed in FAWE. This was done in preparation for the upcoming move to adventure-nbt. The PlotSquared schematic handler classes will now use SpongeSchematicReader/Writer rather than FastSchematicReader/Writer. This is yet untested and the entire branch is a W.I.P. * Fix JNBT mutability misuse in FAWE FAWE previously had mutable compound and list tags. The previous commit changed that, and this commit will fix misuse of the tag API. I've tried to identify the places where mutability was assumed, but I might have missed something. This needs quite extensive testing. This is yet another change which increases upstream compatibility in FAWE. * Fix FAWE_Spigot_<..>#getEntity * Fix JNBT usage in the AsyncBlockState code * Readd FastSchematicReader/Writer and add a new schematic format (`FAST`) * Update dead repository * Implement missing AsyncChunk#getTileEntities * handle entities properly and add "brokenentity" format * Fix fast schematic reader lazily reading means it's read in order of appearance in the inputstream so we need to read schematic version first (skip past everything) and then reset the stream * Fix p2 FAWE * Go back to fast schematics in P2/CompressedSchematicTag (#819) * Fix compile Co-authored-by: N0tMyFaultOG <mc.cache@web.de> Co-authored-by: Alexander Söderberg <Sauilitired@users.noreply.github.com> Co-authored-by: dordsor21 <dordsor21@gmail.com> Co-authored-by: Aurora <aurora@relanet.eu>
130 Zeilen
5.3 KiB
Plaintext
130 Zeilen
5.3 KiB
Plaintext
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
|
|
|
plugins {
|
|
`java-library`
|
|
}
|
|
|
|
applyPlatformAndCoreConfiguration()
|
|
applyShadowConfiguration()
|
|
|
|
repositories {
|
|
maven { url = uri("https://hub.spigotmc.org/nexus/content/groups/public") }
|
|
maven { url = uri("https://repo.codemc.org/repository/maven-public") }
|
|
maven { url = uri("https://papermc.io/repo/repository/maven-public/") }
|
|
maven { url = uri("https://maven.enginehub.org/repo/") }
|
|
maven { url = uri("https://ci.emc.gs/nexus/content/groups/aikar/") }
|
|
maven { url = uri("https://ci.athion.net/plugin/repository/tools/") }
|
|
maven {
|
|
this.name = "JitPack"
|
|
this.url = uri("https://jitpack.io")
|
|
}
|
|
maven { url = uri("https://repo.destroystokyo.com/repository/maven-public/") }
|
|
maven {
|
|
name = "ProtocolLib Repo"
|
|
url = uri("https://repo.dmulloy2.net/nexus/repository/public/")
|
|
}
|
|
maven { url = uri("https://repo.inventivetalent.org/content/groups/public/") }
|
|
flatDir {dir(File("src/main/resources"))}
|
|
}
|
|
|
|
configurations.all {
|
|
resolutionStrategy {
|
|
force("com.google.guava:guava:21.0")
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
compileOnly("com.github.MilkBowl:VaultAPI:1.7") {
|
|
isTransitive = false
|
|
}
|
|
"api"(project(":worldedit-core"))
|
|
"api"(project(":worldedit-libs:bukkit"))
|
|
"compile"(":worldedit-adapters:")
|
|
// Paper-patched NMS jars
|
|
"compile"("com.destroystokyo.paperv1_15_r1:paperv1_15_r1:1_15_r1")
|
|
"compile"("com.destroystokyo.paperv1_16_r1:paperv1_16_r1:1_16_r1")
|
|
"compile"("com.destroystokyo.paperv1_16_r2:paperv1_16_r2:1_16_r2")
|
|
"compile"("com.destroystokyo.paperv1_16_r3:paperv1_16_r3:1_16_r3")
|
|
"compile"("org.spigotmcv1_15_r1:spigotmcv1_15_r1:1_15_r1")
|
|
"compile"("org.spigotmcv1_16_r1:spigotmcv1_16_r1:1_16_r1")
|
|
"compile"("org.spigotmcv1_16_r2:spigotmcv1_16_r2:1_16_r2")
|
|
"compile"("org.spigotmcv1_16_r3:spigotmcv1_16_r3:1_16_r3")
|
|
"implementation"("it.unimi.dsi:fastutil:${Versions.FAST_UTIL}")
|
|
"api"("com.destroystokyo.paper:paper-api:1.16.4-R0.1-SNAPSHOT") {
|
|
exclude("junit", "junit")
|
|
isTransitive = false
|
|
}
|
|
"compileOnly"("org.jetbrains:annotations:20.1.0")
|
|
"testCompileOnly"("org.jetbrains:annotations:20.1.0")
|
|
"compileOnly"("org.spigotmc:spigot:1.16.4-R0.1-SNAPSHOT")
|
|
"implementation"("io.papermc:paperlib:1.0.6")
|
|
"compileOnly"("com.sk89q:dummypermscompat:1.10") {
|
|
exclude("com.github.MilkBowl", "VaultAPI")
|
|
}
|
|
"implementation"("org.apache.logging.log4j:log4j-slf4j-impl:2.8.1")
|
|
"testImplementation"("org.mockito:mockito-core:1.9.0-rc1")
|
|
"compileOnly"("com.sk89q.worldguard:worldguard-bukkit:7.+") {
|
|
exclude("com.sk89q.worldedit", "worldedit-bukkit")
|
|
exclude("com.sk89q.worldedit", "worldedit-core")
|
|
exclude("com.sk89q.worldedit.worldedit-libs", "bukkit")
|
|
exclude("com.sk89q.worldedit.worldedit-libs", "core")
|
|
}
|
|
"compile"("org.bstats:bstats-bukkit:1.8")
|
|
"compile"("com.intellectualsites.paster:Paster:1.0.1-SNAPSHOT")
|
|
// Third party
|
|
compileOnlyApi("org.inventivetalent:mapmanager:1.7.+") { isTransitive = false }
|
|
"implementation"("com.github.TechFortress:GriefPrevention:16.+") { isTransitive = false }
|
|
"implementation"("com.massivecraft:mcore:7.0.1") { isTransitive = false }
|
|
"implementation"("com.bekvon.bukkit.residence:Residence:4.5._13.1") { isTransitive = false }
|
|
"implementation"("com.palmergames.bukkit:towny:0.84.0.9") { isTransitive = false }
|
|
"implementation"("com.thevoxelbox.voxelsniper:voxelsniper:5.171.0") { isTransitive = false }
|
|
"implementation"("com.comphenix.protocol:ProtocolLib:4.5.1") { isTransitive = false }
|
|
}
|
|
|
|
tasks.named<Copy>("processResources") {
|
|
filesMatching("plugin.yml") {
|
|
expand("internalVersion" to project.ext["internalVersion"])
|
|
}
|
|
// exclude adapters entirely from this JAR, they should only be in the shadow JAR
|
|
exclude("**/worldedit-adapters.jar")
|
|
}
|
|
|
|
tasks.named<Jar>("jar") {
|
|
manifest {
|
|
attributes("Class-Path" to CLASSPATH,
|
|
"WorldEdit-Version" to project.version)
|
|
}
|
|
}
|
|
|
|
tasks.named<ShadowJar>("shadowJar") {
|
|
from(zipTree("src/main/resources/worldedit-adapters.jar").matching {
|
|
exclude("META-INF/")
|
|
})
|
|
dependencies {
|
|
relocate("org.slf4j", "com.sk89q.worldedit.slf4j")
|
|
relocate("org.apache.logging.slf4j", "com.sk89q.worldedit.log4jbridge")
|
|
relocate("org.antlr.v4", "com.sk89q.worldedit.antlr4")
|
|
include(dependency(":worldedit-core"))
|
|
include(dependency(":worldedit-libs:bukkit"))
|
|
include(dependency("org.slf4j:slf4j-api"))
|
|
include(dependency("org.apache.logging.log4j:log4j-slf4j-impl"))
|
|
include(dependency("org.antlr:antlr4-runtime"))
|
|
relocate("io.papermc.lib", "com.sk89q.worldedit.bukkit.paperlib") {
|
|
include(dependency("io.papermc:paperlib:1.0.6"))
|
|
}
|
|
relocate("it.unimi.dsi.fastutil", "com.sk89q.worldedit.bukkit.fastutil") {
|
|
include(dependency("it.unimi.dsi:fastutil"))
|
|
}
|
|
relocate("org.bstats", "com.boydti.metrics") {
|
|
include(dependency("org.bstats:bstats-bukkit:1.8"))
|
|
}
|
|
relocate("com.intellectualsites.paster", "com.boydti.fawe.paster") {
|
|
include(dependency("com.intellectualsites.paster:Paster:1.0.1-SNAPSHOT"))
|
|
}
|
|
}
|
|
}
|
|
|
|
tasks.named("assemble").configure {
|
|
dependsOn("shadowJar")
|
|
}
|