mirror of
https://github.com/plexusorg/Plex-FAWE.git
synced 2024-12-23 01:37:37 +00:00
Make end tag singleton
This commit is contained in:
parent
8d68191b2c
commit
13d2ae20d5
@ -399,7 +399,7 @@ public final class Spigot_v1_13_R1 implements BukkitImplAdapter<NBTBase> {
|
||||
} else if (foreign instanceof NBTTagString) {
|
||||
return new StringTag(foreign.b_()); // data
|
||||
} else if (foreign instanceof NBTTagEnd) {
|
||||
return new EndTag();
|
||||
return EndTag.INSTANCE;
|
||||
} else {
|
||||
throw new IllegalArgumentException("Don't know how to make native " + foreign.getClass().getCanonicalName());
|
||||
}
|
||||
|
@ -174,7 +174,7 @@ public class FaweCache {
|
||||
if (clazz.getName().startsWith("com.intellectualcrafters.jnbt")) {
|
||||
try {
|
||||
if (clazz.getName().equals("com.intellectualcrafters.jnbt.EndTag")) {
|
||||
return new EndTag();
|
||||
return EndTag.INSTANCE;
|
||||
}
|
||||
Field field = clazz.getDeclaredField("value");
|
||||
field.setAccessible(true);
|
||||
|
@ -6,18 +6,24 @@ import com.boydti.fawe.object.exception.FaweException;
|
||||
import com.sk89q.jnbt.NBTInputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.Function;
|
||||
|
||||
public class NBTStreamer {
|
||||
private final NBTInputStream is;
|
||||
private final HashMap<String, BiConsumer> readers;
|
||||
private final Map<String, BiConsumer> readers;
|
||||
|
||||
public NBTStreamer(NBTInputStream stream) {
|
||||
this.is = stream;
|
||||
readers = new HashMap<>();
|
||||
}
|
||||
|
||||
public NBTStreamer(NBTInputStream stream, Map<String, BiConsumer> readers) {
|
||||
this.is = stream;
|
||||
this.readers = readers;
|
||||
}
|
||||
|
||||
/**
|
||||
* Reads the entire stream and runs the applicable readers
|
||||
*
|
||||
|
@ -23,6 +23,9 @@ package com.sk89q.jnbt;
|
||||
* The {@code TAG_End} tag.
|
||||
*/
|
||||
public final class EndTag extends Tag {
|
||||
public static final EndTag INSTANCE = new EndTag();
|
||||
|
||||
private EndTag() {}
|
||||
|
||||
@Override
|
||||
public Object getValue() {
|
||||
|
@ -526,7 +526,7 @@ public final class NBTInputStream implements Closeable {
|
||||
throw new IOException(
|
||||
"TAG_End found without a TAG_Compound/TAG_List tag preceding it.");
|
||||
} else {
|
||||
return new EndTag();
|
||||
return EndTag.INSTANCE;
|
||||
}
|
||||
case NBTConstants.TYPE_BYTE:
|
||||
return new ByteTag(is.readByte());
|
||||
|
@ -217,7 +217,7 @@ final class NBTConverter {
|
||||
}
|
||||
|
||||
public static EndTag fromNative(NBTTagEnd other) {
|
||||
return new EndTag();
|
||||
return EndTag.INSTANCE;
|
||||
}
|
||||
|
||||
public static LongTag fromNative(NBTTagLong other) {
|
||||
|
Loading…
Reference in New Issue
Block a user