Minecraft指令手册

你好MC

首页 >> Minecraft指令手册 >> Minecraft指令手册最新章节(目录)
大家在看带着农场混异界师尊,你不对劲啊!全职剑修我能偷别人的修为我真不是魔道觉醒之胃除尘诡师志怪:我一太监养群女妖很合理吧血族的异世界生活绝世武帝
Minecraft指令手册 你好MC - Minecraft指令手册全文阅读 - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - 好看的玄幻魔法小说

第一百二十二章 JSON的内容 上

上一章目录下一章阅读记录

我们都知道在JSoN里面可以使用text来输入文本。

而且我们也知道在基岩版显示文本的地方是可以写目标选择器的。

那么有没有什么办法能不能帮助我们在JAVA版在JSoN使用目标选择器呢?

有!

这就是:selector元素。

selector元素属于内容类别。内容元素能有什么作用?在minecraft的JSoN中,一个JSoN要生效,必须要每个对象都至少有一个内容元素,比如text就是内容元素。

那么selector该怎么用?

很简单,比如:

\/tellraw @a {“selector“:“@p“}

这样子写,然后游戏就会根据元素内的内容来转义,分析这个目标选择器,最终得出来这个目标选择器的意思:显示最近的玩家。

好了,然后游戏就要找到距离执行地点最近的玩家,然后就向全服广播:

当然,就算你不填目标选择器也可以,因为游戏仍然把它认为是目标选择器,比如:

\/tellraw @a {“selector“:“我靠“}

然后游戏就会寻找名为“我靠”的玩家,但实际上并没有这个玩家。

最后游戏找不到,干脆就不干了,直接给你显示一个空空如也的消息。

但如果真有叫做“我靠”的玩家,那么游戏就会正常显示这个名叫“我靠”的玩家的名字。

对了,还会显示前后缀。

当然,selector还不高级,接下来我们来更高级一些:

score(内容类别)——记分板元素

这个score可以显示玩家的指定计分项分数,让你的服务器更加的高级。

score也很简单,其格式大概是这个样子的:

{“score“:{“name“:“目标选择器“,“objective“:“计分项名“}}

(嘿作者,你不是说大括号里不能套大括号吗?怎么现在就出现了?)

(额,凡事都有例外嘛)

我相信各位都看得懂这个格式吧,现在我们举个例子:

\/tellraw @a {“score“:{“name“:“@s“,“objective“:“绿宝石“}}

这样子,执行后在场的所有玩家都会知道自己有多少绿宝石了。

然鹅,name不光可以填目标选择器,还可以填*号!

这个*号是什么作用呢?

@s类似,也是显示自己的分数,只不过为了准确,还要在显示前面加上“读者”二字。

为何?待会你就明白了。

其实score不光是name和objevctive这两个子元素,还有一个子元素:value。

这个value填不填都没关系,反正填了之后,这个objective就失效了,值就固定显示这个value的值。神奇的是,这个value竟然支持数字(不带引号)和字符串。

至于mojang为什么要添加这个元素,可能是因为方便后期编辑吧。

对了,注意一下,一个对象里只能有一个内容元素,所以你不可能在一个对象里同时写上两个text,不然游戏只会显示其中一个元素。

我们知道,游戏内是可以选择语言的,因为各个地方的语言都是不一样的。minecraft也不例外,里面有很多可选的语言,起码可以满足全球大部分人了。

既然游戏都要这样,那么出名的minecraft服务器也要这样,就算不支持那些奇怪的语言,起码也要支持英文和中文繁体。

那么我们自己开的服务器该怎么翻译?

很简单:使用JSoN里的translate元素就可以了。

translate元素也是属于内容元素,但它和其他元素不一样的是,它并不是完全固定的,而是会根据玩家选择的语言来自动翻译。

看到这你可能会说:minecraft还可以翻译英文中文?

其实并不是这样的,实际上minecraft没有内置的翻译软件,所以translate你只能填翻译标识符。

什么是翻译标识符?

翻译标识符可以指定游戏里的一个特定物品,比如“石头”,它的标识符是:

block.minecraft.stone

其中,block是它的类别,minecraft是它的命名空间,stone是它的id。

把它放进translate里:

{“translate“:“block.minecraft.stone“}

运行。

唉,输出了一个石头!

这时候把游戏语言换成英文,再运行一次。

唉,输出了一个Stone!

你也可以改成其他的语言再尝试一遍,或者是把stone换成其他方块的id也可以,比如红石块(redstone_block)

你也可以尝试把block改成item,然后把id改成一个没有方块状态的物品,比如弓(bow)。

为什么要没有方块状态的物品?

很简单,方块物品id都一样,那就节省节省,只在block里写就行了,item就不用写了。

除了item,你还可以尝试改成其他的东西,比如entity(实体)什么的。

但是如果标识符乱写会怎么样?

这样子游戏就翻译不过来,找不到对应的含义,干脆直接给你输出原文了。

对了,如果你想知道一个游戏中的物品的翻译标识符名,你可以去minecraft wIKi该物品的词条中使用“查找”输入“翻译”两字,有大概率会跳出来搜索结果是一行叫做“翻译关键字”,这就是该东西的翻译标识符了。

如果你装了mod,比如工业时代2,你就可以更深入的了解一下这个翻译它到底是怎么翻译的:

1.使用winRAR或者其他解压软件打开工业时代2的mod文件。

2.打开assets

这时候你就会发现这里面有两个文件夹:ic2和minecraft

这就是命名空间了,其中ic2就是ic2自个mod的命名空间。

3.打开ic2

这时候你就会发现这里存着这个mod的物品、方块什么的。

其中有一个文件夹它叫做lang_ic2,说中国话就是“语言ic2”。

没错,这就是ic2语言翻译存储的地方。

点进去一看,有很多个语言文件。

这时候你就可以上网查一下各个语言的英文缩写,比如英文缩写就是en,中文缩写是zh。

但如果你深入了解过语言的话,你就会知道语言还可以再划分,比如英文由于覆盖范围广,导致出现了加拿大版本、英国原版本、美国版本什么奇奇怪怪的版本,所以这些语言缩写后面还有一个国家或地区的缩写。

其实我们不需要看英文,看中文就行了。

我们发现中午翻译有两个文件:

zh_cn

zh_tw

很明显,cn那个就是大陆简体,而tw就是台湾繁体,且这缩写还是台湾其字的拼音第一个字符拼出来的。

这里建议大家打开zh_cn的文件,这时候就会出现一大堆的翻译标识符了。

可以发现,这文件的每一行就是一个翻译,格式都是:

标识符=翻译语言

而你可能也同时发现,这标识符竟然其实是没有固定的格式的。

也就是说,就算你再添加一行:

nizhenben=我真笨

然后去游戏里面运行一下,那也是丝毫没有问题的。

这就说明什么?

你可以照葫芦画瓢地自己写一个mod,里面全是奇奇怪怪的翻译,然后放到服务器一用,唉,立马就高大上了起来,这下子你的服务器就可以开展跨国业务了!

上一章目录下一章存书签
站内强推反派:勾栏听曲,奖励千年修为!我的七个绝色姐姐又美又飒卒舞从火影开始国民女神:重生王牌千金末世求生录之尸海云涌怦然兴动三山阙穿剧追星,莲花也相夷道女情缘与鬼魅传说空间种田:糙汉的仙妻全家宠透视仙王在都市万古龙帝一身反骨,逆破苍天财团终结者综影视男神太撩人朕实在太难了最强狂兵陈六何沈轻舞我在坟场画皮十五年开局马内萨拉赫两翼齐飞
经典收藏直播:从山海界震惊全网重生年代,退婚嫁最猛糙汉子不死的召唤师开局两个福利怪分身幻影之花影儿从骑士到国王世间二三事重生之万古仙尊漫威电影之从时光老头到极疯剑豪大武器时代之红瞳少年我成为乔峰天道学院,我专收修仙废材!一刀破万法玄幻:我有五个绝色师娘斩妖:从金钟罩铁布衫开始网文修仙系统:我在七猫证道成仙!柯南之第五调酒师拜见血主大人我有一枚无敌戒指超凡地球
最近更新星穹圣域网游之传奇世界H5太始噬天诀斩神:我以无敌大圣,成就代理人青阳市惊悚秘闻冷剑仙尊镇万妖易经之风水故事逆时流年录歌一曲神仙道系统赋我轮回长生,活着就能无敌蛊王阿杰赠礼返还,我,仙界第一豪横灵界风云逆世天尊仙本正宗尘间无生不是,兄弟生娃我成帝,天道慌了重生修仙:我的大脑开发百分百皇帝修仙路:星海征途本是剑术庸才,那想我的剑会说话修丹田世界我靠吞噬万物洪荒:杀敌爆修为,阐教崩溃了
Minecraft指令手册 你好MC - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - Minecraft指令手册全文阅读 - 好看的玄幻魔法小说