public void disconnect(String s) { // CraftBukkit start String leaveMessage = "\u00A7e" + this.player.name + " left the game."; PlayerKickEvent event = new PlayerKickEvent(server.getPlayer(this.player), s, leaveMessage); server.getPluginManager().callEvent(event); if (event.isCancelled()) { // Do not kick the player return; } // Send the possibly modified leave message s = event.getReason(); // CraftBukkit end this.player.A(); this.sendPacket(new Packet255KickDisconnect(s)); this.networkManager.d(); // CraftBukkit start leaveMessage = event.getLeaveMessage(); if (leaveMessage != null) { this.minecraftServer.serverConfigurationManager.sendAll(new Packet3Chat(leaveMessage)); } // CraftBukkit end this.minecraftServer.serverConfigurationManager.disconnect(this.player); this.disconnected = true; }
@Override public void onPlayerKick(PlayerKickEvent event) { Player triggerMessage = event.getPlayer(); String[] replaceThese = {"<<kick-reason>>", "<<kickedplayer>>"}; String[] withThese = {event.getReason(), triggerMessage.getName()}; plugin.triggerMessages(triggerMessage, "onkick", replaceThese, withThese); }