Factions/src/main/java/com/massivecraft/factions/cmd/CmdFactionsMap.java

69 lines
1.6 KiB
Java

package com.massivecraft.factions.cmd;
import java.util.List;
import com.massivecraft.factions.Const;
import com.massivecraft.factions.Perm;
import com.massivecraft.factions.entity.BoardColl;
import com.massivecraft.massivecore.cmd.arg.ARBoolean;
import com.massivecraft.massivecore.cmd.req.ReqHasPerm;
import com.massivecraft.massivecore.cmd.req.ReqIsPlayer;
import com.massivecraft.massivecore.ps.PS;
public class CmdFactionsMap extends FactionsCommand
{
// -------------------------------------------- //
// CONSTRUCT
// -------------------------------------------- //
public CmdFactionsMap()
{
// Aliases
this.addAliases("map");
// Args
this.addOptionalArg("on/off", "once");
// Requirements
this.addRequirements(ReqHasPerm.get(Perm.MAP.node));
this.addRequirements(ReqIsPlayer.get());
}
// -------------------------------------------- //
// OVERRIDE
// -------------------------------------------- //
@Override
public void perform()
{
if ( ! this.argIsSet(0))
{
showMap(Const.MAP_WIDTH, Const.MAP_HEIGHT_FULL);
return;
}
if (this.arg(0, ARBoolean.get(), !msender.isMapAutoUpdating()))
{
// And show the map once
showMap(Const.MAP_WIDTH, Const.MAP_HEIGHT);
// Turn on
msender.setMapAutoUpdating(true);
msg("<i>Map auto update <green>ENABLED.");
}
else
{
// Turn off
msender.setMapAutoUpdating(false);
msg("<i>Map auto update <red>DISABLED.");
}
}
public void showMap(int width, int height)
{
List<String> message = BoardColl.get().getMap(msenderFaction, PS.valueOf(me), me.getLocation().getYaw(), width, height);
sendMessage(message);
}
}