From b0b94a4b95852e6990dbd80aede16fc89e71d3a0 Mon Sep 17 00:00:00 2001 From: CarmJos Date: Sun, 13 Mar 2022 12:44:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=97=B6=E9=97=B4=E9=99=90?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../carm/plugin/commanditem/item/ItemRestrictions.java | 9 +++++++-- .../carm/plugin/commanditem/listener/ItemListener.java | 2 +- src/main/resources/items/.example-item.yml | 6 +++--- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/main/java/cc/carm/plugin/commanditem/item/ItemRestrictions.java b/src/main/java/cc/carm/plugin/commanditem/item/ItemRestrictions.java index 5631a16..f734cf1 100644 --- a/src/main/java/cc/carm/plugin/commanditem/item/ItemRestrictions.java +++ b/src/main/java/cc/carm/plugin/commanditem/item/ItemRestrictions.java @@ -1,6 +1,7 @@ package cc.carm.plugin.commanditem.item; import cc.carm.lib.easysql.api.util.TimeDateUtils; +import cc.carm.plugin.commanditem.Main; import org.bukkit.configuration.ConfigurationSection; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -17,6 +18,7 @@ public class ItemRestrictions { public ItemRestrictions(long startTime, long endTime) { this.startTime = startTime; this.endTime = endTime; + Main.debugging("ItemRestrictions: " + startTime + " -> " + endTime); } /** @@ -34,14 +36,17 @@ public class ItemRestrictions { } public CheckResult check() { - if (startTime > 0 && startTime > System.currentTimeMillis()) return CheckResult.NOT_STARTED; - if (endTime > 0 && endTime < System.currentTimeMillis()) return CheckResult.EXPIRED; + if (getStartTime() < 0 && getEndTime() < 0) return CheckResult.AVAILABLE; + if (getStartTime() > 0 && getEndTime() > 0 && getStartTime() > getEndTime()) return CheckResult.INVALID; + if (getStartTime() > 0 && getStartTime() > System.currentTimeMillis()) return CheckResult.NOT_STARTED; + if (getEndTime() > 0 && getEndTime() < System.currentTimeMillis()) return CheckResult.EXPIRED; return CheckResult.AVAILABLE; } public enum CheckResult { AVAILABLE, + INVALID, NOT_STARTED, EXPIRED; diff --git a/src/main/java/cc/carm/plugin/commanditem/listener/ItemListener.java b/src/main/java/cc/carm/plugin/commanditem/listener/ItemListener.java index baba779..c5ca726 100644 --- a/src/main/java/cc/carm/plugin/commanditem/listener/ItemListener.java +++ b/src/main/java/cc/carm/plugin/commanditem/listener/ItemListener.java @@ -54,8 +54,8 @@ public class ItemListener implements Listener { ItemActionGroup actions = commandItem.getConfiguration().getPlayerActions(player); if (actions == null) return; - actions.execute(player); updateTime(player.getUniqueId()); + actions.execute(player); } /** diff --git a/src/main/resources/items/.example-item.yml b/src/main/resources/items/.example-item.yml index 0288de5..de3d88e 100644 --- a/src/main/resources/items/.example-item.yml +++ b/src/main/resources/items/.example-item.yml @@ -38,15 +38,15 @@ restrictions: # 若玩家拥有配置的权限,则会执行权限对应的操作; # 权限配置从上向下判断,若权限设定为空,则会使用default的操作。 permissions: - normal: "prefix.item.use" - have: "prefix.pro" + have: "prefix.pro" # 在本示例中,先判断玩家是否已拥有前缀 + normal: "prefix.item.use" # 在本示例中,将判断玩家是否可以使用该物品 # 玩家右键物品时执行的操作 actions: default: # 默认执行的操作 - "[message] &c您没有使用该物品的权限!" normal: # 若有 normal 权限设定,则执行此操作 - - "[console] say %player_name% 获得了 %name% !" + - "[console] say %player_name% 获得了 Pro会员前缀 !" - "[console] lp user %player_name% permission set prefix.pro true" - "[chat] /prefix" # 以玩家聊天的形式发出消息,若以 "/" 开头则会被视为命令 - "[sound] ENTITY_PLAYER_LEVELUP" # 播放声音