概述
此模组是 Let Me Click And Send 的服务端版本。
它使用自定义的命令代替了所有非命令的 run_command 内容,以忽略在 1.19.1-rc1 中添加的客户端点击事件限制。
示例
1.21.4 及之前
# MC 1.7~1.21.4
/tellraw @a {"text":"click me to send \"hi\"","clickEvent":{"action":"run_command","value":"hi"}}
在原版 1.19.1~1.21.4 中运行此命令,再点击显示的文本时,由于 "hi" 不是有效的命令,不会发送任何消息。
使用此模组后,服务端会将 value 字段对应的信息替换为 /lmcas hi 命令,因此来模拟客户端“发送”此消息。
1.21.5 后
自 MC 1.21.5,run_command 的行为发生了变化。
# MC 1.21.5+
/tellraw @a {"text":"click me to send \"hi\"","click_event":{"action":"run_command","command":"hi"}}
在行为上,command 的值始终有效,无论其是否以“/”开头。客户端将从值中去除前缀,并将剩余的字符串作为命令发送。
因此,无法再正确区分 run_command 用于发送聊天消息或发送命令。所以模组在 1.21.5+ 仅会替换特定的 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"}}