2019-07-02 03:26:13 +02:00
|
|
|
package com.massivecraft.factions.cmd.econ;
|
2011-10-13 14:41:07 +02:00
|
|
|
|
Additional logging, with new conf.json settings to enable/disable logging of specific events:
"logFactionCreate": true, - log faction creation
"logFactionDisband": true, - log factions being disbanded, by command or by circumstance
"logFactionJoin": true, - log player joining a faction
"logFactionKick": true, - log player being kicked from a faction
"logFactionLeave": true, - log player leaving a faction
"logLandClaims": true, - log land being claimed (including safe zone and war zone)
"logLandUnclaims": true, - log land being unclaimed (including safe zone and war zone)
"logMoneyTransactions": true, - log money being deposited, withdrawn, and otherwise transferred in relation to faction banks
Also a fix for a potential NPE from players logging out and Spout appearance handler referencing them afterwards
2011-10-23 19:50:02 +02:00
|
|
|
import com.massivecraft.factions.Conf;
|
2019-09-14 21:13:01 +02:00
|
|
|
import com.massivecraft.factions.FactionsPlugin;
|
2020-01-02 02:59:31 +01:00
|
|
|
import com.massivecraft.factions.cmd.Aliases;
|
2019-09-14 21:13:01 +02:00
|
|
|
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;
|
2011-10-23 20:14:51 +02:00
|
|
|
import com.massivecraft.factions.iface.EconomyParticipator;
|
2011-10-13 14:41:07 +02:00
|
|
|
import com.massivecraft.factions.integration.Econ;
|
|
|
|
import com.massivecraft.factions.struct.Permission;
|
2014-12-08 00:12:52 +01:00
|
|
|
import com.massivecraft.factions.zcore.util.TL;
|
2011-10-23 20:14:51 +02:00
|
|
|
import org.bukkit.ChatColor;
|
|
|
|
|
2011-10-13 14:41:07 +02:00
|
|
|
|
2014-04-04 20:55:21 +02:00
|
|
|
public class CmdMoneyDeposit extends FCommand {
|
|
|
|
|
2019-12-02 19:55:38 +01:00
|
|
|
/**
|
|
|
|
* @author FactionsUUID Team
|
|
|
|
*/
|
|
|
|
|
2019-09-15 11:19:06 +02:00
|
|
|
public CmdMoneyDeposit() {
|
|
|
|
super();
|
2020-01-02 02:59:31 +01:00
|
|
|
this.aliases.addAll(Aliases.money_deposit);
|
2019-09-15 11:19:06 +02:00
|
|
|
|
|
|
|
this.requiredArgs.add("amount");
|
|
|
|
this.optionalArgs.put("faction", "yours");
|
|
|
|
|
|
|
|
this.requirements = new CommandRequirements.Builder(Permission.MONEY_DEPOSIT)
|
|
|
|
.memberOnly()
|
|
|
|
.build();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void perform(CommandContext context) {
|
|
|
|
double amount = context.argAsDouble(0, 0d);
|
|
|
|
EconomyParticipator faction = context.argAsFaction(1, context.faction);
|
2020-03-26 06:11:57 +01:00
|
|
|
|
2020-04-06 16:32:16 +02:00
|
|
|
if (amount <= 0) {
|
2020-03-26 06:11:57 +01:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2019-09-15 11:19:06 +02:00
|
|
|
if (faction == null) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
boolean success = Econ.transferMoney(context.fPlayer, context.fPlayer, faction, amount);
|
|
|
|
|
|
|
|
if (success && Conf.logMoneyTransactions) {
|
|
|
|
FactionsPlugin.getInstance().log(ChatColor.stripColor(FactionsPlugin.getInstance().txt.parse(TL.COMMAND_MONEYDEPOSIT_DEPOSITED.toString(), context.fPlayer.getName(), Econ.moneyString(amount), faction.describeTo(null))));
|
2019-12-25 04:19:49 +01:00
|
|
|
FactionsPlugin.instance.logFactionEvent(context.faction, FLogType.BANK_EDIT, context.fPlayer.getName(), ChatColor.GREEN + ChatColor.BOLD.toString() + "DEPOSITED", amount + "");
|
|
|
|
|
2019-09-15 11:19:06 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public TL getUsageTranslation() {
|
|
|
|
return TL.COMMAND_MONEYDEPOSIT_DESCRIPTION;
|
|
|
|
}
|
2015-01-22 00:58:33 +01:00
|
|
|
|
2011-10-13 14:41:07 +02:00
|
|
|
}
|
2019-09-14 21:13:01 +02:00
|
|
|
|