geforkt von Mirrors/Paper
34 Zeilen
1.3 KiB
Diff
34 Zeilen
1.3 KiB
Diff
|
@@ -26,6 +26,7 @@
|
||
|
private GameProfile i;
|
||
|
private String j;
|
||
|
private SecretKey loginKey;
|
||
|
+ public String hostname = ""; // CraftBukkit - add field
|
||
|
|
||
|
public LoginListener(MinecraftServer minecraftserver, NetworkManager networkmanager) {
|
||
|
this.g = EnumProtocolState.HELLO;
|
||
|
@@ -64,10 +65,12 @@
|
||
|
this.i = this.a(this.i);
|
||
|
}
|
||
|
|
||
|
- String s = this.server.getPlayerList().attemptLogin(this.networkManager.getSocketAddress(), this.i);
|
||
|
+ // CraftBukkit start - fire PlayerLoginEvent
|
||
|
+ EntityPlayer s = this.server.getPlayerList().attemptLogin(this, this.i, hostname);
|
||
|
|
||
|
- if (s != null) {
|
||
|
- this.disconnect(s);
|
||
|
+ if (s == null) {
|
||
|
+ // this.disconnect(s);
|
||
|
+ // CraftBukkit end
|
||
|
} else {
|
||
|
this.g = EnumProtocolState.ACCEPTED;
|
||
|
if (this.server.aI() >= 0 && !this.networkManager.c()) {
|
||
|
@@ -75,7 +78,7 @@
|
||
|
}
|
||
|
|
||
|
this.networkManager.handle(new PacketLoginOutSuccess(this.i));
|
||
|
- this.server.getPlayerList().a(this.networkManager, this.server.getPlayerList().processLogin(this.i));
|
||
|
+ this.server.getPlayerList().a(this.networkManager, this.server.getPlayerList().processLogin(this.i, s)); // CraftBukkit - add player reference
|
||
|
}
|
||
|
|
||
|
}
|