2011-04-08 15:51:07 +02:00
package org.mcteam.factions.commands ;
2011-03-22 15:45:41 +01:00
2011-04-08 15:51:07 +02:00
import org.mcteam.factions.Conf ;
import org.mcteam.factions.FPlayer ;
import org.mcteam.factions.Faction ;
2011-03-22 15:45:41 +01:00
public class FCommandKick extends FBaseCommand {
public FCommandKick ( ) {
2011-03-22 18:48:09 +01:00
aliases . add ( " kick " ) ;
2011-03-22 15:45:41 +01:00
requiredParameters . add ( " player name " ) ;
helpDescription = " Kick a player from the faction " ;
}
public void perform ( ) {
2011-05-08 17:16:43 +02:00
if ( isLocked ( ) ) {
sendLockMessage ( ) ;
return ;
}
2011-03-22 15:45:41 +01:00
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-04-08 16:03:04 +02:00
sendMessage ( " You might want to: " + new FCommandLeave ( ) . getUseageTemplate ( false ) ) ;
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 ( ) ;
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 " ) ;
}
}