70 lines
2.5 KiB
Java
70 lines
2.5 KiB
Java
|
package com.massivecraft.factions.cmd;
|
||
|
|
||
|
import com.massivecraft.factions.*;
|
||
|
import com.massivecraft.factions.struct.Permission;
|
||
|
import com.massivecraft.factions.util.WarmUpUtil;
|
||
|
import com.massivecraft.factions.zcore.util.TL;
|
||
|
|
||
|
public class CmdCheckpoint extends FCommand {
|
||
|
public CmdCheckpoint() {
|
||
|
super();
|
||
|
this.aliases.add("checkp");
|
||
|
this.aliases.add("checkpoint");
|
||
|
this.aliases.add("cpoint");
|
||
|
|
||
|
this.optionalArgs.put("set", "");
|
||
|
|
||
|
this.permission = Permission.CHECKPOINT.node;
|
||
|
this.disableOnLock = false;
|
||
|
|
||
|
senderMustBePlayer = true;
|
||
|
senderMustBeMember = true;
|
||
|
senderMustBeModerator = false;
|
||
|
senderMustBeColeader = false;
|
||
|
senderMustBeAdmin = false;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void perform() {
|
||
|
if (!P.p.getConfig().getBoolean("checkpoints.Enabled")) {
|
||
|
fme.msg(TL.COMMAND_CHECKPOINT_DISABLED);
|
||
|
return;
|
||
|
}
|
||
|
if (args.size() == 1) {
|
||
|
FLocation myLocation = new FLocation(fme.getPlayer().getLocation());
|
||
|
Faction myLocFaction = Board.getInstance().getFactionAt(myLocation);
|
||
|
if (myLocFaction == Factions.getInstance().getWilderness() || myLocFaction == fme.getFaction()) {
|
||
|
fme.getFaction().setCheckpoint(fme.getPlayer().getLocation());
|
||
|
fme.msg(TL.COMMAND_CHECKPOINT_SET);
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
if (fme.getFaction().getCheckpoint() == null) {
|
||
|
fme.msg(TL.COMMAND_CHECKPOINT_NOT_SET);
|
||
|
return;
|
||
|
}
|
||
|
FLocation checkLocation = new FLocation(fme.getFaction().getCheckpoint());
|
||
|
Faction checkfaction = Board.getInstance().getFactionAt(checkLocation);
|
||
|
|
||
|
if (checkfaction.getId().equals(Factions.getInstance().getWilderness().getId()) || checkfaction.getId().equals(fme.getFaction().getId())) {
|
||
|
fme.msg(TL.COMMAND_CHECKPOINT_GO);
|
||
|
fme.getPlayer().teleport(fme.getFaction().getCheckpoint());
|
||
|
} else {
|
||
|
fme.msg(TL.COMMAND_CHECKPOINT_CLAIMED);
|
||
|
}
|
||
|
this.doWarmUp(WarmUpUtil.Warmup.WARP, TL.WARMUPS_NOTIFY_TELEPORT, "Checkpoint", new Runnable() {
|
||
|
@Override
|
||
|
public void run() {
|
||
|
// Create a smoke effect
|
||
|
CmdCheckpoint.this.me.teleport(fme.getFaction().getCheckpoint());
|
||
|
}
|
||
|
}, this.p.getConfig().getLong("warmups.f-checkpoint", 0));
|
||
|
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public TL getUsageTranslation() {
|
||
|
return TL.COMMAND_CHECKPOINT_DESCRIPTION;
|
||
|
}
|
||
|
}
|