From 7a211da7fd67f3bd2092adb80ea30bcf0c244fc6 Mon Sep 17 00:00:00 2001 From: Auxilor Date: Tue, 26 Oct 2021 15:41:49 +0100 Subject: [PATCH] Fixed insufficient exp withdrawing money while failing --- .../reforges/reforges/util/ReforgeHandler.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/eco-core/core-plugin/src/main/java/com/willfp/reforges/reforges/util/ReforgeHandler.java b/eco-core/core-plugin/src/main/java/com/willfp/reforges/reforges/util/ReforgeHandler.java index fde5cae..90f3018 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/reforges/reforges/util/ReforgeHandler.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/reforges/reforges/util/ReforgeHandler.java @@ -56,14 +56,15 @@ public class ReforgeHandler extends PluginDependent { return; } - + double cost = 0; if (EconomyHandler.isEnabled()) { - double cost = this.getPlugin().getConfigYml().getDouble("reforge.cost"); + cost = this.getPlugin().getConfigYml().getDouble("reforge.cost"); int reforges = ReforgeUtils.getReforges(toReforge); cost *= Math.pow(this.getPlugin().getConfigYml().getDouble("reforge.cost-exponent"), reforges); if (reforge.getRequiresStone() && reforge.getStonePrice() != -1) { cost = reforge.getStonePrice(); } + if (!EconomyHandler.getInstance().has(player, cost)) { player.sendMessage(this.getPlugin().getLangYml().getMessage("insufficient-money")); @@ -76,9 +77,6 @@ public class ReforgeHandler extends PluginDependent { return; } - - - EconomyHandler.getInstance().withdrawPlayer(player, cost); } int xpCost = this.getPlugin().getConfigYml().getInt("reforge.xp-cost"); @@ -97,6 +95,10 @@ public class ReforgeHandler extends PluginDependent { return; } + if (EconomyHandler.isEnabled()) { + EconomyHandler.getInstance().withdrawPlayer(player, cost); + } + player.setLevel(player.getLevel() - xpCost); player.sendMessage(this.getPlugin().getLangYml().getMessage("applied-reforge").replace("%reforge%", reforge.getName()));