rawtext详细教学(translate部分及其他)

看完这期和上期视频,我虽然不懂,但大受震撼,所以写了篇笔记概括了视频内容qwq
{"rawtext":[ ]}
[ ]可填text,selector,scores,translate
语法:
{"rawtext":[{"<类型>":"<内容>"} ( ,{"<类型2>":"内容2"}........) ]}
-------------------
text:输出指定文本
-------------------
{"rawtext":[{"text":"<内容>"}]}
<内容>填什么输出什么
如果<内容>填"qwq", 那么输出"qwq"
如果<内容>填"awa", 那么输出"awa"
---------------------------
selector:输出实体(玩家)名
---------------------------
{"rawtext":[{"selector":"<目标选择器>"}]}
<目标选择器>填什么输出哪个实体的名字(不受数量限制)
假设目前主世界有
2名玩家:Tom,John
3个(非玩家)实体:僵尸,村民,铁傀儡
如果<目标选择器>填@a, 那么输出:Tom,John
如果<目标选择器>填@e, 那么输出:Tom,John,僵尸,村民,铁傀儡
如果<目标选择器>填@e[type=!player], 那么输出:僵尸,村民,铁傀儡
----------------
score:输出分数
----------------
{"rawtext":[{"score":{"name":"<目标>","objective":"<目标计分板>"}}]}
根据<目标>和<目标计分板>输出<目标>在<目标计分板>的分数
假设目前有一个计分板<scores>
有项目:<Tom>1分(玩家),<僵尸>2分(实体),<qwq>3分(项目)
如果<目标>填<Tom>(<目标计分板>填<scores>), 那么输出1
如果<目标>填@a(<目标计分板>填<scores>), 那么输出1
如果<目标>填@e(<目标计分板>填<scores>), 那么报错
因为<目标>只能填一个实体(项目)
-------------------------------
translate:输出灵活多变の文本
-------------------------------
①{"rawtext":[{"translate":"<内容>"}]}
<内容>填什么输出什么
<内容>填预翻译文本就根据玩家语言来输出玩家语言的文本
类似于text
如果<内容>填"qwq", 那么输出"qwq"
如果<内容>填"awa", 那么输出"awa"
如果<内容>填"multiplayer.player.left",那么输出
中文语言: 离开了游戏
英文语言: left the game
这里的"multiplayer.player.left"是mojang的预翻译文本,输出后会根据玩家语言来发生变化
②{"rawtext":[{"translate":"%%<数量>","with":<内容>}]}
根据<数量>来输出<内容>中(内容数量不受限制)第<数量>个文本
同样类似于text
如果<数量>填2,<内容>填"qwq,awa"(必须带有双引号,外面要套一层 [ ] (中括号)),那么输出awa
*<数量>最大是9*
<内容>可以是json文本(套娃)
如果<数量>填2,<内容>填{"rawtext":[{"text":"qwq"},{"text:awa"}]},那么输出awa
translate还有一个特性:跳过不存在的实体
所以我们可以用selector来控制显示哪些文本
如: {"rawtext":[{"translate":"%%2","with":{"rawtext":[{"selector":"@e[tag=凑数的]"},{"text":"qwq"},{"text":"awa"}]}}]}
当 有"凑数的"标签的实体(玩家) 存在时输出qwq,反之输出awa
虽然<数量>的上限是9,但是我们可以通过套娃的方式来增长
如: {"rawtext":[{"translate":"%%9","with":{"rawtext"[{"text":"1"},{"text":"2"},{"text":"3"},{"text":"4"},{"text":"5"},{"text":"6"},{"text":"7"},{"text":"8"},{"translate":"%%2","with":"9","10"}]}}]}
原理:translate实际上是根据<数量>来输出第<数量>个<内容>该输出的内容(仅限套娃的语句),这种操作搭配selector使用更佳
第一次写笔记,有点紧张,有什么错误请各位大佬指出qwq