2019-03-03 04:51:21 +01:00
|
|
|
package com.massivecraft.factions.cmd;
|
|
|
|
|
|
|
|
import com.massivecraft.factions.FPlayer;
|
|
|
|
import com.massivecraft.factions.Faction;
|
|
|
|
import com.massivecraft.factions.struct.Permission;
|
|
|
|
import com.massivecraft.factions.zcore.util.TL;
|
|
|
|
|
|
|
|
public class CmdPermanentPower extends FCommand {
|
2019-09-15 11:08:00 +02:00
|
|
|
public CmdPermanentPower() {
|
|
|
|
super();
|
|
|
|
this.aliases.add("permanentpower");
|
|
|
|
this.requiredArgs.add("faction");
|
|
|
|
this.requiredArgs.add("power");
|
|
|
|
|
|
|
|
this.requirements = new CommandRequirements.Builder(Permission.SET_PERMANENTPOWER)
|
|
|
|
.build();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void perform(CommandContext context) {
|
|
|
|
Faction targetFaction = context.argAsFaction(0);
|
|
|
|
if (targetFaction == null) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
Integer targetPower = context.argAsInt(1);
|
|
|
|
|
|
|
|
targetFaction.setPermanentPower(targetPower);
|
|
|
|
|
|
|
|
String change = TL.COMMAND_PERMANENTPOWER_REVOKE.toString();
|
|
|
|
if (targetFaction.hasPermanentPower()) {
|
|
|
|
change = TL.COMMAND_PERMANENTPOWER_GRANT.toString();
|
|
|
|
}
|
|
|
|
|
|
|
|
// Inform sender
|
|
|
|
context.msg(TL.COMMAND_PERMANENTPOWER_SUCCESS, change, targetFaction.describeTo(context.fPlayer));
|
|
|
|
|
|
|
|
// Inform all other players
|
|
|
|
for (FPlayer fplayer : targetFaction.getFPlayersWhereOnline(true)) {
|
|
|
|
if (fplayer == context.fPlayer) {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
String blame = (context.fPlayer == null ? TL.GENERIC_SERVERADMIN.toString() : context.fPlayer.describeTo(fplayer, true));
|
|
|
|
fplayer.msg(TL.COMMAND_PERMANENTPOWER_FACTION, blame, change);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public TL getUsageTranslation() {
|
|
|
|
return TL.COMMAND_PERMANENTPOWER_DESCRIPTION;
|
|
|
|
}
|
2019-03-03 04:51:21 +01:00
|
|
|
}
|