--- a/net/minecraft/network/NetworkManager.java
+++ b/net/minecraft/network/NetworkManager.java
@@ -88,6 +88,7 @@
     private boolean handlingFault;
     @Nullable
     private volatile IChatBaseComponent delayedDisconnect;
+    public String hostname = ""; // CraftBukkit - add field
 
     public NetworkManager(EnumProtocolDirection enumprotocoldirection) {
         this.receiving = enumprotocoldirection;
@@ -173,7 +174,7 @@
     }
 
     private static <T extends PacketListener> void genericsFtw(Packet<T> packet, PacketListener packetlistener) {
-        packet.handle(packetlistener);
+        packet.handle((T) packetlistener); // CraftBukkit - decompile error
     }
 
     public void setListener(PacketListener packetlistener) {
@@ -306,7 +307,7 @@
         }
 
         if (this.isConnected()) {
-            this.channel.close().awaitUninterruptibly();
+            this.channel.close(); // We can't wait as this may be called from an event loop.
             this.disconnectedReason = ichatbasecomponent;
         }
 
