登陆注册
66052300000137

第137章 JSON的内容 下

我们上一章讲到了translate,也就是翻译。我们可以使用游戏里自带的翻译标识符来达成翻译的效果。

我们在第六十章,基岩版的JSON文本中,讲到了translate,也就是翻译。我们可以使用游戏里自带的语言文件名称来达成翻译的效果。

等等,是不是有什么不对的地方?

这两个竟然作用一模一样!连元素名都长得一模一样!等等,基岩版的translate还有带一个with参数,那么难不成.......

没错!在JAVA版的JSON的translate,也有一个附加的with参数,作用也和基岩版一样。

唉不对,有一点不一样,就是格式和替换符号不一样。

在JAVA版的JSON里,with可以识别translate里的%s(下一个参数)和%1$s(第一个参数),其中%1$s中的1可以替换为其他的数字,这个数字代表着显示第几个参数。

而with的格式是这样的:

[{“with“:[{原始JSON文本},对象]}]

等等?这不就是?套娃?

没错,这的确是可以套娃的:

[{“with“:[{“with“:[{“with“:[{“with“:[{“with“:[{“with“:[{......}]}]}]}]}]}]}]

而这个with本身的内容是一个列表,按从左到右排列,所以使用%s,第一个%s显示第一个,第二个%s显示第二个,第三个%s显示第三个,以此类推。

那么这个with到底有什么用?对哦,作者在第六十章没讲明白唉。那么这里讲明白吧。

with的作用,就是可以在translate里插入一段固定的文字,不会因为语言的变化而变化。

那么现在来举个例子,比如我们要弄一段文字:

<猪>你当我是猪吗?

而其中,“猪”是要翻译的,如果我们只能使用with和translate,就可以这么做:

{“translate“:“%s%s%s%s“,“with“:[“<“,{“translate“:“entity.minecraft.pig“},“>“,“你当我是猪吗?“]}

这样子最终得出来的结果是这样的:

<猪>你当我是猪吗?

如果调成英文那么是这样的:

<Pig>你当我是猪吗?

可能有人已经注意到了,作者并没有直接把entity.minecraft.pig放在第一个translate里,而是把它放在了with里。这是为什么?

很简单,放第一个translate游戏就识别不出来了,因为我们还有%s这些干扰项,所以我们只能放出来。

但是如果我的读者里面有外国人,那么这群外国人肯定会表示对这条指令不太满意,因为他们认为说的话里面的“猪”字也可以翻译成英文,那么这该怎么办呢?

很简单,可以修改上面的指令变成:、

{“translate“:“%s%s%s%s%2$s%s“,“with“:[“<“,{“translate“:“entity.minecraft.pig“},“>“,“你当我是“,“吗?“]}

然后把游戏调成英文,再运行一次:

<Pig>你当我是Pig吗?

好了,现在这群外国人都已经表示对这条指令满意了,但是他们对其喜欢的主播造的桥仍然非常不满意,于是作者为了让这群外国人彻底满意,就造出了一个桥,这个桥可以方便河两岸的村民非常“便捷”的来往交易,这群外国人看到我造的桥特别满意,于是每人随手就给了我这本书投了一张推荐票。

好了,这就是translate的全部了,但这不是JSON内容元素的全部。在JSON里,还有一个和translate类似的元素,那就是keybind内容元素。

格式和translate差不多,都是要填标识符。而translate是翻译标识符,keybind是按键标识符。

这有什么用?keybind的作用就在于可以非常方便的显示出游戏的按键,把服务器做得高大上起来。特别是使用keybind,还可以制作出一个很简单的新手教程。

而且其显示内容也会随着玩家在设置里更改而更改。

比如:

{“keybind“:“key.inventory“}就是显示游戏打开背包的按键,如果玩家没有更改,使用默认设置,那么将会显示e。

是不是很简单?对,但是标识符找起来就难了。

为何?如果你去MinecraftWiki找到对应的内容,你会发现其“键位标识符”指向了“控制”词条,而这个词条压根儿就没有键位标识符。

MinecraftWiki没有,那么该去哪找呢?

2020年初,MinecraftWiki为了方便中国大陆的用户查找资料,分别在Bilibili和网易分别设立了镜像,网址分别是:

哔哩哔哩:wiki.biligame.com/mc/Minecraft_Wiki

网易:mc.163.com/wikigrab/

而哔哩哔哩就是一个真的镜像映射,内容还是Minecraft Wiki。

而网易就不一样了,还专门重新写了一个界面。但是在其他人看来,网易的这波操作让该MinecraftWiki从有用到有个锤子用来了一个一百八十度大反转,其他人宁愿去哔哩哔哩,也不愿去看看网易的镜像站。

那么网易的镜像站就真的没用了吗?还真不一定。

在网易的Minecraft Wiki首页点击“游戏内容”,往下拉一下,你就会发现了一个新的大陆:原创教程!

实际上这些教程是从Minecraft WIKI那里搬过来的,但网易把其放在了最醒目的地方,加上界面UI的优化,使我们可以很容易找到这里。

其中,有一篇教程叫做原始JSON文本,里面详细的说明了原始JSON文本的各个元素,就在这里,我们就可以找到原版的大部分键位标识符:

key.forward——向前移动——W

key.left——向左移动——A

key.right——向右移动——D

key.back——向后移动——S

key.sneak——潜行——左Shift

key.sprint——疾跑——左ctrl

key.jump——跳跃——space

key.use——使用物品|放置方块——鼠标右键

key.attack——攻击|摧毁——鼠标左键

key.pickItem——选取方块——鼠标中键

key.drop——丢弃所选物品——Q

key.swapHands——交换副手和主手中的物品——F

key.inventory——开启|关闭物品栏——E

key.hotbar.[1~9]——快捷栏1到9——1~9

key.saveToolbarActivator——保存物品工具栏——C

key.loadToolbarActivator——加载物品工具栏——X

key.chat——打开聊天栏——T

key.playerlist——玩家列表——Tab

key.command——输入命令——/

key.fullscreen——全屏显示切换——F11

key.smoothCamera——切换电影视角——无默认按键

key.togglePerspective——切换视角——F5

key.screenshot——截图——F2

key.advancements——进度——L

key.spectatorOutlines——高亮旁观者玩家——无默认按键

keybind也完了,那么内容完了没有?

还没完,但也快完了,只剩最后一个:nbt。

nbt也是一个内容元素,使用nbt,可以读取指定实体、方块或命令存储的NBT其中的某个值,并把它显示出来,比如直接显示出一个玩家的经验值,或者是一头阿米驴的血量——哦不!阿米驴被服务器的防刷物品装置清除了!阿——米——驴——!

只不过这个内容,我们就放到接下来讲NBT时再讲吧。

(嘿,作者,JSON怎么换行啊?)

额,这个......

“\”这个符号叫做“反斜杠”,和“正斜杠”(/)是相反的。在计算机语言中,反斜杠通常叫做“转义符号”,而在转义符号后面添加一些数字或字母,是可以有特殊作用的。而JSON本身作为JAVA的一部分,自然而然也可以使用转义符号。

比如要显示英文的引号,可以在英文的引号前面加上一个\,让其失去意义,比如:

{“text“:“小明说:\“你好\““}

这样子,输出的结果是:小明说:“你好“,而两个转义符号是一次性物品,转了“成为没意义的符号就没了。

那么如果想要在文本显示里显示“\”该怎么办?

很简单,在\前面再加一个\让转义符号转前面的转义符号成为没意义的转义符号,这样子就可以显示了,比如:

{“text“:“\\我去?\\“}

这样子得出来的结果是:

\我去?懂了吧,那么你应该也知道怎么输出:

知道吗,转义符号还可以这么用:{“text“:“\\小明:\“你好\“\\“}

了吧?其实很简单:

{“text“:“知道吗,转义符号还可以这么用:{\“text\“:\“\\\\小明:\\\“你好\\\“\\\\\“}“}

那么该怎么换行呢?

可以在转义符号后面添加:

\n(换行)或\r(回车)来换行。

为什么有两个呢?

这就要涉及到计算机的操作系统了。

我们知道,目前为止,世界上有四大系统:

苹果系统(Mac OS、iPai OS、iPhone OS、IOS什么奇奇怪怪的苹果旗下系统都统一为苹果)

安卓系统

Windows

Linux

其中,苹果系统采用的是\r回车符CR代表换行,Winodws采用的是\r和\n都用,Linux采用的是\n换行符LF换行。所以,如果你在Linux上使用\n且运行正常,那么到了苹果上就可能无法识别只显示一个方框里面显示LF两字。苹果系统换Linux也是同理。而\r也是同理。

所以这就是为什么你在Windows上的Minecraft使用\r换行时只会出现一个方框里面有CR两字,这就是因为Windows的Minecraft可能并不支持\r,只能使用\n,可能换到苹果系统上就没问题了,当然由于MinecraftJAVA是使用JAVA编的,JAVA又是全平台,可能是JAVA并不支持\r吧,所以虽然可以选择\r和\n,但最好还是选择\n来换行。

但是你以为这就完了吗?如果你到百度百科上去搜索“转义字符”,找到转义字符词条,那么你就会发现在计算机语言当中,转义字符的作用不止一点:

\a——响铃(BEL)

\b——退格(BS),将当前位置移到前一列

\f——换页(FF),将当前位置移到下页开头

\n——换行(LF),将当前位置移到下一行开头

\r——回车(CR),将当前位置移到本行开头

\t——水平制表(HT)(跳到下一个TAB位置)

\v——垂直制表(VT)

\\——代表一个反斜线字符''\'

\'——代表一个单引号(撇号)字符

\“——代表一个双引号字符

\?——代表一个问号

\0——空字符(NUL)

\ddd——1到3位八进制数所代表的任意字符

\xhh——十六进制所代表的任意字符、

而其中,除了\n、\r、\\、\“和\'(这个也可以用,只不过删了\也是可以的)上面讲过了或有同类的,剩下的其中\b、\f、\t在Minecraft中同样也可以用,只不过和\r一样,实际上游戏并不能识别它们只不过是JSON语法对了而已,实践起来只会显示方框里有BS、FF和HT而已。

张三抱着一堆2147483647级锋利的剑从刷物品房走了出来,看见王五正在拿着纸和笔专心的做笔记,旁边还放着一台正在工作的电脑。

“奇怪了,王五兄不是最讨厌做笔记了吗,怎么今天像换了个人似的。”张三嘀咕着。

好奇心驱使着张三放下了手中的一堆剑,转而走到正在专心写笔记的王五后面。王五似乎并没有注意到张三来到了他的后面,继续在写东西。

在王五后面的张三定睛一看,发现王五的笔记上面写满了各种密密麻麻的单词、数字,好像是什么计算机语言。“没想到王五竟然会对这种东西产生兴趣。”张三想。

突然间王五伸了一个懒腰,把在后面的张三下了一大跳。王五听见后面有动静,转头一看:“唉,张三兄,你怎么在这里?”

张三平静了一下心情,说:“我这不是刚刚做完事情,出来看到你王五兄你今天竟然在学计算机语言,觉得稀奇嘛所以过来看一下。”

说着张三指了指放在门口的那一堆附了魔的下界合金剑。

王五看到张三这么说,不禁觉得好笑,回答道:“唉张三兄,你还是太高估我了,我那点连初中都没上完的头脑,指望着去学计算机语言?”

“嗯?那么你写的是什么东西?”张三听王五这么一说顿时来了兴趣。

“额,这该怎么说呢......哦对了,”说着王五拿起一把下界合金剑,“比如这把剑,它附魔了2147483647级的锋利对吧?你想知道为什么这个等级会超过32767吗?”

“额这个问题不是你最先......”

“我后来加了几个大佬的QQ,和他们仔细研究了好几天,然后我又去某视频平台上看其他大佬制作的教程,还去看了MCBBS的相关文章,同时我还去了MinecraftWiki查找了一下文献,最终的结果没有让我失望,我找到了!”王五得意的说。

“原来在Minecraft1.13版本Mojang把附魔的NBT标签的等级数字类型由short短整型改成了int长整形,自然而然附魔的等级上限就由32767上升到了2147483647!”

“你说什么?”张三听得一头雾水,“这和你写的又有什么关系?”

“有很大的关系,”王五压低了声音,“你知道腐竹是怎么获得这把剑的吗?”

“怎么获得的?快说!”

“用了指令!加上NBT!”

“?”张三头上的雾水更多了,“那然后呢?”

“我在网上找到了一位大佬,他给出了如下指令。”说着王五打开了他的笔记本,并翻到了第一页指了其中一行,“呐,就是这个。”

张三拍散了头上的雾水,然后把目光转向了王五指着的那一行,只见上面写着:

/give @s netherite_sword{“Enchantments“:[{“lvl“:2147483647,“id“:“sharpness“}]}

张三头上冒出了个大大的问号:“就是这么简单?”

王五笑着说:“没错,而且这可以直接在聊天栏输入并运行。”

张三虽然不知道为什么王五会笑,但他听王五这么一说,赶紧打开了聊天栏,输入了王五刚刚提供的那个指令,并回车:

[未知的命令

/give @s netherite_sword{“Enchantments“:[{“lvl“:2147483647,“id“:“sharpness“}]}<——此处]

张三:?

王五看张三一脸疑惑的样子,笑得更加的猖狂了:“哦对了哈,张三兄。”

张三以为王五又有什么重要的事情来讲,打起了10倍的精神准备迎接接下来的内容,以免又是一头雾水。

“哪会那么简单啊哈,你只是完成了第一步而已!接下来,你需要找到末地传送门,注意是没激活的!激活的就弄不了了!”王五强忍着笑意装正经说,“然后你需要将一把满耐久的没有附魔的下界合金剑丢进下面的岩浆,静静等待5分钟,这5分钟千万不要动!到点了后你就需要激活传送门,然后跳进去,你就会被传送到一个神秘的房间,这个房间里面放满了神器!我们在管理员手中买到的只不过是最初级的而已,里面还有更加牛批的!”

“真的?”张三现在恨不得立马传送到末地传送门旁边。

“千真万确,我们可是好哥们我咋会骗你呢?不信你可以现在就启程。”

张三听王五这么一说,更加确认了王五说的是真的,毕竟是好哥们嘛。于是他操起一把下界合金剑,就进入了地狱门.......

“哈哈哈哈哈哈哈哈哈哈哈哈哈哈,哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈,哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈咳~。”

同类推荐
  • 我的世界:冒险的旅程

    我的世界:冒险的旅程

    有一个游戏叫我的世界,在某一天有一个因某种原因而被带入了这个游戏了,从此冒险旅程就从这里开始了
  • 遇见大神

    遇见大神

    现在都奇了怪,好好的富家千金,你现实中要什么人杰找不到,偏偏要在游戏里面找,游戏里面找也就算了,偏偏还找有妇之夫,找有妇之夫当然也没有什么关系,但是你为什么偏偏找到自己的丈夫,真是,真是~~~~~~
  • 游戏对决

    游戏对决

    VR风靡AR盛行,国家支持的背后又隐藏着怎样的秘密呢?安月一个普通大学生又是怎样在这时代的洪流中一步步走到游戏和人生的顶峰的?
  • 英雄联盟之心中有梦

    英雄联盟之心中有梦

    一夜之后突然拥有了世界顶尖实力的徐易,从此由坑转神,而他的出现又会给这个平淡中成长的电竞世界带来怎样的变化?徐易:我用双手,成就自己的梦想。其他人:大师兄,带我装×,带我飞。
  • 网游之职业商人

    网游之职业商人

    有一天我做梦,有个老头问我“给你一个翻身的机会,你干不干?”我有气无力的道“大爷,你能让我明天中1000的彩票吗?”老头不解“为什么?”我答“我已经欠房东3个月的房租了,再不交真会被赶出去。”老头很是鄙夷的看了我一眼“告诉你几个号,明天买这个23/14/5/XX/XX"保准中,不中你在找我。但是......“我赶忙记住,以至于后面的我都没去想,但是不经意间的驻足,改变了我一生的命运。
热门推荐
  • 染墨華

    染墨華

    谁,执我之手,敛我半世癫狂;谁,吻我之眸,遮我半世流离。谁,抚我之面,慰我半世哀伤;谁,携我之心,融我半世冰霜;谁,扶我之肩,驱我一世沉寂。谁,唤我之心,掩我一生凌轹。谁,弃我而去,留我一世独殇;谁,可明我意,使我此生无憾;谁,可助我臂,纵横万载无双;谁,可倾我心,寸土恰似虚弥;谁,可葬吾怆,笑天地虚妄,吾心狂。“我一生无所求,只求能遇到一个能真心爱我、待我、永不弃我的人。你说你今生为我而生,又愿为我而死。我不要你的山盟海誓,只求阿墨你,能陪我一生一世一双人。”
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 王俊凯和他的逗逼班级

    王俊凯和他的逗逼班级

    写的王俊凯的逗逼班级,里面的人物都是作者的同学,本故事写的并非王俊凯的真是班级,不喜勿喷
  • 厉先生你的未婚妻跑了

    厉先生你的未婚妻跑了

    普普通通的尹芊落无意中救了一位阔少,原以为只是萍水相逢,却没想缘分从此开始展开。某年后的一天记者采访:厉总,您为什么会喜欢上一个普普通通的女孩?您能给我们介绍一下吗?厉铭哲:她是我人生的救赎。
  • 末日正煞神之天赐神福

    末日正煞神之天赐神福

    此本小说里发现,宝物,奇遇,煞笔,美女,修仙,神仙,异兽,王八,生活,励志,豪富,黑道...。您想看的,基本都有,没看过的,也许能有,财宝金鼠,即将变二,谢谢合作,谢谢观看,谢谢收藏,谢谢点击。
  • 晴天之初心

    晴天之初心

    一个是武学宗师的关门弟子,一个是豪门世家的千金小姐。碰撞在一起的是爱情,是守护,是永恒;一个惩治罪恶,一个助人扬善;只愿彼此守护,同伴同行。
  • 恋爱我是认真的

    恋爱我是认真的

    【甜宠文蠢萌二货黑白甜文主X温柔体贴白切黑男主】当沙雕的黑白甜,碰到披着温柔皮囊的饿狼,会发生怎样好玩又刺激的事情,迸发出多大的火花呢?事例一在一起不久,陈筱筱有一天兴致大发,用自家江先生的手机玩游戏。却无意之间发现自己在江先生的手机备注是:小脑袋。于是有了下一段对活。“为什么我的备注是小脑袋?”“因为你脑袋小。”“难道咱俩第一次见面时,你只看到了我的脑袋?”“嗯”……友尽事例二朋友圈聚会总少不了唠嗑。童梓仪:“XX是娱乐圈的新起之秀,她……”许曼绮:“XX是科学家中的新起之秀,他……”吴若欣看了陈筱筱一眼,又看看江叶秋,眼里饱含同情。“你男票江学长是B大的新起之秀,你再看你。”“我怎么了!”陈筱筱有些不服气“我也是个秀啊!”“what?”三人同时懵逼。听到三人的对话,江叶秋正在给陈筱筱剥虾的手一顿,嘴角勾起一抹意味深长的笑意。接着,陈筱筱得意洋洋的回了句:“蒂花之秀”【简介无能】
  • 原天鉴

    原天鉴

    谷神不死,是谓玄牝。玄牝之门,是谓天地根。
  • 我家宠妃很嚣张

    我家宠妃很嚣张

    穿越了?!!还是被追杀的刘家二小姐身上!醒来时家族被灭,唯一的弟弟与她共生存,而你救了我,一起浪迹天涯,奔赴理想!!
  • 重生1982

    重生1982

    重生到一个相较动荡的年代,对连城来讲,不仅意味着改变自己的命运,甚至都足以改变整个世界的进程。