From 8980e915c3dfec7d4dd4c3ea5eb44b4f24d9556c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=98=BF=E9=B9=B0?= Date: Mon, 27 Oct 2025 17:44:22 +0800 Subject: [PATCH 1/3] =?UTF-8?q?build(core):=20=E4=BF=AE=E5=A4=8D=E7=BB=91?= =?UTF-8?q?=E5=AE=9A=E7=89=A9=E5=93=81=E7=82=B9=E5=87=BB=E7=A9=BA=E6=B0=94?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E6=89=93=E5=BC=80=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除 PlayerInteractEvent 的 ignoreCancelled 属性以优化交互监听逻辑 --- gradle.properties | 2 +- .../menu/module/internal/listener/ListenerItemInteract.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 1c13b039..e674454f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ group=me.arasple.mc.trmenu -version=3.8.8 \ No newline at end of file +version=3.8.9 \ No newline at end of file diff --git a/plugin/src/main/kotlin/trplugins/menu/module/internal/listener/ListenerItemInteract.kt b/plugin/src/main/kotlin/trplugins/menu/module/internal/listener/ListenerItemInteract.kt index b85c68c4..58791a5f 100644 --- a/plugin/src/main/kotlin/trplugins/menu/module/internal/listener/ListenerItemInteract.kt +++ b/plugin/src/main/kotlin/trplugins/menu/module/internal/listener/ListenerItemInteract.kt @@ -28,7 +28,7 @@ object ListenerItemInteract { Baffle.of(TrMenu.SETTINGS.getLong("Menu.Settings.Bound-Item-Interval", 2000), TimeUnit.MILLISECONDS) } - @SubscribeEvent(priority = EventPriority.HIGHEST, ignoreCancelled = true) + @SubscribeEvent(priority = EventPriority.HIGHEST) fun onInteract(e: PlayerInteractEvent) { ListenerItemInteract::interactCooldown.get() From b25f7bb67f4efa837c18bd9dddd331855d6b4859 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=98=BF=E9=B9=B0?= Date: Mon, 27 Oct 2025 18:14:43 +0800 Subject: [PATCH 2/3] =?UTF-8?q?fix(item):=E4=BF=AE=E5=A4=8D=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E7=89=A9=E5=93=81=E6=95=B0=E6=8D=AE=E6=97=B6=E7=BA=BF?= =?UTF-8?q?=E7=A8=8B=E6=AD=BB=E9=94=81=E7=AD=89=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 使用 MinecraftVersion 判断版本并设置物品数据 - 优化命令执行逻辑,提升代码可读性 - 改用 unsafeLazy 优化插件获取方式放置线程死锁 --- .../trplugins/menu/module/internal/command/impl/CommandItem.kt | 2 +- .../kotlin/trplugins/menu/module/internal/hook/HookAbstract.kt | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/plugin/src/main/kotlin/trplugins/menu/module/internal/command/impl/CommandItem.kt b/plugin/src/main/kotlin/trplugins/menu/module/internal/command/impl/CommandItem.kt index 9fc9213f..b77dd8d8 100644 --- a/plugin/src/main/kotlin/trplugins/menu/module/internal/command/impl/CommandItem.kt +++ b/plugin/src/main/kotlin/trplugins/menu/module/internal/command/impl/CommandItem.kt @@ -12,6 +12,7 @@ import taboolib.common.platform.function.submit import taboolib.library.xseries.XSound import taboolib.module.configuration.Configuration import taboolib.module.configuration.Type +import taboolib.module.nms.MinecraftVersion import taboolib.module.nms.getItemTag import taboolib.module.nms.getName import taboolib.platform.util.isAir @@ -19,7 +20,6 @@ import taboolib.platform.util.sendLang import taboolib.type.BukkitEquipment import trplugins.menu.module.internal.command.CommandExpression import trplugins.menu.module.internal.hook.HookPlugin -import trplugins.menu.module.internal.hook.impl.HookNBTAPI import trplugins.menu.module.internal.item.ItemRepository import trplugins.menu.util.bukkit.ItemHelper diff --git a/plugin/src/main/kotlin/trplugins/menu/module/internal/hook/HookAbstract.kt b/plugin/src/main/kotlin/trplugins/menu/module/internal/hook/HookAbstract.kt index 2508255e..a71e21ad 100644 --- a/plugin/src/main/kotlin/trplugins/menu/module/internal/hook/HookAbstract.kt +++ b/plugin/src/main/kotlin/trplugins/menu/module/internal/hook/HookAbstract.kt @@ -3,6 +3,7 @@ package trplugins.menu.module.internal.hook import org.bukkit.Bukkit import org.bukkit.plugin.Plugin import taboolib.common.platform.function.console +import taboolib.common.util.unsafeLazy import taboolib.module.lang.sendLang import trplugins.menu.module.internal.script.Bindings import trplugins.menu.module.internal.script.jexl.JexlAgent @@ -21,7 +22,7 @@ abstract class HookAbstract { return null } - val plugin: Plugin? by lazy { + val plugin: Plugin? by unsafeLazy { Bukkit.getPluginManager().getPlugin(name) } From eb18d944dc8d1ef5db1d99fa7891373f18275565 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=98=BF=E9=B9=B0?= Date: Mon, 27 Oct 2025 18:15:08 +0800 Subject: [PATCH 3/3] =?UTF-8?q?fix(item):=E4=BF=AE=E5=A4=8D=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E7=89=A9=E5=93=81=E6=95=B0=E6=8D=AE=E6=97=B6=E7=BA=BF?= =?UTF-8?q?=E7=A8=8B=E6=AD=BB=E9=94=81=E7=AD=89=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 使用 MinecraftVersion 判断版本并设置物品数据 - 优化命令执行逻辑,提升代码可读性 - 改用 unsafeLazy 优化插件获取方式放置线程死锁 --- .../trplugins/menu/module/internal/command/impl/CommandItem.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin/src/main/kotlin/trplugins/menu/module/internal/command/impl/CommandItem.kt b/plugin/src/main/kotlin/trplugins/menu/module/internal/command/impl/CommandItem.kt index b77dd8d8..2688064e 100644 --- a/plugin/src/main/kotlin/trplugins/menu/module/internal/command/impl/CommandItem.kt +++ b/plugin/src/main/kotlin/trplugins/menu/module/internal/command/impl/CommandItem.kt @@ -101,7 +101,7 @@ object CommandItem : CommandExpression { val stringJson: String = if (!HookPlugin.getNBTAPI().isHooked) { val json = JsonObject() json.addProperty("type", item.type.name) - json.addProperty("data", item.data!!.data) + json.addProperty("data", if (MinecraftVersion.isLowerOrEqual(MinecraftVersion.V1_12)) item.data!!.data else 0) json.addProperty("amount", item.amount) json.add("meta", Gson().toJsonTree(item.getItemTag())) json.toString()