From ee78a96e146d1a477ac343ed5bea9e448df91230 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=AE=87=E8=A1=A1?= Date: Sat, 3 Jun 2023 12:16:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E7=BC=93=E5=AD=98=E7=8E=A9?= =?UTF-8?q?=E5=AE=B6=E6=B7=BB=E5=8A=A0=E7=9A=84=E7=82=B9=EF=BC=88=E6=9C=80?= =?UTF-8?q?=E5=A4=9A20=E4=B8=AA=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- src/main/java/site/deercloud/liteworldedit/Commands.java | 5 ++++- .../java/site/deercloud/liteworldedit/Managers/Cache.java | 8 ++++++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 8373d49..94d60ab 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ site.deercloud LiteWorldEdit - 1.1-SNAPSHOT + 1.3-SNAPSHOT jar LiteWorldEdit diff --git a/src/main/java/site/deercloud/liteworldedit/Commands.java b/src/main/java/site/deercloud/liteworldedit/Commands.java index 016b539..3aab04a 100644 --- a/src/main/java/site/deercloud/liteworldedit/Commands.java +++ b/src/main/java/site/deercloud/liteworldedit/Commands.java @@ -38,7 +38,10 @@ public class Commands implements TabExecutor { return true; } Point point = new Point(x, y, z, player); - LiteWorldEdit.instance.getCache().addPoint(player, index, point); + if (!LiteWorldEdit.instance.getCache().addPoint(player, index, point)) { + sender.sendMessage("点的数量不允许超过20,请使用已有点序号覆盖已有点。"); + return true; + } sender.sendMessage("点 " + index + " 已设置为 " + x + ", " + y + ", " + z + "。"); } catch (NumberFormatException e) { sender.sendMessage("参数错误。"); diff --git a/src/main/java/site/deercloud/liteworldedit/Managers/Cache.java b/src/main/java/site/deercloud/liteworldedit/Managers/Cache.java index a5aea3a..91397f4 100644 --- a/src/main/java/site/deercloud/liteworldedit/Managers/Cache.java +++ b/src/main/java/site/deercloud/liteworldedit/Managers/Cache.java @@ -23,11 +23,15 @@ public class Cache { _bars = new HashMap(); } - public void addPoint(Player player, Integer index, Point point) { + public boolean addPoint(Player player, Integer index, Point point) { if (!_points.containsKey(player.getUniqueId().toString())) { _points.put(player.getUniqueId().toString(), new HashMap()); } + if (_points.get(player.getUniqueId().toString()).size() >= 20) { + return false; + } _points.get(player.getUniqueId().toString()).put(index, point); + return true; } public void addJob(Player player, Job job) { @@ -63,7 +67,7 @@ public class Cache { } public void deletePlayerCache(Player player) { - _points.remove(player.getUniqueId().toString()); + // _points.remove(player.getUniqueId().toString()); _jobs.remove(player.getUniqueId().toString()); _bars.remove(player.getUniqueId().toString()); }