package com.massivecraft.factions.cmd; import com.massivecraft.factions.FPlayer; import com.massivecraft.factions.FPlayers; import com.massivecraft.factions.Faction; import com.massivecraft.factions.SavageFactions; import com.massivecraft.factions.struct.Permission; import com.massivecraft.factions.zcore.util.TL; public class CmdPermanent extends FCommand { public CmdPermanent() { super(); this.aliases.add("permanent"); this.requiredArgs.add("faction tag"); //this.optionalArgs.put("", ""); this.permission = Permission.SET_PERMANENT.node; this.disableOnLock = true; senderMustBePlayer = false; senderMustBeMember = false; senderMustBeModerator = false; senderMustBeColeader = false; senderMustBeAdmin = false; } @Override public void perform() { Faction faction = this.argAsFaction(0); if (faction == null) { return; } String change; if (faction.isPermanent()) { change = TL.COMMAND_PERMANENT_REVOKE.toString(); faction.setPermanent(false); } else { change = TL.COMMAND_PERMANENT_GRANT.toString(); faction.setPermanent(true); } SavageFactions.plugin.log((fme == null ? "A server admin" : fme.getName()) + " " + change + " the faction \"" + faction.getTag() + "\"."); // Inform all players for (FPlayer fplayer : FPlayers.getInstance().getOnlinePlayers()) { String blame = (fme == null ? TL.GENERIC_SERVERADMIN.toString() : fme.describeTo(fplayer, true)); if (fplayer.getFaction() == faction) { fplayer.msg(TL.COMMAND_PERMANENT_YOURS, blame, change); } else { fplayer.msg(TL.COMMAND_PERMANENT_OTHER, blame, change, faction.getTag(fplayer)); } } } @Override public TL getUsageTranslation() { return TL.COMMAND_PERMANENT_DESCRIPTION; } }