diff --git a/FightSystem_Core/src/de/steamwar/fightsystem/record/PacketProcessor.java b/FightSystem_Core/src/de/steamwar/fightsystem/record/PacketProcessor.java index 7121594..fb71ce3 100644 --- a/FightSystem_Core/src/de/steamwar/fightsystem/record/PacketProcessor.java +++ b/FightSystem_Core/src/de/steamwar/fightsystem/record/PacketProcessor.java @@ -425,6 +425,8 @@ public class PacketProcessor { private void pasteSchem(FightTeam team) throws IOException { int schemId = source.readInt(); + if(schemId == 0) + return; execSync(() -> team.pasteSchem(SchematicNode.getSchematicNode(schemId))); } @@ -556,6 +558,11 @@ public class PacketProcessor { try{ while(!source.isClosed() && !tickFinished){ int packetType = Byte.toUnsignedInt(source.readByte()); + + lastPackets.add(packetType); + if (lastPackets.size() > 10) + lastPackets.remove(0); + PacketParser parser = packetDecoder[packetType]; if(parser != null){ parser.process(); @@ -563,9 +570,6 @@ public class PacketProcessor { Bukkit.getLogger().log(Level.SEVERE, "Unknown packet " + packetType + " recieved, closing. LastPacket: " + Arrays.toString(lastPackets.toArray())); source.close(); } - lastPackets.add(packetType); - if (lastPackets.size() > 10) - lastPackets.remove(0); } } catch (EOFException e) { Bukkit.getLogger().log(Level.INFO, "The FightServer is offline");