diff --git a/tweed5-minecraft/networking/src/main/java/de/siphalor/tweed5/minecraft/networking/api/ByteBufReader.java b/tweed5-minecraft/networking/src/main/java/de/siphalor/tweed5/minecraft/networking/api/ByteBufReader.java index 6498d28..9f17792 100644 --- a/tweed5-minecraft/networking/src/main/java/de/siphalor/tweed5/minecraft/networking/api/ByteBufReader.java +++ b/tweed5-minecraft/networking/src/main/java/de/siphalor/tweed5/minecraft/networking/api/ByteBufReader.java @@ -132,7 +132,7 @@ public class ByteBufReader implements TweedDataReader { if (specialEmbedType == ByteBufSerdeConstants.UINT6_TYPE) { return wrapTokenForContext(new ByteToken((byte) (b & ByteBufSerdeConstants.SPECIAL_EMBED_VALUE_MASK))); } else if (specialEmbedType == ByteBufSerdeConstants.SMALL_STRING_TYPE) { - int length = (b & ByteBufSerdeConstants.VALUE_MASK) + 1; + int length = (b & ByteBufSerdeConstants.SPECIAL_EMBED_VALUE_MASK) + 1; ByteBuf byteBuf = buf.readBytes(length); return wrapTokenForContext(new StringToken(byteBuf.toString(StandardCharsets.UTF_8))); } diff --git a/tweed5-minecraft/networking/src/test/java/de/siphalor/tweed5/minecraft/network/api/ByteBufReaderWriterTest.java b/tweed5-minecraft/networking/src/test/java/de/siphalor/tweed5/minecraft/network/api/ByteBufReaderWriterTest.java index 7562669..36573ac 100644 --- a/tweed5-minecraft/networking/src/test/java/de/siphalor/tweed5/minecraft/network/api/ByteBufReaderWriterTest.java +++ b/tweed5-minecraft/networking/src/test/java/de/siphalor/tweed5/minecraft/network/api/ByteBufReaderWriterTest.java @@ -31,7 +31,7 @@ public class ByteBufReaderWriterTest { writer.visitMapStart(); writer.visitMapEntryKey("first"); writer.visitNull(); - writer.visitMapEntryKey("bytes"); + writer.visitMapEntryKey("kind-of a_weird/key!"); writer.visitListStart(); writer.visitByte((byte) 12); writer.visitByte((byte) -12); @@ -58,7 +58,7 @@ public class ByteBufReaderWriterTest { assertThat(reader.readToken()).extracting(TweedDataToken::isMapStart).isEqualTo(true); assertNextMapKey(reader.readToken(), "first"); assertThat(reader.readToken()).extracting(TweedDataToken::isNull).isEqualTo(true); - assertNextMapKey(reader.readToken(), "bytes"); + assertNextMapKey(reader.readToken(), "kind-of a_weird/key!"); assertThat(reader.readToken()).extracting(TweedDataToken::isListStart).isEqualTo(true); assertByteToken(reader.readToken(), (byte) 12); assertByteToken(reader.readToken(), (byte) -12);