mirror of
https://github.com/ViaVersion/ViaNBT.git
synced 2024-09-29 04:07:31 +02:00
Updates
This commit is contained in:
parent
fe23c55d9f
commit
13ee7511fd
@ -9,20 +9,8 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import ch.spacebase.opennbt.stream.NBTOutputStream;
|
||||
import ch.spacebase.opennbt.tag.ByteArrayTag;
|
||||
import ch.spacebase.opennbt.tag.ByteTag;
|
||||
import ch.spacebase.opennbt.tag.CompoundTag;
|
||||
import ch.spacebase.opennbt.tag.DoubleTag;
|
||||
import ch.spacebase.opennbt.tag.EndTag;
|
||||
import ch.spacebase.opennbt.tag.FloatTag;
|
||||
import ch.spacebase.opennbt.tag.IntArrayTag;
|
||||
import ch.spacebase.opennbt.tag.IntTag;
|
||||
import ch.spacebase.opennbt.tag.ListTag;
|
||||
import ch.spacebase.opennbt.tag.LongTag;
|
||||
import ch.spacebase.opennbt.tag.ShortTag;
|
||||
import ch.spacebase.opennbt.tag.StringTag;
|
||||
import ch.spacebase.opennbt.tag.Tag;
|
||||
|
||||
import ch.spacebase.opennbt.tag.*;
|
||||
import ch.spacebase.opennbt.tag.custom.*;
|
||||
|
||||
public class TagBuilder {
|
||||
|
||||
@ -57,6 +45,11 @@ public class TagBuilder {
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagBuilder append(String name, double d[]) {
|
||||
this.tags.add(new DoubleArrayTag(name, d));
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagBuilder append(EndTag tag) {
|
||||
this.tags.add(tag);
|
||||
return this;
|
||||
@ -67,6 +60,11 @@ public class TagBuilder {
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagBuilder append(String name, float f[]) {
|
||||
this.tags.add(new FloatArrayTag(name, f));
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagBuilder append(String name, int i[]) {
|
||||
this.tags.add(new IntArrayTag(name, i));
|
||||
return this;
|
||||
@ -87,16 +85,41 @@ public class TagBuilder {
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagBuilder append(String name, long l[]) {
|
||||
this.tags.add(new LongArrayTag(name, l));
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagBuilder append(String name, short s) {
|
||||
this.tags.add(new ShortTag(name, s));
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagBuilder append(String name, short s[]) {
|
||||
this.tags.add(new ShortArrayTag(name, s));
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagBuilder append(String name, String s) {
|
||||
this.tags.add(new StringTag(name, s));
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagBuilder append(String name, String s[]) {
|
||||
this.tags.add(new StringArrayTag(name, s));
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagBuilder append(String name, Object o) {
|
||||
this.tags.add(new ObjectTag(name, o));
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagBuilder append(String name, Object o[]) {
|
||||
this.tags.add(new ObjectArrayTag(name, o));
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagBuilder append(TagBuilder builder) {
|
||||
this.tags.add(builder.toCompoundTag());
|
||||
return this;
|
||||
|
@ -242,7 +242,7 @@ public final class NBTOutputStream implements Closeable {
|
||||
* @throws IOException if an I/O error occurs.
|
||||
*/
|
||||
private void writeStringTagPayload(StringTag tag) throws IOException {
|
||||
byte[] bytes = tag.getValue().getBytes(NBTConstants.CHARSET);
|
||||
byte[] bytes = tag.getValue() != null ? tag.getValue().getBytes(NBTConstants.CHARSET) : new byte[0];
|
||||
os.writeShort(bytes.length);
|
||||
os.write(bytes);
|
||||
}
|
||||
|
@ -35,7 +35,6 @@ package ch.spacebase.opennbt.tag;
|
||||
*/
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
@ -67,12 +66,12 @@ public final class CompoundTag extends Tag {
|
||||
*/
|
||||
public CompoundTag(String name, Map<String, Tag> value) {
|
||||
super(name);
|
||||
this.value = Collections.unmodifiableMap(value);
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Tag> getValue() {
|
||||
return value;
|
||||
return new HashMap<String, Tag>(value);
|
||||
}
|
||||
|
||||
public Tag get(String tagName) {
|
||||
@ -99,6 +98,10 @@ public final class CompoundTag extends Tag {
|
||||
return this.value.size();
|
||||
}
|
||||
|
||||
public void clear() {
|
||||
this.value.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
String name = getName();
|
||||
|
Loading…
Reference in New Issue
Block a user