From 6b6b3af0156b3f5e94e070d23b7e840a932b4d7b Mon Sep 17 00:00:00 2001 From: Bixilon Date: Thu, 20 Aug 2020 20:44:50 +0200 Subject: [PATCH] PacketSetCompression and PacketLoginSetCompression implements now PacketCompressionInterface --- .../minosoft/protocol/network/Network.java | 9 +++------ .../PacketCompressionInterface.java | 20 +++++++++++++++++++ .../login/PacketLoginSetCompression.java | 5 +++-- .../play/PacketSetCompression.java | 5 +++-- 4 files changed, 29 insertions(+), 10 deletions(-) create mode 100644 src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/interfaces/PacketCompressionInterface.java diff --git a/src/main/java/de/bixilon/minosoft/protocol/network/Network.java b/src/main/java/de/bixilon/minosoft/protocol/network/Network.java index 0af97554f..5114cdd92 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/network/Network.java +++ b/src/main/java/de/bixilon/minosoft/protocol/network/Network.java @@ -16,9 +16,8 @@ package de.bixilon.minosoft.protocol.network; import de.bixilon.minosoft.logging.Log; import de.bixilon.minosoft.protocol.packets.ClientboundPacket; import de.bixilon.minosoft.protocol.packets.ServerboundPacket; -import de.bixilon.minosoft.protocol.packets.clientbound.login.PacketLoginSetCompression; +import de.bixilon.minosoft.protocol.packets.clientbound.interfaces.PacketCompressionInterface; import de.bixilon.minosoft.protocol.packets.clientbound.login.PacketLoginSuccess; -import de.bixilon.minosoft.protocol.packets.clientbound.play.PacketSetCompression; import de.bixilon.minosoft.protocol.packets.serverbound.login.PacketEncryptionResponse; import de.bixilon.minosoft.protocol.protocol.*; import de.bixilon.minosoft.util.Util; @@ -179,10 +178,8 @@ public class Network { //set special settings to avoid miss timing issues if (packetInstance instanceof PacketLoginSuccess) { connection.setConnectionState(ConnectionState.PLAY); - } else if (packetInstance instanceof PacketLoginSetCompression) { - compressionThreshold = ((PacketLoginSetCompression) packetInstance).getThreshold(); - } else if (packetInstance instanceof PacketSetCompression) { - compressionThreshold = ((PacketSetCompression) packetInstance).getThreshold(); + } else if (packetInstance instanceof PacketCompressionInterface) { + compressionThreshold = ((PacketCompressionInterface) packetInstance).getThreshold(); } connection.handle(packetInstance); } catch (InstantiationException | IllegalAccessException | InvocationTargetException | NoSuchMethodException e) { diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/interfaces/PacketCompressionInterface.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/interfaces/PacketCompressionInterface.java new file mode 100644 index 000000000..ffb456dd0 --- /dev/null +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/interfaces/PacketCompressionInterface.java @@ -0,0 +1,20 @@ +/* + * Codename Minosoft + * Copyright (C) 2020 Moritz Zwerger + * + * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with this program. If not, see . + * + * This software is not affiliated with Mojang AB, the original developer of Minecraft. + */ + +package de.bixilon.minosoft.protocol.packets.clientbound.interfaces; + +import de.bixilon.minosoft.protocol.packets.ClientboundPacket; + +public interface PacketCompressionInterface extends ClientboundPacket { + int getThreshold(); +} diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/login/PacketLoginSetCompression.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/login/PacketLoginSetCompression.java index 19313f74c..07bd579f3 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/login/PacketLoginSetCompression.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/login/PacketLoginSetCompression.java @@ -14,11 +14,11 @@ package de.bixilon.minosoft.protocol.packets.clientbound.login; import de.bixilon.minosoft.logging.Log; -import de.bixilon.minosoft.protocol.packets.ClientboundPacket; +import de.bixilon.minosoft.protocol.packets.clientbound.interfaces.PacketCompressionInterface; import de.bixilon.minosoft.protocol.protocol.InByteBuffer; import de.bixilon.minosoft.protocol.protocol.PacketHandler; -public class PacketLoginSetCompression implements ClientboundPacket { +public class PacketLoginSetCompression implements PacketCompressionInterface { int threshold; @Override @@ -37,6 +37,7 @@ public class PacketLoginSetCompression implements ClientboundPacket { h.handle(this); } + @Override public int getThreshold() { return threshold; } diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSetCompression.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSetCompression.java index a84d458e5..2ff1babae 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSetCompression.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSetCompression.java @@ -14,11 +14,11 @@ package de.bixilon.minosoft.protocol.packets.clientbound.play; import de.bixilon.minosoft.logging.Log; -import de.bixilon.minosoft.protocol.packets.ClientboundPacket; +import de.bixilon.minosoft.protocol.packets.clientbound.interfaces.PacketCompressionInterface; import de.bixilon.minosoft.protocol.protocol.InByteBuffer; import de.bixilon.minosoft.protocol.protocol.PacketHandler; -public class PacketSetCompression implements ClientboundPacket { +public class PacketSetCompression implements PacketCompressionInterface { int threshold; @Override @@ -37,6 +37,7 @@ public class PacketSetCompression implements ClientboundPacket { h.handle(this); } + @Override public int getThreshold() { return threshold; }