diff --git a/WebsiteBackend/build.gradle.kts b/WebsiteBackend/build.gradle.kts index f93dacde..d58a5142 100644 --- a/WebsiteBackend/build.gradle.kts +++ b/WebsiteBackend/build.gradle.kts @@ -53,5 +53,5 @@ dependencies { implementation(libs.yamlconfig) implementation(libs.kotlinxSerializationCbor) implementation(libs.ktorRateLimit) - implementation(libs.knbt) + implementation(libs.nbt) } \ No newline at end of file diff --git a/WebsiteBackend/src/de/steamwar/routes/Schematic.kt b/WebsiteBackend/src/de/steamwar/routes/Schematic.kt index e40b5287..c4d76f80 100644 --- a/WebsiteBackend/src/de/steamwar/routes/Schematic.kt +++ b/WebsiteBackend/src/de/steamwar/routes/Schematic.kt @@ -27,16 +27,16 @@ import de.steamwar.sql.NodeDownload import de.steamwar.sql.NodeMember import de.steamwar.sql.SWException import de.steamwar.sql.SchematicNode +import dev.dewy.nbt.Nbt +import dev.dewy.nbt.tags.collection.CompoundTag import io.ktor.http.* import io.ktor.server.application.* import io.ktor.server.auth.* import io.ktor.server.request.* import io.ktor.server.response.* import io.ktor.server.routing.* -import kotlinx.coroutines.launch import kotlinx.serialization.Serializable import kotlinx.serialization.decodeFromByteArray -import net.benwoodworth.knbt.* import java.security.MessageDigest import java.time.Duration import java.time.Instant @@ -75,10 +75,7 @@ data class SchematicCode(val id: Int, val code: String, val expires: Long) @Serializable data class UploadSchematic(val name: String, val content: String) -val nbt = Nbt { - variant = NbtVariant.Java - compression = NbtCompression.Gzip -} +val nbt = Nbt() fun Route.configureSchematic() { route("/download/{code}") { @@ -129,14 +126,14 @@ fun Route.configureSchematic() { try { val content = Base64.getDecoder().decode(file.content) - var schem = nbt.decodeFromByteArray(content) + var schem = nbt.fromByteArray(content) - if (schem.size == 1) schem = schem[schem.keys.first()] as NbtCompound + if (schem.size() == 1) schem = schem.first() as CompoundTag val version = schem.let { - if (it.containsKey("Materials")) + if (it.contains("Materials")) return@let SchematicFormat.MCEDIT - else if (it.containsKey("Blocks")) + else if (it.contains("Blocks")) return@let SchematicFormat.SPONGE_V3 else return@let SchematicFormat.SPONGE_V2 diff --git a/settings.gradle.kts b/settings.gradle.kts index 423e814e..8f3fcdcb 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -165,7 +165,6 @@ dependencyResolutionManagement { library("kotlinxSerializationCbor", "org.jetbrains.kotlinx:kotlinx-serialization-cbor:1.4.1") library("ktorRateLimit", "io.ktor:ktor-server-rate-limit:$ktorVersion") - library("knbt", "net.benwoodworth.knbt:knbt:0.11.7") library("nbt", "dev.dewy:nbt:1.5.1") } }