欢迎光临散文网 会员登陆 & 注册

【我的世界】放弃say吧,tellraw还能这么玩:

2022-12-27 20:08 作者:卡儿3058  | 我要投稿

我使用的版本是:1.16.5

首先来看这样一段指令:

/execute as @a run tellraw @a [{"text":"[NPC] 你的名字是"},{"selector":"@s","hoverEvent":{"action":"show_text","contents":"这是你的名字"},"clickEvent":{"action":"copy_to_clipboard","value":"这是你点击了你的名字后复制到剪贴板的内容"}},{"text":", 请坐吧。       "},{"text":"你需要调理一下你的心理状态,","color":"yellow"},{"text":"比如点击一下这段话如何?","color":"#c617b8","hoverEvent":{"action":"show_text","contents":"无需担心,你点击了这段话后会打开一个令你舒适的网址"},"clickEvent":{"action":"open_url","value":"https://www.bilibili.com";}}]

效果展示:

显示的文段
鼠标悬停在 "ka__er" ,也就是玩家名字上
鼠标悬停在 "比如点击一下这段话如何?" 上
这是点击了 "ka__er" 后复制到剪贴板的内容
点击了 "比如点击一下这段话如何?" 后打开了网址


接下来是一系列的指令解读:

as,改变执行者

as @a 使说话的对象是被选择到的玩家而不是命令方块

run 运行后面的命令

tellraw @a [] 显示一段文本。

这是一个大盒子,接下来就是往大盒子里套各种小盒子来组成这个指令

/execute as @a run tellraw @a [{"text":"[NPC] 你的名字是"},{"selector":"@s","hoverEvent":{"action":"show_text","contents":"这是你的名字"},"clickEvent":{"action":"copy_to_clipboard","value":"这是你点击了你的名字后复制到剪贴板的内容"}},{"text":", 请坐吧。       "},{"text":"你需要调理一下你的心理状态,","color":"yellow"},{"text":"比如点击一下这段话如何?","color":"#c617b8","hoverEvent":{"action":"show_text","contents":"无需担心,你点击了这段话后会打开一个令你舒适的网址"},"clickEvent":{"action":"open_url","value":"https://www.bilibili.com";}}]

这里,

黑色是这个外面的大盒子,是:/execute as @a run tellraw @a []

蓝色是二级子命令

绿色是三级子命令

蓝色加粗是二级命令标签

绿色加粗是三级命令标签

可以发现这一段命令可以清晰的分为三层

第一层大括号,{},是一段文本

基本标签:"text":"这是文本内容",使用方法是:tellraw @a [{"text":"这是文本内容"}]

一个tellraw @a []里可以嵌套很多个大括号,比如:

tellraw @a [{"text":"这是文本内容"},{"text":"这是文本内容"},{"text":"这是文本内容"}]

还有一种特殊的文本,比如{"selector":"@s"},是显示前面"execute as @a"中的选择器选中的实体名称

比如/tellraw @a [{"text":"[NPC] 你的名字是"},{"selector":"@s"}]

接下来是往大括号里加内容。注意,接下来介绍的每一项都可以加到各个大括号里修饰文本

可以直接在刚才的"text"标签后面添加,也就是:

比如/tellraw @a [{"text":"这是文本内容",接下来的内容都可以直接复制替换这一段文本}]


"color":"yellow"

使用方法是:/tellraw @a {"text":"Thanks!","color":"yellow"}

还可以把英文单词换成颜色的十六进制数字

比如 /tellraw @a {"text":"Thanks!","color":"#0a5f2c"}


"hoverEvent":{"action":"show_text","contents":"这是你的名字"}

"hoverEvent",与"text"同级,代码里的同一级意思就是可以放在同一个大括号、中括号或小括号里

然后你们可以无视其他的,直接把这一段里的中文替换掉

这个标签的效果就是,当玩家把鼠标指针悬浮在这一段文本上时会显示文字

用法:/tellraw @a {"text":"Thanks!","hoverEvent":{"action":"show_text","contents":"23333"}}


然后是 "clickEvent":{"action":"copy_to_clipboard","value":"这是你点击了你的名字后复制到剪贴板的内容"}

"clickEvent",与"text"同级,作用是玩家点击文本后会有一段文字复制到玩家的剪贴板

用法:/tellraw @a {"text":"Thanks!","clickEvent":{"action":"copy_to_clipboard","value":"这是你点击了你的名字后复制到剪贴板的内容"}}


然后是 "clickEvent":{"action":"open_url","value":"https://www.bilibili.com";}

这是"clickEvent"的另一个用法,通过案例可以推测出,"clickEvent"可以翻译成“互动事件”

你们可以无视其他的直接把网址替换,作用就是点击这一段文本后打开网址

案例:/tellraw @a [{"text":"点我打开bilibili","clickEvent":{"action":"open_url","value":"https://www.bilibili.com"}}]


这就是各类元素的使用方法,然后通过相互嵌套,各种套娃就成了我上面那种非常复杂但绚丽的互动文本。这些都属于“原始JSON文本格式”。

想了解更多请复制到浏览器,打开:

https://minecraft.fandom.com/zh/wiki/原始JSON文本格式


【我的世界】放弃say吧,tellraw还能这么玩:的评论 (共 条)

分享到微博请遵守国家法律