Saber-Factions/src/main/java/com/massivecraft/factions/cmd/econ/CmdMoneyWithdraw.java

67 lines
2.1 KiB
Java
Raw Normal View History

2019-07-02 03:26:13 +02:00
package com.massivecraft.factions.cmd.econ;
2011-09-24 03:22:53 +02:00
import com.massivecraft.factions.Conf;
2019-08-02 23:01:33 +02:00
import com.massivecraft.factions.P;
2019-07-02 03:26:13 +02:00
import com.massivecraft.factions.cmd.FCommand;
2014-04-04 20:55:21 +02:00
import com.massivecraft.factions.iface.EconomyParticipator;
import com.massivecraft.factions.integration.Econ;
import com.massivecraft.factions.struct.Permission;
2018-02-03 22:01:25 +01:00
import com.massivecraft.factions.zcore.fperms.Access;
import com.massivecraft.factions.zcore.fperms.PermissableAction;
import com.massivecraft.factions.zcore.util.TL;
import org.bukkit.ChatColor;
2014-04-04 20:55:21 +02:00
public class CmdMoneyWithdraw extends FCommand {
public CmdMoneyWithdraw() {
this.aliases.add("w");
this.aliases.add("withdraw");
2014-04-04 20:55:21 +02:00
this.requiredArgs.add("amount");
this.optionalArgs.put("faction", "yours");
2014-04-04 20:55:21 +02:00
this.permission = Permission.MONEY_WITHDRAW.node;
this.isMoneyCommand = true;
2014-04-04 20:55:21 +02:00
2018-12-21 22:46:10 +01:00
senderMustBePlayer = true;
senderMustBeMember = false;
senderMustBeModerator = false;
senderMustBeColeader = false;
senderMustBeAdmin = false;
}
2014-04-04 20:55:21 +02:00
@Override
public void perform() {
double amount = this.argAsDouble(0, 0d);
EconomyParticipator faction = this.argAsFaction(1, myFaction);
if (faction == null) {
return;
}
2018-02-03 22:01:25 +01:00
Access access = myFaction.getAccess(fme, PermissableAction.WITHDRAW);
if (access == Access.DENY) {
fme.msg(TL.GENERIC_NOPERMISSION, "withdraw");
return;
}
2018-02-03 22:01:25 +01:00
if (Conf.econFactionStartingBalance != 0 && (System.currentTimeMillis() - myFaction.getFoundedDate()) <= (Conf.econDenyWithdrawWhenMinutesAgeLessThan * 6000)) {
msg("Your faction is too young to withdraw money like this");
return;
}
boolean success = Econ.transferMoney(fme, faction, fme, amount);
2014-04-04 20:55:21 +02:00
if (success && Conf.logMoneyTransactions) {
P.p.log(ChatColor.stripColor(P.p.txt.parse(TL.COMMAND_MONEYWITHDRAW_WITHDRAW.toString(), fme.getName(), Econ.moneyString(amount), faction.describeTo(null))));
}
}
@Override
public TL getUsageTranslation() {
return TL.COMMAND_MONEYWITHDRAW_DESCRIPTION;
}
2011-09-24 03:22:53 +02:00
}