Territory Titles Toggle Command

This commit is contained in:
Olof Larsson
2015-08-28 09:00:24 +02:00
parent 89b93801d0
commit 8eaf1215d2
7 changed files with 187 additions and 90 deletions

View File

@@ -39,6 +39,7 @@ public class CmdFactions extends FactionsCommand
public CmdFactionsMoney cmdFactionsMoney = new CmdFactionsMoney();
public CmdFactionsSeeChunk cmdFactionsSeeChunk = new CmdFactionsSeeChunk();
public CmdFactionsSeeChunkOld cmdFactionsSeeChunkOld = new CmdFactionsSeeChunkOld();
public CmdFactionsTerritorytitles cmdFactionsTerritorytitles = new CmdFactionsTerritorytitles();
public CmdFactionsStatus cmdFactionsStatus = new CmdFactionsStatus();
public CmdFactionsClaim cmdFactionsClaim = new CmdFactionsClaim();
public CmdFactionsUnclaim cmdFactionsUnclaim = new CmdFactionsUnclaim();
@@ -91,6 +92,7 @@ public class CmdFactions extends FactionsCommand
this.addSubCommand(this.cmdFactionsMoney);
this.addSubCommand(this.cmdFactionsSeeChunk);
this.addSubCommand(this.cmdFactionsSeeChunkOld);
this.addSubCommand(this.cmdFactionsTerritorytitles);
this.addSubCommand(this.cmdFactionsClaim);
this.addSubCommand(this.cmdFactionsUnclaim);
this.addSubCommand(this.cmdFactionsAccess);

View File

@@ -0,0 +1,65 @@
package com.massivecraft.factions.cmd;
import com.massivecraft.factions.Perm;
import com.massivecraft.massivecore.MassiveException;
import com.massivecraft.massivecore.cmd.VisibilityMode;
import com.massivecraft.massivecore.cmd.arg.ARBoolean;
import com.massivecraft.massivecore.cmd.req.ReqHasPerm;
import com.massivecraft.massivecore.cmd.req.ReqTitlesAvailable;
import com.massivecraft.massivecore.mixin.Mixin;
import com.massivecraft.massivecore.util.Txt;
public class CmdFactionsTerritorytitles extends FactionsCommand
{
// -------------------------------------------- //
// CONSTRUCT
// -------------------------------------------- //
public CmdFactionsTerritorytitles()
{
// Aliases
this.addAliases("tt", "territorytitles");
// Args
this.addArg(ARBoolean.get(), "on|off", "toggle");
// Requirements
this.addRequirements(ReqHasPerm.get(Perm.TERRITORYTITLES.node));
this.addRequirements(ReqTitlesAvailable.get());
}
// -------------------------------------------- //
// OVERRIDE
// -------------------------------------------- //
@Override
public VisibilityMode getVisibilityMode()
{
// We hide the command if titles aren't available.
if ( ! Mixin.isTitlesAvailable()) return VisibilityMode.INVISIBLE;
return super.getVisibilityMode();
}
@Override
public void perform() throws MassiveException
{
// Args
boolean before = msender.isTerritoryInfoTitles();
boolean after = this.readArg(!before);
String desc = Txt.parse(after ? "<g>ON" : "<b>OFF");
// NoChange
if (after == before)
{
msg("<i>Territory titles is already %s<i>.", desc);
return;
}
// Apply
msender.setTerritoryInfoTitles(after);
// Inform
msg("<i>Territory titles is now %s<i>.", desc);
}
}