2011-10-13 16:07:07 +02:00
|
|
|
package com.massivecraft.factions.cmd;
|
|
|
|
|
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;
|
2018-10-23 01:42:57 +02:00
|
|
|
import com.massivecraft.factions.SavageFactions;
|
2014-04-04 20:55:21 +02:00
|
|
|
import com.massivecraft.factions.iface.EconomyParticipator;
|
2011-10-13 16:07: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;
|
2018-01-04 08:32:19 +01:00
|
|
|
import org.bukkit.entity.Player;
|
2011-10-23 20:14:51 +02:00
|
|
|
|
2011-10-13 16:07:07 +02:00
|
|
|
|
2014-04-04 20:55:21 +02:00
|
|
|
public class CmdMoneyTransferFf extends FCommand {
|
2014-08-05 17:17:27 +02:00
|
|
|
|
2014-04-04 20:55:21 +02:00
|
|
|
public CmdMoneyTransferFf() {
|
|
|
|
this.aliases.add("ff");
|
|
|
|
|
2014-07-01 22:10:18 +02:00
|
|
|
this.requiredArgs.add("amount");
|
|
|
|
this.requiredArgs.add("faction");
|
|
|
|
this.requiredArgs.add("faction");
|
2014-04-04 20:55:21 +02:00
|
|
|
|
|
|
|
//this.optionalArgs.put("", "");
|
|
|
|
|
2014-07-01 22:10:18 +02:00
|
|
|
this.permission = Permission.MONEY_F2F.node;
|
2014-04-04 20:55:21 +02:00
|
|
|
|
2014-07-01 22:10:18 +02:00
|
|
|
senderMustBePlayer = false;
|
|
|
|
senderMustBeMember = false;
|
|
|
|
senderMustBeModerator = false;
|
2018-03-26 23:43:15 +02:00
|
|
|
senderMustBeColeader = false;
|
2014-04-04 20:55:21 +02:00
|
|
|
senderMustBeAdmin = false;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void perform() {
|
2014-07-01 22:10:18 +02:00
|
|
|
double amount = this.argAsDouble(0, 0d);
|
|
|
|
EconomyParticipator from = this.argAsFaction(1);
|
|
|
|
if (from == null) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
EconomyParticipator to = this.argAsFaction(2);
|
|
|
|
if (to == null) {
|
|
|
|
return;
|
|
|
|
}
|
2014-04-04 20:55:21 +02:00
|
|
|
|
|
|
|
boolean success = Econ.transferMoney(fme, from, to, amount);
|
|
|
|
|
2014-07-01 21:49:42 +02:00
|
|
|
if (success && Conf.logMoneyTransactions) {
|
2018-01-04 08:32:19 +01:00
|
|
|
String name = sender instanceof Player ? fme.getName() : sender.getName();
|
2018-10-23 01:42:57 +02:00
|
|
|
SavageFactions.plugin.log(ChatColor.stripColor(SavageFactions.plugin.txt.parse(TL.COMMAND_MONEYTRANSFERFF_TRANSFER.toString(), name, Econ.moneyString(amount), from.describeTo(null), to.describeTo(null))));
|
2014-07-01 21:49:42 +02:00
|
|
|
}
|
2014-04-04 20:55:21 +02:00
|
|
|
}
|
2015-01-22 00:58:33 +01:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public TL getUsageTranslation() {
|
|
|
|
return TL.COMMAND_MONEYTRANSFERFF_DESCRIPTION;
|
|
|
|
}
|
2011-10-13 16:07:07 +02:00
|
|
|
}
|