mirror of
https://github.com/ColdeZhang/Dominion.git
synced 2024-10-19 03:26:40 +08:00
修复了经济相关功能没有操作提示问题
This commit is contained in:
parent
a9230cd03f
commit
0244c4ae20
2
pom.xml
2
pom.xml
@ -6,7 +6,7 @@
|
||||
|
||||
<groupId>cn.lunadeer</groupId>
|
||||
<artifactId>Dominion</artifactId>
|
||||
<version>1.20.2-beta</version>
|
||||
<version>1.20.3-beta</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>Dominion</name>
|
||||
|
@ -6,9 +6,7 @@ import cn.lunadeer.dominion.controllers.DominionController;
|
||||
import cn.lunadeer.dominion.dtos.DominionDTO;
|
||||
import cn.lunadeer.dominion.dtos.PlayerPrivilegeDTO;
|
||||
import cn.lunadeer.dominion.utils.Notification;
|
||||
import cn.lunadeer.dominion.utils.XLogger;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
|
@ -90,21 +90,6 @@ public class DominionController {
|
||||
loc2.getBlockX(), loc2.getBlockY(), loc2.getBlockZ())) {
|
||||
return null;
|
||||
}
|
||||
// 检查经济
|
||||
if (Dominion.config.getEconomyEnable()) {
|
||||
int count;
|
||||
if (Dominion.config.getEconomyOnlyXZ()) {
|
||||
count = (loc2.getBlockX() - loc1.getBlockX() + 1) * (loc2.getBlockZ() - loc1.getBlockZ() + 1);
|
||||
} else {
|
||||
count = (loc2.getBlockX() - loc1.getBlockX() + 1) * (loc2.getBlockY() - loc1.getBlockY() + 1) * (loc2.getBlockZ() - loc1.getBlockZ() + 1);
|
||||
}
|
||||
double price = count * Dominion.config.getEconomyPrice();
|
||||
if (Dominion.vault.getEconomy().getBalance(owner) < price) {
|
||||
Notification.error(owner, "你的余额不足,创建此领地需要 " + price + " " + Dominion.vault.getEconomy().currencyNamePlural());
|
||||
return null;
|
||||
}
|
||||
Dominion.vault.getEconomy().withdrawPlayer(owner, price);
|
||||
}
|
||||
DominionDTO dominion = new DominionDTO(owner.getUniqueId(), name, owner.getWorld().getName(),
|
||||
(int) Math.min(loc1.getX(), loc2.getX()), (int) Math.min(loc1.getY(), loc2.getY()),
|
||||
(int) Math.min(loc1.getZ(), loc2.getZ()), (int) Math.max(loc1.getX(), loc2.getX()),
|
||||
@ -151,6 +136,22 @@ public class DominionController {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
// 检查经济
|
||||
if (Dominion.config.getEconomyEnable()) {
|
||||
int count;
|
||||
if (Dominion.config.getEconomyOnlyXZ()) {
|
||||
count = (loc2.getBlockX() - loc1.getBlockX() + 1) * (loc2.getBlockZ() - loc1.getBlockZ() + 1);
|
||||
} else {
|
||||
count = (loc2.getBlockX() - loc1.getBlockX() + 1) * (loc2.getBlockY() - loc1.getBlockY() + 1) * (loc2.getBlockZ() - loc1.getBlockZ() + 1);
|
||||
}
|
||||
double price = count * Dominion.config.getEconomyPrice();
|
||||
if (Dominion.vault.getEconomy().getBalance(owner) < price) {
|
||||
Notification.error(owner, "你的余额不足,创建此领地需要 " + price + " " + Dominion.vault.getEconomy().currencyNamePlural());
|
||||
return null;
|
||||
}
|
||||
Notification.info(owner, "已扣除 " + price + " " + Dominion.vault.getEconomy().currencyNamePlural());
|
||||
Dominion.vault.getEconomy().withdrawPlayer(owner, price);
|
||||
}
|
||||
dominion = DominionDTO.insert(dominion);
|
||||
if (dominion == null) {
|
||||
Notification.error(owner, "创建失败,详细错误请联系管理员查询日志(当前时间:" + Time.nowStr() + ")");
|
||||
@ -264,6 +265,7 @@ public class DominionController {
|
||||
Notification.error(operator, "你的余额不足,扩展此领地需要 " + price + " " + Dominion.vault.getEconomy().currencyNamePlural());
|
||||
return null;
|
||||
}
|
||||
Notification.info(operator, "已扣除 " + price + " " + Dominion.vault.getEconomy().currencyNamePlural());
|
||||
Dominion.vault.getEconomy().withdrawPlayer(operator, price);
|
||||
}
|
||||
return dominion.setXYZ(x1, y1, z1, x2, y2, z2);
|
||||
@ -364,7 +366,7 @@ public class DominionController {
|
||||
}
|
||||
double refund = count * Dominion.config.getEconomyPrice() * Dominion.config.getEconomyRefund();
|
||||
Dominion.vault.getEconomy().depositPlayer(operator, refund);
|
||||
XLogger.info("已经退还 " + refund + " " + Dominion.vault.getEconomy().currencyNamePlural());
|
||||
Notification.info(operator, "已经退还 " + refund + " " + Dominion.vault.getEconomy().currencyNamePlural());
|
||||
}
|
||||
return dominion.setXYZ(x1, y1, z1, x2, y2, z2);
|
||||
}
|
||||
@ -414,7 +416,7 @@ public class DominionController {
|
||||
}
|
||||
double refund = count * Dominion.config.getEconomyPrice() * Dominion.config.getEconomyRefund();
|
||||
Dominion.vault.getEconomy().depositPlayer(operator, refund);
|
||||
XLogger.info("已经退还 " + refund + " " + Dominion.vault.getEconomy().currencyNamePlural());
|
||||
Notification.info(operator, "已经退还 " + refund + " " + Dominion.vault.getEconomy().currencyNamePlural());
|
||||
}
|
||||
Notification.info(operator, "领地 " + dominion_name + " 及其所有子领地已删除");
|
||||
}
|
||||
|
@ -8,7 +8,6 @@ import cn.lunadeer.dominion.utils.Notification;
|
||||
import io.papermc.paper.event.entity.EntityDyeEvent;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.*;
|
||||
import org.bukkit.event.EventHandler;
|
||||
@ -27,12 +26,8 @@ import org.bukkit.event.inventory.InventoryType;
|
||||
import org.bukkit.event.player.*;
|
||||
import org.bukkit.event.vehicle.VehicleDestroyEvent;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.persistence.PersistentDataType;
|
||||
import org.spigotmc.event.entity.EntityMountEvent;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import static cn.lunadeer.dominion.events.Apis.getInvDominion;
|
||||
|
||||
public class PlayerEvents implements Listener {
|
||||
|
@ -3,7 +3,7 @@ package cn.lunadeer.dominion.events;
|
||||
import cn.lunadeer.dominion.Dominion;
|
||||
import cn.lunadeer.dominion.utils.Notification;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
@ -50,6 +50,31 @@ public class SelectPointEvents implements Listener {
|
||||
}
|
||||
|
||||
if (points.size() == 2) {
|
||||
World world = points.get(0).getWorld();
|
||||
if (world == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
Location loc1 = points.get(0);
|
||||
Location loc2 = points.get(1);
|
||||
int minX = Math.min(loc1.getBlockX(), loc2.getBlockX());
|
||||
int minY = Math.min(loc1.getBlockY(), loc2.getBlockY());
|
||||
int minZ = Math.min(loc1.getBlockZ(), loc2.getBlockZ());
|
||||
int maxX = Math.max(loc1.getBlockX(), loc2.getBlockX());
|
||||
int maxY = Math.max(loc1.getBlockY(), loc2.getBlockY());
|
||||
int maxZ = Math.max(loc1.getBlockZ(), loc2.getBlockZ());
|
||||
if (Dominion.config.getEconomyEnable()) {
|
||||
int count;
|
||||
if (Dominion.config.getEconomyOnlyXZ()) {
|
||||
count = (maxX - minX) * (maxZ - minZ);
|
||||
} else {
|
||||
count = (maxX - minX) * (maxY - minY) * (maxZ - minZ);
|
||||
}
|
||||
double price = count * Dominion.config.getEconomyPrice();
|
||||
Notification.info(player, "预计领地创建价格为 " + price + " " + Dominion.vault.getEconomy().currencyNamePlural());
|
||||
}
|
||||
// todo 用粒子效果显示边界
|
||||
|
||||
Notification.info(player, "已选择两个点,可以使用 /dominion create <领地名称> 创建领地");
|
||||
Notification.info(player, "尺寸为 " +
|
||||
Math.abs(points.get(1).getX() - points.get(0).getX()) + " x " +
|
||||
|
@ -5,7 +5,6 @@ import cn.lunadeer.dominion.utils.Notification;
|
||||
import cn.lunadeer.dominion.utils.STUI.Button;
|
||||
import cn.lunadeer.dominion.utils.STUI.Line;
|
||||
import cn.lunadeer.dominion.utils.STUI.ListView;
|
||||
import cn.lunadeer.dominion.utils.STUI.View;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
|
@ -1,6 +1,9 @@
|
||||
package cn.lunadeer.dominion.tuis;
|
||||
|
||||
import cn.lunadeer.dominion.utils.STUI.*;
|
||||
import cn.lunadeer.dominion.utils.STUI.Button;
|
||||
import cn.lunadeer.dominion.utils.STUI.Line;
|
||||
import cn.lunadeer.dominion.utils.STUI.ListView;
|
||||
import cn.lunadeer.dominion.utils.STUI.ViewStyles;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.event.ClickEvent;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
@ -6,7 +6,10 @@ import org.json.simple.JSONObject;
|
||||
import org.json.simple.parser.JSONParser;
|
||||
|
||||
import javax.net.ssl.HttpsURLConnection;
|
||||
import java.io.*;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.URL;
|
||||
import java.nio.file.Files;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
Loading…
Reference in New Issue
Block a user