From 8bfebc0ce1072bd8e752959994fa12ae631358d9 Mon Sep 17 00:00:00 2001 From: FlorianMichael <60033407+FlorianMichael@users.noreply.github.com> Date: Tue, 5 Mar 2024 16:46:31 +0100 Subject: [PATCH] Delete not needed type classes and use existing Types Closes https://github.com/ViaVersion/VIAaaS/issues/238 --- .../com/viaversion/aas/type/AspirinTypes.java | 11 -------- .../aas/type/OptionalStringType.java | 25 ------------------ .../aas/type/SignablePropertyType.java | 26 ------------------- .../aas/codec/packet/login/LoginSuccess.kt | 16 +++++++++--- 4 files changed, 13 insertions(+), 65 deletions(-) delete mode 100644 src/main/java/com/viaversion/aas/type/AspirinTypes.java delete mode 100644 src/main/java/com/viaversion/aas/type/OptionalStringType.java delete mode 100644 src/main/java/com/viaversion/aas/type/SignablePropertyType.java diff --git a/src/main/java/com/viaversion/aas/type/AspirinTypes.java b/src/main/java/com/viaversion/aas/type/AspirinTypes.java deleted file mode 100644 index 24361fe..0000000 --- a/src/main/java/com/viaversion/aas/type/AspirinTypes.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.viaversion.aas.type; - -import com.viaversion.aas.util.SignableProperty; -import com.viaversion.viaversion.api.type.Type; -import com.viaversion.viaversion.api.type.types.ArrayType; - -public enum AspirinTypes {; - public static Type OPTIONAL_STRING = new OptionalStringType(); - public static Type SIGNABLE_PROPERTY = new SignablePropertyType(); - public static Type SIGNABLE_PROPERTY_ARRAY = new ArrayType<>(SIGNABLE_PROPERTY); -} diff --git a/src/main/java/com/viaversion/aas/type/OptionalStringType.java b/src/main/java/com/viaversion/aas/type/OptionalStringType.java deleted file mode 100644 index 4bf9d2f..0000000 --- a/src/main/java/com/viaversion/aas/type/OptionalStringType.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.viaversion.aas.type; - -import com.viaversion.viaversion.api.type.Type; -import io.netty.buffer.ByteBuf; - -public class OptionalStringType extends Type { - protected OptionalStringType() { - super(String.class); - } - - @Override - public String read(ByteBuf buffer) throws Exception { - return buffer.readBoolean() ? Type.STRING.read(buffer) : null; - } - - @Override - public void write(ByteBuf buffer, String object) throws Exception { - if (object == null) { - buffer.writeBoolean(false); - } else { - buffer.writeBoolean(true); - Type.STRING.write(buffer, object); - } - } -} diff --git a/src/main/java/com/viaversion/aas/type/SignablePropertyType.java b/src/main/java/com/viaversion/aas/type/SignablePropertyType.java deleted file mode 100644 index 6b68b47..0000000 --- a/src/main/java/com/viaversion/aas/type/SignablePropertyType.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.viaversion.aas.type; - -import com.viaversion.aas.util.SignableProperty; -import com.viaversion.viaversion.api.type.Type; -import io.netty.buffer.ByteBuf; - -public class SignablePropertyType extends Type { - protected SignablePropertyType() { - super(SignableProperty.class); - } - - @Override - public SignableProperty read(ByteBuf buffer) throws Exception { - String key = Type.STRING.read(buffer); - String value = Type.STRING.read(buffer); - String signature = AspirinTypes.OPTIONAL_STRING.read(buffer); - return new SignableProperty(key, value, signature); - } - - @Override - public void write(ByteBuf buffer, SignableProperty object) throws Exception { - Type.STRING.write(buffer, object.getKey()); - Type.STRING.write(buffer, object.getValue()); - AspirinTypes.OPTIONAL_STRING.write(buffer, object.getSignature()); - } -} diff --git a/src/main/kotlin/com/viaversion/aas/codec/packet/login/LoginSuccess.kt b/src/main/kotlin/com/viaversion/aas/codec/packet/login/LoginSuccess.kt index 280b6d6..4ed4642 100644 --- a/src/main/kotlin/com/viaversion/aas/codec/packet/login/LoginSuccess.kt +++ b/src/main/kotlin/com/viaversion/aas/codec/packet/login/LoginSuccess.kt @@ -3,7 +3,6 @@ package com.viaversion.aas.codec.packet.login import com.viaversion.aas.codec.packet.Packet import com.viaversion.aas.parseUndashedId import com.viaversion.aas.protocol.sharewareVersion -import com.viaversion.aas.type.AspirinTypes import com.viaversion.aas.util.SignableProperty import com.viaversion.viaversion.api.protocol.version.ProtocolVersion import com.viaversion.viaversion.api.type.Type @@ -27,7 +26,13 @@ class LoginSuccess : Packet { } username = Type.STRING.read(byteBuf) if (protocolVersion.newerThanOrEqualTo(ProtocolVersion.v1_19)) { - properties.addAll(AspirinTypes.SIGNABLE_PROPERTY_ARRAY.read(byteBuf).asList()) + val properties = Type.VAR_INT.readPrimitive(byteBuf) + for (i in 0 until properties) { + val name = Type.STRING.read(byteBuf) + val value = Type.STRING.read(byteBuf) + val signature = Type.OPTIONAL_STRING.read(byteBuf) + this.properties.add(SignableProperty(name, value, signature)) + } } } @@ -43,7 +48,12 @@ class LoginSuccess : Packet { } Type.STRING.write(byteBuf, username) if (protocolVersion.newerThanOrEqualTo(ProtocolVersion.v1_19)) { - AspirinTypes.SIGNABLE_PROPERTY_ARRAY.write(byteBuf, properties.toTypedArray()) + Type.VAR_INT.writePrimitive(byteBuf, properties.size) + for (property in properties) { + Type.STRING.write(byteBuf, property.key) + Type.STRING.write(byteBuf, property.value) + Type.OPTIONAL_STRING.write(byteBuf, property.signature) + } } } } \ No newline at end of file