51 lines
1.2 KiB
Java
51 lines
1.2 KiB
Java
package com.massivecraft.factions.cmd;
|
|
|
|
import com.massivecraft.factions.Board;
|
|
import com.massivecraft.factions.FLocation;
|
|
import com.massivecraft.factions.Factions;
|
|
import com.massivecraft.factions.struct.Permission;
|
|
|
|
public class CmdSafeclaim extends FCommand
|
|
{
|
|
|
|
public CmdSafeclaim()
|
|
{
|
|
this.aliases.add("safeclaim");
|
|
this.aliases.add("safe");
|
|
|
|
//this.requiredArgs.add("");
|
|
this.optionalArgs.put("radius", "0");
|
|
|
|
this.permission = Permission.MANAGE_SAFE_ZONE.node;
|
|
this.disableOnLock = true;
|
|
|
|
senderMustBePlayer = true;
|
|
senderMustBeMember = false;
|
|
senderMustBeModerator = false;
|
|
senderMustBeAdmin = false;
|
|
|
|
this.setHelpShort("Claim land for the safezone");
|
|
}
|
|
|
|
@Override
|
|
public void perform()
|
|
{
|
|
// The current location of the player
|
|
FLocation playerFlocation = new FLocation(fme);
|
|
|
|
int radius = this.argAsInt(0, 0);
|
|
if (radius < 0) radius = 0;
|
|
|
|
FLocation from = playerFlocation.getRelative(radius, radius);
|
|
FLocation to = playerFlocation.getRelative(-radius, -radius);
|
|
|
|
for (FLocation locToClaim : FLocation.getArea(from, to))
|
|
{
|
|
Board.setFactionAt(Factions.i.getSafeZone(), locToClaim);
|
|
}
|
|
|
|
msg("<i>You claimed <h>%d chunks<i> for the <a>safe zone<i>.", (1+radius*2)*(1+radius*2));
|
|
}
|
|
|
|
}
|