diff --git a/ProtocolLib/src/com/comphenix/protocol/injector/PacketFilterManager.java b/ProtocolLib/src/com/comphenix/protocol/injector/PacketFilterManager.java index 3d5d94b3..f86723f3 100644 --- a/ProtocolLib/src/com/comphenix/protocol/injector/PacketFilterManager.java +++ b/ProtocolLib/src/com/comphenix/protocol/injector/PacketFilterManager.java @@ -433,9 +433,18 @@ public final class PacketFilterManager implements ProtocolManager { break; } catch (Exception e) { + // Mark this injection attempt as a failure logger.log(Level.SEVERE, "Player hook " + currentHook.toString() + " failed.", e); + // Clean up as much as possible + try { + if (injector != null) + injector.cleanupAll(); + } catch (Exception e2) { + logger.log(Level.WARNING, "Cleaing up after player hook failed.", e); + } + if (currentHook.ordinal() > 0) { // Choose the previous player hook type currentHook = PlayerInjectHooks.values()[currentHook.ordinal() - 1];