mirror of
https://github.com/KAMKEEL/CustomNPC-Plus.git
synced 2026-11-12 02:37:27 +00:00
Allow you to kick offline players
This commit is contained in:
1 parent
614c6ca474
commit
95b42a4b27
4 files changed
+55
-11
No files matched your search
@@ -130,25 +130,42 @@ public class PacketHandlerServer{
|
||||
compound.setBoolean("Disband", true);
|
||||
Server.sendData(player, EnumPacketClient.PARTY_DATA, compound);
|
||||
} else if (type == EnumPacketServer.KickPlayer) {
|
||||
EntityPlayer kickPlayer = NoppesUtilServer.getPlayerByName(Server.readString(buffer));
|
||||
String kickPlayerName = Server.readString(buffer);
|
||||
EntityPlayer kickPlayer = NoppesUtilServer.getPlayerByName(kickPlayerName);
|
||||
PlayerData playerData = null;
|
||||
UUID playerUUID = null;
|
||||
if (kickPlayer != null) {
|
||||
PlayerData playerData = PlayerDataController.Instance.getPlayerData(player);
|
||||
if (playerData.partyUUID != null) {
|
||||
Party party = PartyController.Instance().getParty(playerData.partyUUID);
|
||||
playerData = PlayerDataController.Instance.getPlayerData(player);
|
||||
} else {
|
||||
String uuid = PlayerDataController.Instance.getPlayerUUIDFromName(kickPlayerName);
|
||||
if(!uuid.isEmpty()){
|
||||
playerData = PlayerDataController.Instance.getPlayerDataCache(uuid);
|
||||
playerUUID = UUID.fromString(uuid);
|
||||
}
|
||||
}
|
||||
|
||||
if(playerData != null){
|
||||
if (playerData.partyUUID != null) {
|
||||
Party party = PartyController.Instance().getParty(playerData.partyUUID);
|
||||
if (!party.getIsLocked()) {
|
||||
PartyEvent.PartyKickEvent partyEvent = new PartyEvent.PartyKickEvent(party, party.getQuest(), (IPlayer) NpcAPI.Instance().getIEntity(kickPlayer));
|
||||
EventHooks.onPartyKick(partyEvent);
|
||||
if (!partyEvent.isCancelled()){
|
||||
boolean successful = party.removePlayer(kickPlayer);
|
||||
if(!successful)
|
||||
successful = party.removePlayer(playerUUID);
|
||||
|
||||
if(successful){
|
||||
sendInviteData((EntityPlayerMP) kickPlayer);
|
||||
if(kickPlayer != null){
|
||||
sendInviteData((EntityPlayerMP) kickPlayer);
|
||||
}
|
||||
PartyController.Instance().pingPartyUpdate(party);
|
||||
PartyController.Instance().sendKickMessages(party, kickPlayer);
|
||||
PartyController.Instance().sendKickMessages(party, kickPlayerName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (type == EnumPacketServer.LeavePlayer) {
|
||||
EntityPlayer leavingPlayer = NoppesUtilServer.getPlayerByName(Server.readString(buffer));
|
||||
if (leavingPlayer != null) {
|
||||
|
||||
Reference in new issue
Block a user