mirror of
https://github.com/ViaVersion/mcstructs-viafier.git
synced 2025-01-06 18:47:45 +01:00
168 lines
8.3 KiB
Diff
168 lines
8.3 KiB
Diff
diff --git a/MCStructs-snbt/src/main/java/net/lenni0451/mcstructs/snbt/impl/v1_12/SNbtDeserializer_v1_12.java b/MCStructs-snbt/src/main/java/net/lenni0451/mcstructs/snbt/impl/v1_12/SNbtDeserializer_v1_12.java
|
|
index 851d33c..2a55603 100644
|
|
--- a/MCStructs-snbt/src/main/java/net/lenni0451/mcstructs/snbt/impl/v1_12/SNbtDeserializer_v1_12.java
|
|
+++ b/MCStructs-snbt/src/main/java/net/lenni0451/mcstructs/snbt/impl/v1_12/SNbtDeserializer_v1_12.java
|
|
@@ -95,10 +95,28 @@ public class SNbtDeserializer_v1_12 implements ISNbtDeserializer<CompoundTag> {
|
|
reader.read();
|
|
reader.skipWhitespaces();
|
|
if (!reader.canRead()) throw this.makeException(reader, "Expected value");
|
|
- else if (c == 'B') return new ByteArrayTag(this.readPrimitiveList(reader, ByteTag.class, ByteArrayTag.class));
|
|
- else if (c == 'L') return new LongArrayTag(this.readPrimitiveList(reader, LongTag.class, LongArrayTag.class));
|
|
- else if (c == 'I') return new IntArrayTag(this.readPrimitiveList(reader, IntTag.class, IntArrayTag.class));
|
|
- else throw new SNbtDeserializeException("Invalid array type '" + c + "' found");
|
|
+ else if (c == 'B') {
|
|
+ final ListTag<ByteTag> tags = this.readPrimitiveList(reader, ByteTag.class, ByteArrayTag.class);
|
|
+ final byte[] array = new byte[tags.size()];
|
|
+ for (int i = 0; i < tags.size(); i++) {
|
|
+ array[i] = tags.get(i).value();
|
|
+ }
|
|
+ return new ByteArrayTag(array);
|
|
+ } else if (c == 'L') {
|
|
+ final ListTag<LongTag> tags = this.readPrimitiveList(reader, LongTag.class, LongArrayTag.class);
|
|
+ final long[] array = new long[tags.size()];
|
|
+ for (int i = 0; i < tags.size(); i++) {
|
|
+ array[i] = tags.get(i).value();
|
|
+ }
|
|
+ return new LongArrayTag(array);
|
|
+ } else if (c == 'I') {
|
|
+ final ListTag<IntTag> tags = this.readPrimitiveList(reader, IntTag.class, IntArrayTag.class);
|
|
+ final int[] array = new int[tags.size()];
|
|
+ for (int i = 0; i < tags.size(); i++) {
|
|
+ array[i] = tags.get(i).value();
|
|
+ }
|
|
+ return new IntArrayTag(array);
|
|
+ } else throw new SNbtDeserializeException("Invalid array type '" + c + "' found");
|
|
}
|
|
|
|
protected Tag readValue(final StringReader_v1_12 reader) throws SNbtDeserializeException {
|
|
diff --git a/MCStructs-text/src/test/java/net/lenni0451/mcstructs/text/serializer/TextComponentCodecTest.java b/MCStructs-text/src/test/java/net/lenni0451/mcstructs/text/serializer/TextComponentCodecTest.java
|
|
index b252411..80d3a81 100644
|
|
--- a/MCStructs-text/src/test/java/net/lenni0451/mcstructs/text/serializer/TextComponentCodecTest.java
|
|
+++ b/MCStructs-text/src/test/java/net/lenni0451/mcstructs/text/serializer/TextComponentCodecTest.java
|
|
@@ -61,9 +61,9 @@ class TextComponentCodecTest {
|
|
|
|
@Test
|
|
void legacyItemDeserialization() throws SNbtSerializeException {
|
|
- CompoundTag legacyNbt = new CompoundTag()
|
|
- .put("id", "stone")
|
|
- .putByte("Count", (byte) 5);
|
|
+ CompoundTag legacyNbt = new CompoundTag();
|
|
+ legacyNbt.put("id", new StringTag("stone"));
|
|
+ legacyNbt.putByte("Count", (byte) 5);
|
|
ATextComponent legacyComponent = new StringComponent("test")
|
|
.setStyle(new Style()
|
|
.setHoverEvent(new TextHoverEvent(HoverEventAction.SHOW_ITEM, new StringComponent(SNbtSerializer.LATEST.serialize(legacyNbt))))
|
|
@@ -80,10 +80,10 @@ class TextComponentCodecTest {
|
|
@Test
|
|
void legacyEntityDeserialization() throws SNbtSerializeException {
|
|
UUID randomUUID = UUID.randomUUID();
|
|
- CompoundTag legacyNbt = new CompoundTag()
|
|
- .put("name", "{\"text\":\"test\"}")
|
|
- .put("type", "cow")
|
|
- .put("id", randomUUID.toString());
|
|
+ CompoundTag legacyNbt = new CompoundTag();
|
|
+ legacyNbt.put("name", new StringTag("{\"text\":\"test\"}"));
|
|
+ legacyNbt.put("type", new StringTag("cow"));
|
|
+ legacyNbt.put("id", new StringTag(randomUUID.toString()));
|
|
ATextComponent legacyComponent = new StringComponent("test")
|
|
.setStyle(new Style()
|
|
.setHoverEvent(new TextHoverEvent(HoverEventAction.SHOW_ENTITY, new StringComponent(SNbtSerializer.LATEST.serialize(legacyNbt))))
|
|
@@ -100,19 +100,31 @@ class TextComponentCodecTest {
|
|
|
|
@Test
|
|
void arrayWithTag() {
|
|
- ListTag<Tag> tags = new ListTag<>()
|
|
- .add(new CompoundTag()
|
|
- .putString("translate", "test")
|
|
- .addByteArray("with", (byte) 1, (byte) 2, (byte) 3))
|
|
- .add(new CompoundTag()
|
|
- .putString("translate", "test")
|
|
- .addIntArray("with", 1, 2, 3))
|
|
- .add(new CompoundTag()
|
|
- .putString("translate", "test")
|
|
- .addLongArray("with", 1, 2, 3))
|
|
- .add(new CompoundTag()
|
|
- .putString("translate", "test")
|
|
- .addList("with", 1, 2, 3));
|
|
+ CompoundTag translateWithByteArray = new CompoundTag();
|
|
+ translateWithByteArray.putString("translate", "test");
|
|
+ translateWithByteArray.put("with", new ByteArrayTag(new byte[]{1, 2, 3}));
|
|
+
|
|
+ CompoundTag translateWithIntArray = new CompoundTag();
|
|
+ translateWithIntArray.putString("translate", "test");
|
|
+ translateWithIntArray.put("with", new IntArrayTag(new int[]{1, 2, 3}));
|
|
+
|
|
+ CompoundTag translateWithLongArray = new CompoundTag();
|
|
+ translateWithLongArray.putString("translate", "test");
|
|
+ translateWithLongArray.put("with", new LongArrayTag(new long[]{1, 2, 3}));
|
|
+
|
|
+ CompoundTag translateWithList = new CompoundTag();
|
|
+ ListTag<IntTag> numberList = new ListTag<>(IntTag.class);
|
|
+ numberList.add(new IntTag(1));
|
|
+ numberList.add(new IntTag(2));
|
|
+ numberList.add(new IntTag(3));
|
|
+ translateWithList.putString("translate", "test");
|
|
+ translateWithList.put("with", numberList);
|
|
+
|
|
+ ListTag<CompoundTag> tags = new ListTag<>(CompoundTag.class);
|
|
+ tags.add(translateWithByteArray);
|
|
+ tags.add(translateWithIntArray);
|
|
+ tags.add(translateWithLongArray);
|
|
+ tags.add(translateWithList);
|
|
ATextComponent component = new TranslationComponent("test", (byte) 1, (byte) 2, (byte) 3)
|
|
.append(new TranslationComponent("test", 1, 2, 3))
|
|
.append(new TranslationComponent("test", 1L, 2L, 3L))
|
|
diff --git a/build.gradle b/build.gradle
|
|
index 62daf4c..382f00b 100644
|
|
--- a/build.gradle
|
|
+++ b/build.gradle
|
|
@@ -49,17 +49,17 @@ subprojects {
|
|
publishing {
|
|
repositories {
|
|
maven {
|
|
- name = "reposilite"
|
|
- def releasesUrl = "https://maven.lenni0451.net/releases"
|
|
- def snapshotsUrl = "https://maven.lenni0451.net/snapshots"
|
|
- url = project.maven_version.endsWith("SNAPSHOT") ? snapshotsUrl : releasesUrl
|
|
-
|
|
- credentials(PasswordCredentials)
|
|
+ name = "Via"
|
|
+ url = uri("https://repo.viaversion.com/")
|
|
+ credentials {
|
|
+ username = System.getenv("via_username")
|
|
+ password = System.getenv("via_password")
|
|
+ }
|
|
authentication {
|
|
- basic(BasicAuthentication)
|
|
+ create(BasicAuthentication)
|
|
}
|
|
}
|
|
- maven {
|
|
+ /*maven {
|
|
name = "ossrh"
|
|
def releasesUrl = "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/"
|
|
def snapshotsUrl = "https://s01.oss.sonatype.org/content/repositories/snapshots/"
|
|
@@ -69,7 +69,7 @@ subprojects {
|
|
authentication {
|
|
basic(BasicAuthentication)
|
|
}
|
|
- }
|
|
+ }*/
|
|
}
|
|
publications {
|
|
maven(MavenPublication) {
|
|
diff --git a/settings.gradle b/settings.gradle
|
|
index 8782dd6..dd6c9cc 100644
|
|
--- a/settings.gradle
|
|
+++ b/settings.gradle
|
|
@@ -7,9 +7,6 @@ pluginManagement {
|
|
|
|
rootProject.name = "MCStructs"
|
|
|
|
-include(":MCStructs-all")
|
|
-include(":MCStructs-data")
|
|
include(":MCStructs-core")
|
|
-include(":MCStructs-nbt")
|
|
include(":MCStructs-snbt")
|
|
include(":MCStructs-text")
|