Completely Reformatted GracePeriod with a timer now
This commit is contained in:
@@ -1,35 +1,73 @@
|
||||
package com.massivecraft.factions.cmd.grace;
|
||||
|
||||
import com.massivecraft.factions.Conf;
|
||||
import com.massivecraft.factions.FPlayer;
|
||||
import com.massivecraft.factions.FPlayers;
|
||||
import com.massivecraft.factions.FactionsPlugin;
|
||||
import com.massivecraft.factions.cmd.Aliases;
|
||||
import com.massivecraft.factions.cmd.CommandContext;
|
||||
import com.massivecraft.factions.cmd.CommandRequirements;
|
||||
import com.massivecraft.factions.cmd.FCommand;
|
||||
import com.massivecraft.factions.struct.Permission;
|
||||
import com.massivecraft.factions.util.timer.TimerManager;
|
||||
import com.massivecraft.factions.zcore.util.TL;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
public class CmdGrace extends FCommand {
|
||||
|
||||
/**
|
||||
* @author Driftay
|
||||
*/
|
||||
|
||||
//TODO: Make Timed Format For Grace Period
|
||||
public CmdGrace() {
|
||||
super();
|
||||
this.aliases.addAll(Aliases.grace);
|
||||
|
||||
this.optionalArgs.put("on/off", "toggle");
|
||||
|
||||
this.requirements = new CommandRequirements.Builder(Permission.GRACE)
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void perform(CommandContext context) {
|
||||
Conf.gracePeriod = !Conf.gracePeriod;
|
||||
context.msg(TL.COMMAND_GRACE_TOGGLE, Conf.gracePeriod ? FactionsPlugin.getInstance().color("&aEnabled") : FactionsPlugin.getInstance().color("&4Disabled"));
|
||||
}
|
||||
if (!Conf.useGraceSystem) {
|
||||
context.msg(TL.GENERIC_DISABLED, "factions grace");
|
||||
return;
|
||||
}
|
||||
|
||||
if(context.args.size() == 1) {
|
||||
if (context.sender.hasPermission(String.valueOf(Permission.GRACETOGGLE))) {
|
||||
if (context.argAsString(0).equalsIgnoreCase("on") || context.argAsString(0).equalsIgnoreCase("start")) {
|
||||
FactionsPlugin.getInstance().getTimerManager().graceTimer.setPaused(false);
|
||||
FactionsPlugin.getInstance().getTimerManager().graceTimer.setRemaining(TimeUnit.DAYS.toMillis(Conf.gracePeriodTimeDays), true);
|
||||
if (Conf.broadcastGraceToggles) {
|
||||
for (FPlayer follower : FPlayers.getInstance().getOnlinePlayers())
|
||||
follower.msg(TL.COMMAND_GRACE_ENABLED_FORMAT, String.valueOf(TimerManager.getRemaining(FactionsPlugin.getInstance().getTimerManager().graceTimer.getRemaining(), true)));
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (context.argAsString(0).equalsIgnoreCase("off") || context.argAsString(0).equalsIgnoreCase("stop")) {
|
||||
FactionsPlugin.getInstance().getTimerManager().graceTimer.setRemaining(TimeUnit.SECONDS.toMillis(0L), true);
|
||||
FactionsPlugin.getInstance().getTimerManager().graceTimer.setPaused(false);
|
||||
if (Conf.broadcastGraceToggles) {
|
||||
for (FPlayer follower : FPlayers.getInstance().getOnlinePlayers())
|
||||
follower.msg(TL.COMMAND_GRACE_DISABLED_FORMAT);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(FactionsPlugin.getInstance().getTimerManager().graceTimer.getRemaining() <= 0L) {
|
||||
context.fPlayer.msg(TL.COMMAND_GRACE_DISABLED_NO_FORMAT.toString());
|
||||
} else {
|
||||
context.fPlayer.msg(TL.COMMAND_GRACE_TIME_REMAINING, String.valueOf(TimerManager.getRemaining(FactionsPlugin.getInstance().getTimerManager().graceTimer.getRemaining(), true)));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public TL getUsageTranslation() {
|
||||
|
||||
Reference in New Issue
Block a user