3
0
Mirror von https://github.com/IntellectualSites/FastAsyncWorldEdit.git synchronisiert 2024-11-19 17:30:08 +01:00

fix: remove usages of old nbt types

Dieser Commit ist enthalten in:
Pierre Maurice Schwang 2024-06-26 23:04:32 +02:00
Ursprung 5aae0c8494
Commit 7e6df48829
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 37E613079F3E5BB9
2 geänderte Dateien mit 13 neuen und 9 gelöschten Zeilen

Datei anzeigen

@ -23,7 +23,6 @@ import com.sk89q.worldedit.internal.util.LogManagerCompat;
import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.util.Location; import com.sk89q.worldedit.util.Location;
import com.sk89q.worldedit.util.concurrency.LazyReference; import com.sk89q.worldedit.util.concurrency.LazyReference;
import com.sk89q.worldedit.util.nbt.CompoundBinaryTag;
import com.sk89q.worldedit.world.DataFixer; import com.sk89q.worldedit.world.DataFixer;
import com.sk89q.worldedit.world.biome.BiomeType; import com.sk89q.worldedit.world.biome.BiomeType;
import com.sk89q.worldedit.world.biome.BiomeTypes; import com.sk89q.worldedit.world.biome.BiomeTypes;
@ -38,6 +37,7 @@ import net.jpountz.lz4.LZ4BlockOutputStream;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.nullness.qual.Nullable;
import org.enginehub.linbus.tree.LinCompoundTag;
import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.ApiStatus;
import java.io.BufferedInputStream; import java.io.BufferedInputStream;
@ -50,6 +50,7 @@ import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.util.HashSet; import java.util.HashSet;
import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.OptionalInt; import java.util.OptionalInt;
import java.util.Set; import java.util.Set;
@ -62,6 +63,7 @@ import java.util.zip.GZIPInputStream;
* ClipboardReader for the Sponge Schematic Format v3. * ClipboardReader for the Sponge Schematic Format v3.
* Not necessarily much faster than {@link com.sk89q.worldedit.extent.clipboard.io.sponge.SpongeSchematicV3Reader}, but uses a * Not necessarily much faster than {@link com.sk89q.worldedit.extent.clipboard.io.sponge.SpongeSchematicV3Reader}, but uses a
* stream based approach to keep the memory overhead minimal (especially in larger schematics) * stream based approach to keep the memory overhead minimal (especially in larger schematics)
*
* @since TODO * @since TODO
*/ */
@SuppressWarnings("removal") // JNBT @SuppressWarnings("removal") // JNBT
@ -385,11 +387,11 @@ public class FastSchematicReaderV3 implements ClipboardReader {
private void readEntityContainers( private void readEntityContainers(
DataInputStream stream, DataInputStream stream,
NBTInputStream nbtStream, NBTInputStream nbtStream,
DataFixer.FixType<CompoundBinaryTag> fixType, DataFixer.FixType<LinCompoundTag> fixType,
EntityTransformer transformer EntityTransformer transformer
) throws IOException { ) throws IOException {
double x, y, z; double x, y, z;
CompoundBinaryTag tag; LinCompoundTag tag;
String id; String id;
byte type; byte type;
int count = stream.readInt(); int count = stream.readInt();
@ -433,8 +435,10 @@ public class FastSchematicReaderV3 implements ClipboardReader {
if (!stream.readUTF().equals("Data")) { if (!stream.readUTF().equals("Data")) {
throw new IOException("Expected COMPOUND tag to be Data"); throw new IOException("Expected COMPOUND tag to be Data");
} }
//noinspection deprecation if (!(nbtStream.readTagPayload(NBTConstants.TYPE_COMPOUND, 0).toLinTag() instanceof LinCompoundTag lin)) {
tag = ((CompoundTag) nbtStream.readTagPayload(NBTConstants.TYPE_COMPOUND, 0)).asBinaryTag(); throw new IOException("Data tag could not be read into LinCompoundTag");
}
tag = lin;
} }
default -> throw new IOException("Unexpected tag in compound: " + type); default -> throw new IOException("Unexpected tag in compound: " + type);
} }
@ -446,7 +450,7 @@ public class FastSchematicReaderV3 implements ClipboardReader {
throw new IOException("Missing position for entity " + id); throw new IOException("Missing position for entity " + id);
} }
if (tag == null) { if (tag == null) {
transformer.transform(x, y, z, id, CompoundBinaryTag.empty()); transformer.transform(x, y, z, id, LinCompoundTag.of(Map.of()));
continue; continue;
} }
tag = this.dataFixer.fixUp(fixType, tag); tag = this.dataFixer.fixUp(fixType, tag);
@ -771,7 +775,7 @@ public class FastSchematicReaderV3 implements ClipboardReader {
* @param id the entity id as a resource location (e.g. {@code minecraft:sheep}). * @param id the entity id as a resource location (e.g. {@code minecraft:sheep}).
* @param tag the - already fixed, if required - nbt data of the entity. * @param tag the - already fixed, if required - nbt data of the entity.
*/ */
void transform(double x, double y, double z, String id, CompoundBinaryTag tag); void transform(double x, double y, double z, String id, LinCompoundTag tag);
} }

Datei anzeigen

@ -14,13 +14,13 @@ import com.sk89q.worldedit.extent.clipboard.Clipboard;
import com.sk89q.worldedit.extent.clipboard.io.ClipboardWriter; import com.sk89q.worldedit.extent.clipboard.io.ClipboardWriter;
import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.regions.Region; import com.sk89q.worldedit.regions.Region;
import com.sk89q.worldedit.util.nbt.CompoundBinaryTag;
import com.sk89q.worldedit.world.biome.BiomeType; import com.sk89q.worldedit.world.biome.BiomeType;
import com.sk89q.worldedit.world.block.BaseBlock; import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockStateHolder; import com.sk89q.worldedit.world.block.BlockStateHolder;
import com.sk89q.worldedit.world.block.BlockTypesCache; import com.sk89q.worldedit.world.block.BlockTypesCache;
import net.jpountz.lz4.LZ4BlockInputStream; import net.jpountz.lz4.LZ4BlockInputStream;
import net.jpountz.lz4.LZ4BlockOutputStream; import net.jpountz.lz4.LZ4BlockOutputStream;
import org.enginehub.linbus.tree.LinCompoundTag;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
@ -119,7 +119,7 @@ public class FastSchematicWriterV3 implements ClipboardWriter {
BlockTypesCache.states.length, BlockTypesCache.states.length,
pos -> { pos -> {
BaseBlock block = pos.getFullBlock(clipboard); BaseBlock block = pos.getFullBlock(clipboard);
CompoundBinaryTag tag; LinCompoundTag tag;
if ((tag = block.getNbt()) != null) { if ((tag = block.getNbt()) != null) {
tiles[0]++; tiles[0]++;
try { try {