2011-03-22 15:45:41 +01:00
package com.bukkit.mcteam.factions.commands ;
import java.util.ArrayList ;
import com.bukkit.mcteam.factions.Conf ;
import com.bukkit.mcteam.factions.FPlayer ;
import com.bukkit.mcteam.factions.Faction ;
public class FCommandKick extends FBaseCommand {
public FCommandKick ( ) {
2011-03-22 18:48:09 +01:00
aliases = new ArrayList < String > ( ) ;
aliases . add ( " kick " ) ;
2011-03-22 15:45:41 +01:00
requiredParameters = new ArrayList < String > ( ) ;
optionalParameters = new ArrayList < String > ( ) ;
requiredParameters . add ( " player name " ) ;
permissions = " " ;
senderMustBePlayer = true ;
helpDescription = " Kick a player from the faction " ;
}
public void perform ( ) {
String playerName = parameters . get ( 0 ) ;
FPlayer you = findFPlayer ( playerName , false ) ;
if ( you = = null ) {
return ;
}
Faction myFaction = me . getFaction ( ) ;
if ( you . getFaction ( ) ! = myFaction ) {
sendMessage ( you . getNameAndRelevant ( me ) + Conf . colorSystem + " is not a member of " + myFaction . getTag ( me ) ) ;
return ;
}
if ( me = = you ) {
sendMessage ( " You cannot kick yourself. " ) ;
2011-03-22 18:48:09 +01:00
sendMessage ( " You might want to: " ) ;
sendMessage ( new FCommandLeave ( ) . getUseageTemplate ( ) ) ;
2011-03-22 15:45:41 +01:00
return ;
}
2011-03-22 17:20:21 +01:00
if ( you . getRole ( ) . value > = me . getRole ( ) . value ) { // TODO add more informative messages.
2011-03-22 15:45:41 +01:00
sendMessage ( " Your rank is too low to kick this player. " ) ;
return ;
}
2011-03-22 17:20:21 +01:00
myFaction . deinvite ( you ) ;
2011-03-22 15:45:41 +01:00
you . resetFactionData ( ) ;
FPlayer . save ( ) ;
Faction . save ( ) ;
myFaction . sendMessage ( me . getNameAndRelevant ( myFaction ) + Conf . colorSystem + " kicked " + you . getNameAndRelevant ( myFaction ) + Conf . colorSystem + " from the faction! :O " ) ;
you . sendMessage ( me . getNameAndRelevant ( you ) + Conf . colorSystem + " kicked you from " + myFaction . getTag ( you ) + Conf . colorSystem + " ! :O " ) ;
}
}