
Let Me Click And Send for Server
一个简单的Minecraft服务端模组,它将所有非命令的`run_command`内容替换为自定义命令, 以绕过自1.19.1-rc1以来的客户端限制
查看大图一个简单的 Minecraft 服务端模组,它会将所有非命令的 run_command 内容替换为自定义命令,
以绕过自 1.19.1-rc1 起的客户端限制
如果你想要更直接的解决方案,这里有一个仅客户端模组可以实现同样的功能: LetMeClickAndSend
| 模组 | 端 | 优势 | 劣势 |
|---|---|---|---|
| LetMeClickAndSend | 客户端 | 行为与 mc1.19.1 之前完全相同 | 需要安装在所有玩家的客户端上 |
| LetMeClickAndSendForServer | 服务端 | 无需安装在客户端 | 会将最大聊天消息长度减少 7 个字符 |
示例
让我们运行以下命令,然后点击显示出来的文本
# Minecraft [1.7, 1.21.5)
/tellraw @a {"text":"click me to send \"hi\"","clickEvent":{"action":"run_command","value":"hi"}}
在原版 1.19.1 ~ 1.21.4 中,点击之后,你无法说出任何内容,因为 hi 不是有效命令(不以 / 开头)
使用此模组后,服务器会自动将上述点击事件中的 value 字段替换为 /lmcas hi,
因此客户端在点击后可以毫无问题地“发送”该消息
收到命令后,服务器会以与玩家消息相同的格式广播一条消息,模拟玩家在聊天中说“hi”
MC 1.21.5+
自 MC 1.21.5 起,run_command 的行为发生了很大变化
首先是命令语法上的变化,影响不大:
# Minecraft [1.21.5, ~)
/tellraw @a {"text":"click me to send \"hi\"","click_event":{"action":"run_command","command":"hi"}}
接下来是行为上的变化,影响更大:
command值始终有效,无论它是否以/开头- 客户端会从
command值中去除/前缀,并将剩余字符串作为命令发送
已经无法再正确区分“用于发送聊天消息的 run_command”和“用于发送命令的 run_command”
作为一种变通方案,适用于 MC >= 1.21.5 的 LetMeClickAndSendForServer 只会将某些 command 替换为 /lmcas 命令。
默认情况下,只有以 !! 开头的 command 值会被替换,这是 MCDReforged 插件生态系统中常用的命令前缀
新增了一个位于 ./config/letmeclickandsendforserver/config.json 的配置文件,用于自定义替换行为
{
"replacePattern": "!!.*"
}
replacePattern 应当是一个有效的正则表达式模式。所有完全匹配该模式的 command 值都会被替换为 /lmcas 命令
要使用默认配置进行测试,你可以使用:
/tellraw @a {"text":"click me to send \"!!MCDR\"","click_event":{"action":"run_command","command":"!!MCDR"}}
要求
这是一个仅服务端模组。它需要 0 个额外依赖
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。