杂项

本部分将收纳应用方面的补充说明,他们可能是难以归纳进以上架构或者是平日甚少使用,所以收纳于此部分

unicode-万国码

JSON支援显示Unicode,格式为:
\u####

####就是4个位的Unicode代码,具体请参考Unicode代码的网页
不过MC字库并不保证所有的Unicode都能正常显示

使用例子:

tellraw @a {"text":"\u2622"}

38

tellraw @a {"text":"\u2622\u269B"}

39

转义

这里是接着首章的例子。

比如需要输出"Hello World",我使用了以下命令:

tellraw @a {"text":""Hello World""}

但由于配对的问题,标识部分的引号和内容所需的引号配对了,系统无法正确识别命令,导致无法执行
JSON规定的转义方式为,将"转为\",将\转为\\
正确的命令为:

tellraw @a {"text":"\"Hello World\""}

49

这样我们便能告知系统,"Hello World"的引号和包围的引号如何正确配对


然后是需要更多转义的例子
例如我们需要修改以下命令:

tellraw @a {"text":"Hello World","clickEvent":{"action":"run_command","value":"/tellraw @a {\"text\":\"Hello World\"}"}}

这是一个包含了CE的/tellraw,点击会再次输出Hello World
如果我们需要修改成输出"Hello World",我们便需要在已经转义一次的引号内再加入一对引号
按照正确的转义方式,命令将修改为:

tellraw @a {"text":"Hello World","clickEvent":{"action":"run_command","value":"/tellraw @a {\"text\":\"\\\"Hello World\\\"\"}"}}

N1

需要注意,因为第二次转义,\也需要被转义,所以正确的写法为\\\"而非\\",三次转义为\\\\\\\",如此类推


最后需要提醒的一点是,并非一见到引号内的引号就需要额外转义多一次
而是需要小心分辨他们是否处于同一层次
例如我要输出""Hello World""
使用:

tellraw @a {"text":"\"\\\"Hello World\\\"\""}

N3

将会造成错误的输出

正确的写法应为:

tellraw @a {"text":"\"\"Hello World\"\""}

N2

与资源包的配合

有些地图把部分不常用的文字改为图片(没错,Minecraft里的文字是图片来的),然后用JSON来做到在聊天栏打印合成配方的特技。
当然,这需要牺牲,就是玩家如果输入那些字符就会变为物品。不过只要用生僻字的话一般还是没有问题的。

results matching ""

    No results matching ""