From b9fbcfcdf5312bfe1f8a14a43515c8eb7f2c3724 Mon Sep 17 00:00:00 2001 From: AppleDash Date: Thu, 22 Sep 2016 03:54:46 -0400 Subject: [PATCH] Merge --- SaneEconomyCore/pom.xml | 2 +- .../org/appledash/saneeconomy/SaneEconomy.java | 10 ++++++++++ .../command/type/EconomyAdminCommand.java | 2 +- .../saneeconomy/economy/EconomyManager.java | 18 +++++++++--------- .../saneeconomy/vault/EconomySaneEconomy.java | 2 +- pom.xml | 6 ++++++ 6 files changed, 28 insertions(+), 12 deletions(-) diff --git a/SaneEconomyCore/pom.xml b/SaneEconomyCore/pom.xml index 22bcf8e..5e2a523 100644 --- a/SaneEconomyCore/pom.xml +++ b/SaneEconomyCore/pom.xml @@ -50,7 +50,7 @@ - org.mcstats.bukkit:metrics + org.mcstats.*:* diff --git a/SaneEconomyCore/src/main/java/org/appledash/saneeconomy/SaneEconomy.java b/SaneEconomyCore/src/main/java/org/appledash/saneeconomy/SaneEconomy.java index 7a6f385..3178fe3 100644 --- a/SaneEconomyCore/src/main/java/org/appledash/saneeconomy/SaneEconomy.java +++ b/SaneEconomyCore/src/main/java/org/appledash/saneeconomy/SaneEconomy.java @@ -10,8 +10,10 @@ import org.appledash.saneeconomy.utils.I18n; import org.appledash.saneeconomy.utils.SaneEconomyConfiguration; import org.appledash.saneeconomy.vault.VaultHook; import org.bukkit.plugin.java.JavaPlugin; +import org.mcstats.Metrics; import java.io.File; +import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.logging.Logger; @@ -62,6 +64,14 @@ public class SaneEconomy extends JavaPlugin implements ISaneEconomy { economyManager.getBackend().reloadTopPlayerBalances(); }, 0, (20 * 300) /* Update baltop every 5 minutes */); I18n.getInstance().loadTranslations(); + + try { + Metrics metrics = new Metrics(this); + metrics.start(); + } catch (IOException e) { + getLogger().warning("Failed to start Metrics."); + e.printStackTrace(); + } } @Override diff --git a/SaneEconomyCore/src/main/java/org/appledash/saneeconomy/command/type/EconomyAdminCommand.java b/SaneEconomyCore/src/main/java/org/appledash/saneeconomy/command/type/EconomyAdminCommand.java index 380a8d0..d3f2a62 100644 --- a/SaneEconomyCore/src/main/java/org/appledash/saneeconomy/command/type/EconomyAdminCommand.java +++ b/SaneEconomyCore/src/main/java/org/appledash/saneeconomy/command/type/EconomyAdminCommand.java @@ -95,7 +95,7 @@ public class EconomyAdminCommand extends SaneEconomyCommand { } if (subCommand.equalsIgnoreCase("take")) { - Transaction transaction = new Transaction(Economable.wrap(sender), Economable.wrap(targetPlayer), amount, TransactionReason.ADMIN); + Transaction transaction = new Transaction(Economable.wrap(targetPlayer), Economable.wrap(sender), amount, TransactionReason.ADMIN); TransactionResult result = ecoMan.transact(transaction); double newAmount = result.getFromBalance(); diff --git a/SaneEconomyCore/src/main/java/org/appledash/saneeconomy/economy/EconomyManager.java b/SaneEconomyCore/src/main/java/org/appledash/saneeconomy/economy/EconomyManager.java index 8673a73..2f2c914 100644 --- a/SaneEconomyCore/src/main/java/org/appledash/saneeconomy/economy/EconomyManager.java +++ b/SaneEconomyCore/src/main/java/org/appledash/saneeconomy/economy/EconomyManager.java @@ -79,11 +79,8 @@ public class EconomyManager { * @return True if they have requiredBalance or more, false otherwise */ public boolean hasBalance(Economable targetPlayer, double requiredBalance) { - if (targetPlayer == Economable.CONSOLE) { - return true; - } + return targetPlayer == Economable.CONSOLE || getBalance(targetPlayer) >= requiredBalance; - return getBalance(targetPlayer) >= requiredBalance; } /** @@ -149,7 +146,7 @@ public class EconomyManager { amount = NumberUtils.filterAmount(currency, amount); if (amount < 0) { - throw new IllegalArgumentException("Cannot set balance to a negative value!"); + throw new IllegalArgumentException("Cannot subtract a negative amount!"); } if (targetPlayer == Economable.CONSOLE) { @@ -160,17 +157,20 @@ public class EconomyManager { } /** - * Perform a transaction. + * Perform a transaction - a transfer of funds from one entity to another. * @param transaction Transaction to perform. + * @return TransactionResult describing success or failure of the Transaction. */ public TransactionResult transact(Transaction transaction) { Economable sender = transaction.getSender(); Economable receiver = transaction.getReceiver(); - double amount = transaction.getAmount(); + double amount = transaction.getAmount(); // This amount is validated upon creation of Transaction if (!transaction.isFree()) { // If the transaction is occurring because of another plugin or because of an admin. - if (!hasBalance(sender, amount) && (transaction.getReason() != TransactionReason.TEST)) { - return new TransactionResult(transaction, Status.ERR_NOT_ENOUGH_FUNDS); + // If the sender doesn't have the balance AND we're not testing, throw an error. + // I don't really know why we check if they're testing, but it breaks if we don't. FIXME. + if (!hasBalance(sender, amount) && transaction.getReason() != TransactionReason.TEST) { + return new TransactionResult(transaction, TransactionResult.Status.ERR_NOT_ENOUGH_FUNDS); } subtractBalance(sender, amount); diff --git a/SaneEconomyCore/src/main/java/org/appledash/saneeconomy/vault/EconomySaneEconomy.java b/SaneEconomyCore/src/main/java/org/appledash/saneeconomy/vault/EconomySaneEconomy.java index 8010525..143808a 100644 --- a/SaneEconomyCore/src/main/java/org/appledash/saneeconomy/vault/EconomySaneEconomy.java +++ b/SaneEconomyCore/src/main/java/org/appledash/saneeconomy/vault/EconomySaneEconomy.java @@ -145,7 +145,7 @@ public class EconomySaneEconomy implements Economy { } return transact(new Transaction( - economable, Economable.PLUGIN, v, TransactionReason.PLUGIN + economable, Economable.PLUGIN, v, TransactionReason.PLUGIN )); } diff --git a/pom.xml b/pom.xml index db63eb1..cdfa435 100644 --- a/pom.xml +++ b/pom.xml @@ -42,5 +42,11 @@ VaultAPI 1.6 + + org.mcstats.bukkit + metrics + R8-SNAPSHOT + compile +