第189章 ,/.

为何?待会你就明白了。

其实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(实体)什么的。

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