From fe75a3cfda34b38a3e7ccff4fca52b1719e6904a Mon Sep 17 00:00:00 2001 From: zhangyuheng Date: Thu, 18 Jul 2024 20:26:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E5=9C=A8=E6=9F=90?= =?UTF-8?q?=E4=BA=9B=E6=83=85=E5=86=B5=E4=B8=8B=E6=B2=A1=E6=9C=89=E7=BB=8F?= =?UTF-8?q?=E6=B5=8E=E6=8F=92=E4=BB=B6=E4=B9=9F=E8=83=BD=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E9=A2=86=E5=9C=B0=E7=9A=84=E5=8F=AF=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../controllers/DominionController.java | 24 +++++++++++-------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/pom.xml b/pom.xml index 883302d..2c675f9 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ cn.lunadeer Dominion - 1.38.1-beta + 1.38.2-beta jar Dominion diff --git a/src/main/java/cn/lunadeer/dominion/controllers/DominionController.java b/src/main/java/cn/lunadeer/dominion/controllers/DominionController.java index 32a4713..bf52504 100644 --- a/src/main/java/cn/lunadeer/dominion/controllers/DominionController.java +++ b/src/main/java/cn/lunadeer/dominion/controllers/DominionController.java @@ -163,8 +163,11 @@ public class DominionController { } } // 检查经济 - if (!skipEco) - handleEconomy(operator, Dominion.config.getEconomyOnlyXZ() ? dominion.getSquare() : dominion.getVolume(), true, FAIL, SUCCESS); + if (!skipEco) { + if (handleEconomyFailed(operator, Dominion.config.getEconomyOnlyXZ() ? dominion.getSquare() : dominion.getVolume(), true, FAIL, SUCCESS)) { + return; + } + } dominion = DominionDTO.insert(dominion); if (dominion == null) { operator.setResponse(FAIL.addMessage("创建领地失败,数据库错误,请联系管理员")); @@ -231,8 +234,8 @@ public class DominionController { } AbstractOperator.Result SUCCESS = new AbstractOperator.Result(AbstractOperator.Result.SUCCESS, "成功扩展领地 %s %d格", dominion_name, size); // 检查经济 - handleEconomy(operator, Dominion.config.getEconomyOnlyXZ() ? sqr(newCords) - dominion.getSquare() : vol(newCords) - dominion.getVolume() - , true, FAIL, SUCCESS); + if (handleEconomyFailed(operator, Dominion.config.getEconomyOnlyXZ() ? sqr(newCords) - dominion.getSquare() : vol(newCords) - dominion.getVolume() + , true, FAIL, SUCCESS)) return; // 显示粒子效果 dominion = dominion.setXYZ(newCords); handleParticle(operator, dominion); @@ -283,8 +286,8 @@ public class DominionController { } AbstractOperator.Result SUCCESS = new AbstractOperator.Result(AbstractOperator.Result.SUCCESS, "成功缩小领地 %s %d格", dominion_name, size); // 退还经济 - handleEconomy(operator, Dominion.config.getEconomyOnlyXZ() ? dominion.getSquare() - sqr(newCords) : dominion.getVolume() - vol(newCords) - , false, FAIL, SUCCESS); + if (handleEconomyFailed(operator, Dominion.config.getEconomyOnlyXZ() ? dominion.getSquare() - sqr(newCords) : dominion.getVolume() - vol(newCords) + , false, FAIL, SUCCESS)) return; // 显示粒子效果 dominion = dominion.setXYZ(newCords); handleParticle(operator, dominion); @@ -343,7 +346,7 @@ public class DominionController { count += sub_dominion.getVolume(); } } - handleEconomy(operator, count, false, FAIL, SUCCESS); + if (handleEconomyFailed(operator, count, false, FAIL, SUCCESS)) return; operator.setResponse(SUCCESS); } @@ -756,17 +759,17 @@ public class DominionController { * @param FAIL 失败消息 * @param SUCCESS 成功消息 */ - private static void handleEconomy(AbstractOperator operator, Integer count, boolean paid, AbstractOperator.Result FAIL, AbstractOperator.Result SUCCESS) { + private static boolean handleEconomyFailed(AbstractOperator operator, Integer count, boolean paid, AbstractOperator.Result FAIL, AbstractOperator.Result SUCCESS) { if (Dominion.config.getEconomyEnable()) { if (!VaultConnect.instance.economyAvailable()) { operator.setResponse(FAIL.addMessage("没有可用的经济插件系统,请联系服主。")); - return; + return true; } float priceOrRefund = count * Dominion.config.getEconomyPrice(); if (paid) { if (VaultConnect.instance.getBalance(operator.getPlayer()) < priceOrRefund) { operator.setResponse(FAIL.addMessage("你的余额不足,需要 %.2f %s", priceOrRefund, VaultConnect.instance.currencyNamePlural())); - return; + return true; } SUCCESS.addMessage("已扣除 %.2f %s", priceOrRefund, VaultConnect.instance.currencyNamePlural()); VaultConnect.instance.withdrawPlayer(operator.getPlayer(), priceOrRefund); @@ -776,6 +779,7 @@ public class DominionController { SUCCESS.addMessage("已退还 %.2f %s", refund, VaultConnect.instance.currencyNamePlural()); } } + return false; } /**