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

69 lines
2.4 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-12-25 04:19:49 +01:00
import com.massivecraft.factions.Faction;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.cmd.Aliases;
import com.massivecraft.factions.cmd.CommandContext;
import com.massivecraft.factions.cmd.CommandRequirements;
2019-07-02 03:26:13 +02:00
import com.massivecraft.factions.cmd.FCommand;
2019-12-25 04:19:49 +01:00
import com.massivecraft.factions.cmd.audit.FLogType;
import com.massivecraft.factions.integration.Econ;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.struct.Role;
2019-12-25 04:19:49 +01:00
import com.massivecraft.factions.util.CC;
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 {
2019-12-02 19:55:38 +01:00
/**
* @author FactionsUUID Team
*/
public CmdMoneyWithdraw() {
this.aliases.addAll(Aliases.money_withdraw);
this.requiredArgs.add("amount");
this.optionalArgs.put("faction", "yours");
this.requirements = new CommandRequirements.Builder(Permission.MONEY_F2P)
.playerOnly()
.build();
}
@Override
public void perform(CommandContext context) {
double amount = context.argAsDouble(0, 0d);
2020-03-26 06:11:57 +01:00
if (amount <= 0) {
2020-03-26 06:11:57 +01:00
return;
}
2020-06-09 12:28:34 +02:00
Faction faction = context.argAsFaction(1, context.faction);
if (faction == null) {
return;
}
Access access = context.faction.getAccess(context.fPlayer, PermissableAction.WITHDRAW);
2020-06-09 12:28:34 +02:00
if (context.fPlayer.getRole() != Role.LEADER && access == Access.DENY) {
context.msg(TL.GENERIC_NOPERMISSION, "withdraw", "withdraw money from the bank");
return;
}
boolean success = Econ.transferMoney(context.fPlayer, faction, context.fPlayer, amount);
if (success && Conf.logMoneyTransactions) {
FactionsPlugin.getInstance().log(ChatColor.stripColor(FactionsPlugin.getInstance().txt.parse(TL.COMMAND_MONEYWITHDRAW_WITHDRAW.toString(), context.fPlayer.getName(), Econ.moneyString(amount), faction.describeTo(null))));
2020-06-09 12:28:34 +02:00
FactionsPlugin.instance.logFactionEvent(faction, FLogType.BANK_EDIT, context.fPlayer.getName(), CC.RedB + "WITHDREW", amount + "");
}
}
@Override
public TL getUsageTranslation() {
return TL.COMMAND_MONEYWITHDRAW_DESCRIPTION;
}
2011-09-24 03:22:53 +02:00
}