t显其实就是titleraw显示的缩写,titleraw指令在基岩版1.9.0加入,主要部分在JSON文本上,看看格式:
titleraw <player: target> <clear|reset>titleraw <player: target> <titleLocation: TileRawSet> <raw json titleText: json> titleraw <player: target> times <fadeIn: int> <stay: int> <fadeOut: int>
第一行,为 清除|重置 指定玩家显示的文本(也就是清除|重置指定玩家所在他游戏屏幕上被显示的文本)
重置:将指定玩家的副标题清空,同时将淡入、持续、淡出时间设为默认值(分别为10tick、70tick、20tick)
第二行,指定玩家显示文本,这需附其参数:文本位置、JSON文本 文本位置有title、subtitle、actionbar,分别是:主标题、副标题、顶标题(其位置及大小等同于快捷栏切换物品时显示的名称) 以下是示例,大字为主标题,小子为副标题,物品栏做对比 第三行,设定指定玩家所显示的文本的显示效果,可附其参数:淡入、持续、淡出,单位为游戏刻(每秒为20游戏刻,则1游戏刻为0.05秒) 若其参数不填写,则按本教程第一行重置部分设定默认值 {"rawtext":[<文本组件>]}这是最基础的,文本组件可设多个,用半角逗号“,”分割(不是全角符号“,”),文本组件有: {"text":"Hello"},效果很单纯,显示text的值“Hello”,类似于title指令,但我们讲解的是titleraw指令里的json文本语法 运行/titleraw @s title {"rawtext":[{"text":"Hello"}]},输出:Hello {"selector":"@s"},显示@s的名字,比如我的游戏名叫Alex 运行/titleraw @s title {"rawtext":[{"selector":"@s"}]},输出Alex {"score":{"name":"@s","objective":"menu"}},显示@s所在menu记分板上的分数,比如我的分数是7 运行/titleraw {"rawtext":[{"score":{"name":"@s","objective":"menu"}}]},输出7 如果@s为多个,输出用半角逗号分隔的内容,selector也是如此,如:7,18,9,6,15,3 {"translate":"%%3","with":{"rawtext":[{"selector":"@a[scores={menu=1}"},{"selector":"@a[scores={menu=2}]",{"text":"§a返回主城"},{"text":"§b原地紫砂"}]}},这是最难的文本组件,如果你的脑子不够用,可以多放几个命令方块达到类似穷举的效果,但用这个文本组件,可以用一条指令或一个命令方块完成 %%3,看rawtext数组下有几个selector组件,数量+1后为%%后面的数字,如果大于9,例如%%13,替换为%13 每个第X个selector组件,所对应着第X个文本组件,如图: 被对应的文本组件取决于对应的selector组件指定的玩家,例如@a[scores={menu=1},输出§a返回主城;@a[scores={menu=2}],输出§b原地紫砂 以上输出的内容为显示的内容,并非输出在聊天栏里的内容,但也可以,使用/tellraw指令(语法:/tellraw <目标选择器> <JSON文本)输出至聊天栏 |