--- a/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java
@@ -44,8 +44,8 @@
     private ConfigurationTask currentTask;
     private ClientInformation clientInformation;
 
-    public ServerConfigurationPacketListenerImpl(MinecraftServer minecraftserver, NetworkManager networkmanager, CommonListenerCookie commonlistenercookie) {
-        super(minecraftserver, networkmanager, commonlistenercookie);
+    public ServerConfigurationPacketListenerImpl(MinecraftServer minecraftserver, NetworkManager networkmanager, CommonListenerCookie commonlistenercookie, EntityPlayer player) { // CraftBukkit
+        super(minecraftserver, networkmanager, commonlistenercookie, player); // CraftBukkit
         this.gameProfile = commonlistenercookie.gameProfile();
         this.clientInformation = commonlistenercookie.clientInformation();
     }
@@ -117,14 +117,14 @@
                 return;
             }
 
-            IChatBaseComponent ichatbasecomponent = playerlist.canPlayerLogin(this.connection.getRemoteAddress(), this.gameProfile);
+            IChatBaseComponent ichatbasecomponent = null; // CraftBukkit - login checks already completed
 
             if (ichatbasecomponent != null) {
                 this.disconnect(ichatbasecomponent);
                 return;
             }
 
-            EntityPlayer entityplayer = playerlist.getPlayerForLogin(this.gameProfile, this.clientInformation);
+            EntityPlayer entityplayer = playerlist.getPlayerForLogin(this.gameProfile, this.clientInformation, this.player); // CraftBukkit
 
             playerlist.placeNewPlayer(this.connection, entityplayer, this.createCookie(this.clientInformation));
             this.connection.resumeInboundAfterProtocolChange();
