MinecraftBE原始JSON函数翻译标识符Translate的运用

此篇文章为基岩版原始JSON文本中Translate函数的运用的教学。

注:如果您想获得更好的阅读体验,请前往mc.fanconma.cn找到该文章阅读。

(如果您想使用繁體中文閲讀這篇文章,您也可以前往上述連接閲讀文章。網址會自動跳轉至正確的繁體中文網頁。)

原始JSON文本是一种对显示的文本添加修改的方法——其可以是改变文本颜色或是根据用户的区域设置显示其地区的文本。

基岩版中,原始JSON文本可以作用于/tellraw的内容、/titleraw的标题、书与笔的文本(题目和作者除外)以及告示牌的文本。 ——Minecraft Wiki

利用其特性,可以显示出一些正常输出不能做到的效果 ,如:
/tell @a 你好~!

但是运用JSON可以做到:

/tellraw @a {“rawtext”:[{“text”:”你好!”}]}

(不会指明是谁说的)

甚至可以伪装成别人:

/tellraw @a {"rawtext":[{"text":"§eJeb_ 加入了游戏"}]}
/tellraw @a {"rawtext":[{"text":"<Jeb_> 你好."}]}

Translate函数:

本篇文章重点来说Translate函数的运用

Translate函数 语言文件中格式:

translate:使用玩家所选择的语言显示的翻译识别符。此识别符与在assets文件或纹理包的lang文件中所发现的识别符相同。

——Minecraft Wiki

简单来说,就是在一些材质包中,有一个texts文件夹,里面有各种国家或地区的语言文件

而打开任意一个语言文件(如zh_CN:中文(中国) 或zh_TW:中文(台灣(地區))),(直接用记事本或其他文本查看器软件打开即可)都是这种格式的文本。

(我自己写的一个有关色盲派对的语言文件)

其中基本格式为:

xxx.xxx=文本("§"用来更改颜色) #注释
字符串=文本 #注释

而在Minecraft中,使用Translate函数后,只要输入xxx.xxx这个字符串,就会自动帮你转换为你游戏中目前语言的语言文件中的xxx.xxx

也就是说,比如在Minecraft中用JSON输入我这里写的”lobby.start“,只要你的游戏是简体中文,就会显示”§l§a开始游戏!“。而如果是英文,只要你也编写了en_US.lang文件中的lobby.start(如:lobby.start=§l§aStart!),则会显示”§l§aStart!“。

Translate函数 游戏中输入格式:

在Minecraft中Translate函数的写法为:

{"rawtext":[{"translate":"xxx.xxx"}]}

这个格式可以被运用在/tellraw、/titleraw指令,告示牌,书与笔中(作者和标题不可更改其实我很想让他能够更改….)。

示例:(示例文本使用上图)

/titleraw @a title {"rawtext":[{"translate":"lobby.start"}]}

可以看到,我们输入的是lobby.start,而输出的却是绿色加粗的开始游戏!

而如果您输错了,则会输出输错的内容,如:

/titleraw @a title {"rawtext":[{"translate":"lobby.star"}]} 

在书与笔和告示牌中,则直接写Translate函数,如:

 {"rawtext":[{"translate":"lobby.start"}]} 

如何自制?

自制方法其实在上面已经一步一步说出来了。下面仅是详细演示一遍。如果你已经跟着上面的教程学会了,则可以跳过此段。

1.首先,创建一个资源包(材质包)文件夹,里面需要至少包括一个manifest.json文件和一个texts文件夹

其中,texts是用来放你的语言文件的manifest.json用来识别这个资源包是否是一个资源包(里面也包括一些基本信息);pack_icon.png是你资源包的logo,没有也可以。

manifest.json文件中需要写:

{"format_version":2,"header":{"description":"pack.description","name":"pack.name","uuid":"一个随机UUID","version":[1,0,0],"min_engine_version":[1,16,20]},"modules":[{"type":"resources","uuid":"再一个UUID,不要和上一个重复!","version":[1,0,0]}]}

其中,你需要更改我在里面写的中文。UUID你可以从在线随机UUID生成器这个网站随机生成2个UUID,然后填进去。而这里的两个”version”:[1,0,0]你可以将此处的数字都改成你想要的版本号,如[0,0,1]。这两个版本号就是图中标红的内容。另一个 “min_engine_version”:[1,16,20]} 是支持的Minecraft版本,一般没有重大更新不改就行。

texts文件夹中需要至少有一个languages.json文件。

在此文件中填写下面内容即可。

["en_US","en_GB","de_DE","es_ES","es_MX","fr_FR","fr_CA","it_IT","ja_JP","ko_KR","pt_BR","pt_PT","ru_RU","zh_CN","zh_TW","nl_NL","bg_BG","cs_CZ","da_DK","el_GR","fi_FI","hu_HU","id_ID","nb_NO","pl_PL","sk_SK","sv_SE","tr_TR","uk_UA"]

texts文件夹中还需要有每个语言的语言文件你只需要创建你需要支持的语言。

比如我这里所有语言都创建了一遍。

在每个语言文件中,必须有前两行:

pack.name=你的材质包名称
pack.description=你的材质包简介

也就是分别标黄绿的:

接下来就可以书写你自己想写的啦~注意:#后面的文字是注释,不会运行!

字符串内容可以自行定义,但注意不要打错,要与游戏中执行的JSON文件中的字符串一致。

额外小补充:

如果你在语言文件中定义字符串为一个数字,如Grave Danger地图中的lang语言的Mana值和Kill数量的显示是运用计分板的数字实现的。您可以直接定义如1=一之类的。

而这不仅会影响计分板数字,还会影响物品数量、服务器延迟、Minecoin的数量、在线玩家数、领域数、服务器数量、世界数量等等!(一个好玩的小技巧awa)

(如果你想做坑人地图,你可以写比如1=999 2=54 3=123123 4=233 5=64来混淆方块的数量)Doge

END!

分享出你的个性
默认图片
Fanconma

你好。

文章: 27
0 0 投票数
文章评分
订阅评论
提醒
guest
1 评论
最新
最久 最赞
内联反馈
查看所有评论
1
0
Fanconma希望看到你的想法!读完后评论一下吧~x
()
x
zh_CN简体中文