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 {
|
|
|
|
public CmdPermanentPower() {
|
|
|
|
super();
|
|
|
|
this.aliases.add("permanentpower");
|
|
|
|
|
|
|
|
this.requiredArgs.add("faction");
|
|
|
|
this.requiredArgs.add("power");
|
|
|
|
|
|
|
|
this.permission = Permission.SET_PERMANENTPOWER.node;
|
|
|
|
this.disableOnLock = true;
|
|
|
|
|
|
|
|
senderMustBePlayer = false;
|
|
|
|
senderMustBeMember = false;
|
|
|
|
senderMustBeModerator = false;
|
|
|
|
senderMustBeColeader = false;
|
|
|
|
senderMustBeAdmin = false;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void perform() {
|
|
|
|
Faction targetFaction = this.argAsFaction(0);
|
|
|
|
if (targetFaction == null) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
Integer targetPower = this.argAsInt(1);
|
|
|
|
|
|
|
|
targetFaction.setPermanentPower(targetPower);
|
|
|
|
|
|
|
|
String change = TL.COMMAND_PERMANENTPOWER_REVOKE.toString();
|
|
|
|
if (targetFaction.hasPermanentPower()) {
|
|
|
|
change = TL.COMMAND_PERMANENTPOWER_GRANT.toString();
|
|
|
|
}
|
|
|
|
|
|
|
|
// Inform sender
|
|
|
|
msg(TL.COMMAND_PERMANENTPOWER_SUCCESS, change, targetFaction.describeTo(fme));
|
|
|
|
|
|
|
|
// Inform all other players
|
|
|
|
for (FPlayer fplayer : targetFaction.getFPlayersWhereOnline(true)) {
|
|
|
|
if (fplayer == fme) {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
String blame = (fme == null ? TL.GENERIC_SERVERADMIN.toString() : fme.describeTo(fplayer, true));
|
|
|
|
fplayer.msg(TL.COMMAND_PERMANENTPOWER_FACTION, blame, change);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public TL getUsageTranslation() {
|
|
|
|
return TL.COMMAND_PERMANENTPOWER_DESCRIPTION;
|
|
|
|
}
|
|
|
|
}
|