Finish implementing - and testing SNBT
This commit is contained in:
parent
a0f372693b
commit
dfd536ae1c
10 changed files with 57 additions and 3 deletions
|
@ -56,6 +56,8 @@ class ByteArrayTag extends Tag {
|
|||
@override
|
||||
void readStringifiedValue(StringReader reader) {
|
||||
reader.expect("[");
|
||||
reader.expect("B");
|
||||
reader.expect(";");
|
||||
while (reader.peek() != "]") {
|
||||
value.add(int.parse(reader.readNumber()));
|
||||
reader.expect("b");
|
||||
|
|
|
@ -198,6 +198,8 @@ class CompoundTag extends Tag implements Map<String, Tag> {
|
|||
while (reader.peek() != "}") {
|
||||
Tag tag = Tag.readStringifiedNamedTag(reader);
|
||||
put(tag.getKey(), tag);
|
||||
|
||||
if (reader.peek() == ",") reader.next();
|
||||
}
|
||||
|
||||
reader.expect("}");
|
||||
|
|
|
@ -55,6 +55,8 @@ class IntArrayTag extends Tag {
|
|||
@override
|
||||
void readStringifiedValue(StringReader reader) {
|
||||
reader.expect("[");
|
||||
reader.expect("I");
|
||||
reader.expect(";");
|
||||
while (reader.peek() != "]") {
|
||||
value.add(int.parse(reader.readNumber()));
|
||||
|
||||
|
|
|
@ -43,5 +43,11 @@ class IntTag extends Tag {
|
|||
void readStringifiedValue(StringReader reader) {
|
||||
String val = reader.readNumber();
|
||||
value = int.parse(val);
|
||||
|
||||
// Since a type indicator is optional for a int, check for a comma
|
||||
if (reader.peek() == ",")
|
||||
return;
|
||||
else
|
||||
reader.expect("i");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -108,7 +108,10 @@ class ListTag extends Tag {
|
|||
void readStringifiedValue(StringReader reader) {
|
||||
reader.expect("[");
|
||||
while (reader.peek() != "]") {
|
||||
value.add(Tag.readStringifiedNamedTag(reader));
|
||||
TagType type = TagType.getStringifiedTagType(reader);
|
||||
Tag newTag = Tag.makeTagOfType(type);
|
||||
newTag.readStringifiedValue(reader);
|
||||
add(newTag);
|
||||
|
||||
if (reader.peek() == ",") reader.next();
|
||||
}
|
||||
|
|
|
@ -59,6 +59,8 @@ class LongArrayTag extends Tag {
|
|||
@override
|
||||
void readStringifiedValue(StringReader reader) {
|
||||
reader.expect("[");
|
||||
reader.expect("L");
|
||||
reader.expect(";");
|
||||
while (reader.peek() != "]") {
|
||||
value.add(int.parse(reader.readNumber()));
|
||||
reader.expect("l");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue