3
0
Mirror von https://github.com/PaperMC/Paper.git synchronisiert 2024-11-16 13:00:06 +01:00

Perform permission removals after the quit event. Fixes BUKKIT-3303

The player would have no permissions (other than their OP status)
when checked in the Quit event. This is because we removed permissions
before the event occurred. By calling it afterwards, we can persist
the data until the server finally removes the player.
Dieser Commit ist enthalten in:
feildmaster 2012-12-24 22:11:04 -06:00
Ursprung f726d07f11
Commit 155b83e2c7
2 geänderte Dateien mit 1 neuen und 4 gelöschten Zeilen

Datei anzeigen

@ -163,7 +163,6 @@ public class PlayerConnection extends Connection {
if (leaveMessage != null && leaveMessage.length() > 0) {
this.minecraftServer.getPlayerList().sendAll(new Packet3Chat(leaveMessage));
}
getPlayer().disconnect(s);
// CraftBukkit end
this.minecraftServer.getPlayerList().disconnect(this.player);
@ -1068,9 +1067,6 @@ public class PlayerConnection extends Connection {
}
public void a(Packet255KickDisconnect packet255kickdisconnect) {
// CraftBukkit start
getPlayer().disconnect("disconnect.quitting");
// CraftBukkit end
this.networkManager.a("disconnect.quitting", new Object[0]);
}

Datei anzeigen

@ -204,6 +204,7 @@ public abstract class PlayerList {
// CraftBukkit start - quitting must be before we do final save of data, in case plugins need to modify it
PlayerQuitEvent playerQuitEvent = new PlayerQuitEvent(this.cserver.getPlayer(entityplayer), "\u00A7e" + entityplayer.name + " left the game.");
this.cserver.getPluginManager().callEvent(playerQuitEvent);
entityplayer.getBukkitEntity().disconnect(playerQuitEvent.getQuitMessage());
// CraftBukkit end
this.b(entityplayer);