From 7856716a3a71d6fabea29804ea8df536647978cf Mon Sep 17 00:00:00 2001 From: creeper123123321 Date: Mon, 11 Feb 2019 16:48:26 -0200 Subject: [PATCH] Warn instead of blowing up everything --- .../us/myles/ViaVersion/api/protocol/Protocol.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/common/src/main/java/us/myles/ViaVersion/api/protocol/Protocol.java b/common/src/main/java/us/myles/ViaVersion/api/protocol/Protocol.java index 3ca1d4745..9dd0d0200 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/protocol/Protocol.java +++ b/common/src/main/java/us/myles/ViaVersion/api/protocol/Protocol.java @@ -4,6 +4,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; import us.myles.ViaVersion.api.PacketWrapper; import us.myles.ViaVersion.api.Pair; +import us.myles.ViaVersion.api.Via; import us.myles.ViaVersion.api.data.UserConnection; import us.myles.ViaVersion.api.platform.providers.ViaProviders; import us.myles.ViaVersion.api.remapper.PacketRemapper; @@ -14,6 +15,7 @@ import us.myles.ViaVersion.packets.State; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.logging.Level; public abstract class Protocol { private final Map, ProtocolPacket> incoming = new HashMap<>(); @@ -104,7 +106,10 @@ public abstract class Protocol { public void registerIncoming(State state, int oldPacketID, int newPacketID, PacketRemapper packetRemapper, boolean override) { ProtocolPacket protocolPacket = new ProtocolPacket(state, oldPacketID, newPacketID, packetRemapper); Pair pair = new Pair<>(state, newPacketID); - if (!override && incoming.containsKey(pair)) throw new IllegalArgumentException(pair + " already registered"); + if (!override && incoming.containsKey(pair)) { + Via.getPlatform().getLogger().log(Level.WARNING, pair + " already registered!" + + " If this override is intentional, set override to true. Stacktrace: ", new Exception()); + }; incoming.put(pair, protocolPacket); } @@ -134,7 +139,10 @@ public abstract class Protocol { public void registerOutgoing(State state, int oldPacketID, int newPacketID, PacketRemapper packetRemapper, boolean override) { ProtocolPacket protocolPacket = new ProtocolPacket(state, oldPacketID, newPacketID, packetRemapper); Pair pair = new Pair<>(state, oldPacketID); - if (!override && outgoing.containsKey(pair)) throw new IllegalArgumentException(pair + " already registered"); + if (!override && outgoing.containsKey(pair)) { + Via.getPlatform().getLogger().log(Level.WARNING, pair + " already registered!" + + " If override is intentional, set override to true. Stacktrace: ", new Exception()); + } outgoing.put(pair, protocolPacket); }