|
@@ -7,8 +7,6 @@ import org.bukkit.command.CommandSender;
|
|
|
import org.bukkit.entity.Player;
|
|
|
|
|
|
import com.gmail.nossr50.mcMMO;
|
|
|
-import com.gmail.nossr50.commands.CommandHelper;
|
|
|
-import com.gmail.nossr50.datatypes.McMMOPlayer;
|
|
|
import com.gmail.nossr50.events.party.McMMOPartyChangeEvent;
|
|
|
import com.gmail.nossr50.events.party.McMMOPartyChangeEvent.EventReason;
|
|
|
import com.gmail.nossr50.locale.LocaleLoader;
|
|
@@ -38,32 +36,25 @@ public class PartyKickCommand implements CommandExecutor {
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
- McMMOPlayer mcMMOTarget = Users.getPlayer(args[1]);
|
|
|
+ OfflinePlayer target = mcMMO.p.getServer().getOfflinePlayer(args[1]);
|
|
|
|
|
|
- // Would be nice to find a way to check if a player is valid here - this won't work directly because it'll also throw null for an offline player
|
|
|
-// if (mcMMOTarget == null) {
|
|
|
-// sender.sendMessage(LocaleLoader.getString("Party.Player.Invalid"));
|
|
|
-// return false;
|
|
|
-// }
|
|
|
-
|
|
|
- Player target = mcMMOTarget.getPlayer();
|
|
|
-
|
|
|
- if (!PartyManager.inSameParty(player, target)) {
|
|
|
+ if (!playerParty.getMembers().contains(target)) {
|
|
|
sender.sendMessage(LocaleLoader.getString("Party.NotInYourParty", args[1]));
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
- if (mcMMO.p.getServer().getOfflinePlayer(args[1]).isOnline()) {
|
|
|
+ if (target.isOnline()) {
|
|
|
+ Player onlineTarget = target.getPlayer();
|
|
|
String partyName = playerParty.getName();
|
|
|
|
|
|
- McMMOPartyChangeEvent event = new McMMOPartyChangeEvent(target, partyName, null, EventReason.KICKED_FROM_PARTY);
|
|
|
+ McMMOPartyChangeEvent event = new McMMOPartyChangeEvent(onlineTarget, partyName, null, EventReason.KICKED_FROM_PARTY);
|
|
|
mcMMO.p.getServer().getPluginManager().callEvent(event);
|
|
|
|
|
|
if (event.isCancelled()) {
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
- target.sendMessage(LocaleLoader.getString("Commands.Party.Kick", partyName));
|
|
|
+ onlineTarget.sendMessage(LocaleLoader.getString("Commands.Party.Kick", partyName));
|
|
|
}
|
|
|
|
|
|
PartyManager.removeFromParty(target, playerParty);
|