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 ;
import org.mcteam.factions.struct.Role ;
2011-03-22 15:45:41 +01:00
public class FCommandAdmin extends FBaseCommand {
public FCommandAdmin ( ) {
2011-03-22 18:48:09 +01:00
aliases . add ( " admin " ) ;
2011-03-22 15:45:41 +01:00
requiredParameters . add ( " player name " ) ;
helpDescription = " Hand over your admin rights " ;
}
public void perform ( ) {
if ( ! assertHasFaction ( ) ) {
return ;
}
2011-05-08 17:16:43 +02:00
if ( isLocked ( ) ) {
sendLockMessage ( ) ;
return ;
}
2011-03-22 15:45:41 +01:00
if ( ! assertMinRole ( Role . ADMIN ) ) {
return ;
}
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 in your faction. " ) ;
return ;
}
if ( you = = me ) {
sendMessage ( " The target player musn't be yourself. " ) ;
return ;
}
2011-03-22 17:20:21 +01:00
me . setRole ( Role . MODERATOR ) ;
you . setRole ( Role . ADMIN ) ;
2011-03-22 15:45:41 +01:00
// Inform all players
for ( FPlayer fplayer : FPlayer . getAllOnline ( ) ) {
2011-03-22 17:20:21 +01:00
if ( fplayer . getFaction ( ) = = me . getFaction ( ) ) {
2011-03-22 15:45:41 +01:00
fplayer . sendMessage ( me . getNameAndRelevant ( me ) + Conf . colorSystem + " gave " + you . getNameAndRelevant ( me ) + Conf . colorSystem + " the leadership of your faction. " ) ;
} else {
fplayer . sendMessage ( me . getNameAndRelevant ( fplayer ) + Conf . colorSystem + " gave " + you . getNameAndRelevant ( fplayer ) + Conf . colorSystem + " the leadership of " + myFaction . getTag ( fplayer ) ) ;
}
}
}
}