文本与界面预设
tellraw JSON 文本生成器
tellraw 表面上是聊天命令,本质上是一个 JSON 文本问题。这个生成器页面聚焦那些最容易出错的文本组件部分:嵌套的悬停文本、点击操作、颜色、加粗状态,以及安全的命令值。
预设结果
一条玩家能阅读、能悬停、能点击的 tellraw 消息,而你不必手动转义 JSON 文本组件。
输出
tellraw JSON 输出
/tellraw @a {text:"Open the dungeon gate",color:"gold",bold:true,hover_event:{action:"show_text",value:{text:"Click to run the gate trigger",color:"gray"}},click_event:{action:"run_command",command:"/trigger dungeon_gate"}}预设截图
构建预设
- 打开 Text Workbench,把目标输出设为 tellraw。
- 先写出可见的消息文本,再叠加颜色与样式状态。
- 等到纯文本能正确渲染之后,再加上 hover_event 与 click_event。
- 复制 JSON 输出,并使用与最终接收者相同的选择器进行测试。
先写出可读 JSON,再追求花哨 JSON
tellraw 失败最常见的原因是 JSON 格式错误。先把可见文本搭好,再在上面叠加交互层。NBTForge 让这个顺序非常清晰,因为文本组件是先作为字段被编辑,然后才变成命令的输出。
面向地图的提示,第一句话尽量简短,把更多细节放到悬停文本里。点击操作应当只触发一个安全命令或 /trigger,而不应触发一长串隐藏命令链。
它在 Command Pack 中的位置
tellraw 经常与记分板触发器、标题消息、声音反馈以及任务状态搭配使用。当命令属于多步骤交互的一部分时,请把命令保存到 Project 里。
对同一类动作请使用一致的颜色。例如金色表示目标提示、绿色表示成功、红色表示被拒绝的操作。
- 玩家点击流程尽可能使用 /trigger。
- 悬停文本应当是补充说明,而不能承担最关键的指引。
- 根据最终命令所处的上下文,分别用 @s、@p 和 @a 进行测试。
把预设落地到真实的 Project
请把 tellraw JSON 文本生成器当成一个已经过测试的起点,而不仅仅是一段可以复制的字符串。当输出第一次正常工作之后,请用清晰的 Project 名字保存它,记下目标 Minecraft 版本,并把这条预设和相关的设置命令(例如记分板、Boss 血条、战利品表或重置命令)放在一起。
在把预设正式应用到地图、服务器或 Command Pack 之前,请优先用复制出来的命令实体去执行,而不是直接依赖当前还开着的 Workbench。这样可以发现缺失的依赖、过期的选择器、错误的版本选择,以及那些只因为本地测试状态恰好存在才碰巧能跑的命令。
- 通过共享命令保留所选的 Edition 与 Version。
- 在使用伤害、击杀、清除或传送之前,先用无害命令测试选择器。
- 把长命令搬到 Project 或函数风格的流程里,不要直接粘进聊天框。
- 在修改实体、物品组件、坐骑乘客或数据包资源之后,务必再次检查警告。
FAQ
tellraw 可以在被点击时运行命令吗?
可以。请使用 click_event 配合 run_command,并把它指向一个在玩家上下文中合法的安全触发器或命令。
为什么我的 tellraw JSON 在某个版本能用,在另一个版本就不行?
文本组件的格式会随时间演变。请检查所选版本系列,并按照新格式重建组件,而不是盲目复制旧的转义 JSON 片段。
这条预设什么时候应该成为 Command Pack 的一部分?
当输出依赖于初始化命令、重置命令、战利品资源、记分板状态或反复测试时,就把它作为 Command Pack 条目;一次性、无害的单条命令依然可以直接从输出里复制。
打开这个工作流
从相关 Text 工作台开始,然后按你的世界调整预设字段。