From 7259b0e4e29a3ecb8da51265850d5a54a2eb3130 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=98=BF=E9=B9=B0?= Date: Sat, 3 Jan 2026 17:43:29 +0800 Subject: [PATCH 1/2] =?UTF-8?q?chore(deps):=20=E6=9B=B4=E6=96=B0=20Tabooli?= =?UTF-8?q?b=20=E7=89=88=E6=9C=AC=E5=B9=B6=E4=BC=98=E5=8C=96OP=E5=91=BD?= =?UTF-8?q?=E4=BB=A4=E6=89=A7=E8=A1=8C=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将 Taboolib 依赖从 6.2.4-5902762 更新到 6.2.4-8d51195 - 在 CommandOp 中添加 runTask 导入以支持 Folia 执行 --- build.gradle.kts | 2 +- gradle.properties | 2 +- .../trplugins/menu/api/action/impl/send/CommandOp.kt | 10 ++++++---- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 41f983a8..e3c2a0d7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -72,7 +72,7 @@ subprojects { disableOnSkippedVersion = false } version { - taboolib = "6.2.4-5902762" + taboolib = "6.2.4-8d51195" coroutines = null } } diff --git a/gradle.properties b/gradle.properties index 7f7869f0..cd196cc0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ group=me.arasple.mc.trmenu -version=3.9.16 \ No newline at end of file +version=3.9.17 \ No newline at end of file diff --git a/plugin/src/main/kotlin/trplugins/menu/api/action/impl/send/CommandOp.kt b/plugin/src/main/kotlin/trplugins/menu/api/action/impl/send/CommandOp.kt index 78d85060..b96328c0 100644 --- a/plugin/src/main/kotlin/trplugins/menu/api/action/impl/send/CommandOp.kt +++ b/plugin/src/main/kotlin/trplugins/menu/api/action/impl/send/CommandOp.kt @@ -4,6 +4,7 @@ import org.bukkit.entity.Player import taboolib.common.platform.ProxyPlayer import taboolib.common.platform.function.submit import taboolib.expansion.dispatchCommandAsOp +import taboolib.platform.util.runTask import trplugins.menu.api.action.ActionHandle import trplugins.menu.api.action.base.ActionBase import trplugins.menu.api.action.base.ActionContents @@ -22,15 +23,16 @@ class CommandOp(handle: ActionHandle) : ActionBase(handle) { override fun onExecute(contents: ActionContents, player: ProxyPlayer, placeholderPlayer: ProxyPlayer) { val fakeOp = player.session().menu?.settings?.commandFakeOp ?: true + val bukkitPlayer = player.cast() contents.stringContent().parseContentSplited(placeholderPlayer, ";").forEach { - submit(async = false) { + bukkitPlayer.location.runTask( { if (fakeOp) { - player.cast().dispatchCommandAsOp(it) + bukkitPlayer.dispatchCommandAsOp(it) } else { player.isOp.let { isOp -> player.isOp = true try { - player.performCommand(it) + bukkitPlayer.performCommand(it) } catch (e: Throwable) { e.printStackTrace() } finally { @@ -38,7 +40,7 @@ class CommandOp(handle: ActionHandle) : ActionBase(handle) { } } } - } + }) } } From 60331fd44a51ee7d528d5fc7f427645d5e975f07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=98=BF=E9=B9=B0?= Date: Sun, 4 Jan 2026 09:46:36 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat(script):=20=E6=B7=BB=E5=8A=A0=20Nashor?= =?UTF-8?q?n=20=E7=BC=96=E8=AF=91=E5=99=A8=E7=9A=84=20ASM=20=E4=BE=9D?= =?UTF-8?q?=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加 asm 等依赖解决 JavaScript 模块编译失效问题 --- .../module/internal/script/js/NashornAgent.kt | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/plugin/src/main/kotlin/trplugins/menu/module/internal/script/js/NashornAgent.kt b/plugin/src/main/kotlin/trplugins/menu/module/internal/script/js/NashornAgent.kt index d57bd07a..e66fed49 100644 --- a/plugin/src/main/kotlin/trplugins/menu/module/internal/script/js/NashornAgent.kt +++ b/plugin/src/main/kotlin/trplugins/menu/module/internal/script/js/NashornAgent.kt @@ -1,11 +1,36 @@ package trplugins.menu.module.internal.script.js import com.google.common.collect.Maps +import taboolib.common.env.RuntimeDependencies +import taboolib.common.env.RuntimeDependency import taboolib.common5.compileJS import trplugins.menu.util.EvalResult import javax.script.CompiledScript import javax.script.SimpleScriptContext +@RuntimeDependencies( + RuntimeDependency( + "!org.ow2.asm:asm:9.7.1", + test = "!jdk.nashorn.api.scripting.NashornScriptEngineFactory" + ), + RuntimeDependency( + "!org.ow2.asm:asm-commons:9.7.1", + test = "!jdk.nashorn.api.scripting.NashornScriptEngineFactory" + ), + RuntimeDependency( + "!org.ow2.asm:asm-tree:9.7.1", + test = "!jdk.nashorn.api.scripting.NashornScriptEngineFactory" + ), + RuntimeDependency( + "!org.ow2.asm:asm-util:9.7.1", + test = "!jdk.nashorn.api.scripting.NashornScriptEngineFactory" + ), + RuntimeDependency( + "!org.ow2.asm:asm-analysis:9.7.1", + test = "!jdk.nashorn.api.scripting.NashornScriptEngineFactory" + ) +) + object NashornAgent { private val compiledScripts = Maps.newConcurrentMap(); fun preCompile(script: String): CompiledScript {