Minecraft指令手册

你好MC

首页 >> Minecraft指令手册 >> Minecraft指令手册最新章节(目录)
大家在看绝世道君 从集结号开始 永恒剑主 碧蓝航线界限 太阳与雄狮 大主宰 肤浅者 名门正派的我怎么成了魔尊 永不解密 言憾 
Minecraft指令手册 你好MC - Minecraft指令手册全文阅读 - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - 好看的玄幻魔法小说

第十七章 Java版JSON文本初识

上一章书 页下一章阅读记录

在上一章提到了JSoN文本。JSoN文本在学习指令前期估计只有\/title和\/tellraw会用到,所以我们这边也就先认识一下如何使用JSoN文本显示文本内容。

JSoN \/?d?e?s?n\/,全称JavaScript object Notation,是一种轻量级资料交换格式。而我们今天所要了解的,叫做JSoN文本(JSoN text)。更确切的来说,是原始JSoN文本(Raw JSoN text)。

需要注意,JSoN≠JSoN文本≠原始JSoN文本。JSoN有很多用途,不仅仅是拿来给你发消息用的。JSoN文本严格来说指的是原始JSoN文本经过识别所转化成我们人能够看得懂的文本,没有带JSoN语法的那种,也就是最终的输出形式。原始JSoN文本既然带有『原始』二字,那就是指还未经过识别的JSoN文本,也就是还处于原始形态并带有JSoN语法的JSoN文本。

在minecraft中,Java版和基岩版的JSoN文本略有差别,但大体都相同。本章主要讲的是Java版的原始JSoN文本的使用,因为在基岩版,原始JSoN文本在指令中使用程度并不高。我们会在第六十章讲到基岩版的JSoN文本。

如果你还没搞懂,也没关系,看下去就完事了。

原始JSoN文本听起来很高级,让人望而生畏,给人一种『作者似乎想要尝试教会你们』的样子,但其实它并不高级,相反还很简单。

简单到什么程度呢?看:

““

这是一串没有任何内容的简写JSoN文本,如果将其识别,转化为正式的输出文本格式,那将会是一串空空如也的文本。

我们可以尝试向里面加入一些东西,比如:

“hello minecraft“

这串JSoN文本被识别后,也就是运行『\/tellraw @a “hello minecraft“』,将会输出如下内容:

hello minecraft

(注意,JSoN文本的所有括号均为英文半角括号,但阅文平台会自动将英文半角括号改为中文全角括号,所以会有些奇怪)

是不是很简单?但你有没有注意到,上面我提到『这是一串没有任何内容的简写JSoN文本』,注意『简写』两字。

所以它的真正形态是什么呢?如下:

{“text“:“hello minecraft“}

别害怕,这仍然很简单。

上面这就是刚才那个『“hello minecraft“』的真正形态。我们对这个完全体进行解剖,可以得到如下内容:

{——一个花括号,这个花括号告诉游戏『嘿,这里是JSoN文本的开始!』。游戏也根据它的形态,判断出接下来将是一个JSoN对象。

“——一个英文半角括号,这个括号告诉游戏『这里是一个字符串的开始!』

text ——一串英文。游戏暂且不知道这串英文的意思,于是它继续看下去。

“——又是一个英文半角括号,这个括号告诉游戏『这里是这个字符串的结束!』

:——一个英文半角冒号,这个冒号告诉游戏『这里是这个组件(key-value pairs)的名称与值的界限!』。游戏根据以往的经验,确认刚刚遇见的『“text“』是这个组件的名称(key),这个组件是一个text纯文本内容组件。

“——还是一个英文半角括号,这个括号告诉游戏『这里是又一个字符串的开始!』

hello minecraft ——一串内容,游戏根据前面得到的消息,确认这是这个组件的值(value)。游戏因此得知,这个text纯文本内容组件将会显示出『hello minecraft』。

“——最后一个英文半角括号,这个括号告诉游戏『这里是这个字符串的结束!』

}——又一个花括号,这个花括号告诉游戏『这里是JSoN文本的结束!』

然后游戏根据以上信息,确认这个原始JSoN文本的意思是:显示出一串文本(text),内容为『hello minecraft』

我们也可以根据以上信息,了解了这个JSoN文本:

1这个JSoN文本被一对花括号({})包围,这对花括号标志着这个JSoN文本的开始和结束

2这个JSoN文本内有两个内容,text和hello minecraft。这两个内容都是字符串,因此均被英文半角括号(““)所包裹着。一对英文半角括号标志着一个字符串的开始和结束。

3『“text“』是组件的名称(key),由于是字符串需要加上括号,所以其中的text才是具体的名称,意思为『文本』,标志着这个组件的值是一串要被显示出来的文本,也标志着这个组件是一个纯文本内容组件。

4『“hello minecraft“』是这个组件的值(value),由于它是一个字符串,因此要被括号包裹着,所以hello minecraft才是值的内容。这标志着这个纯文本内容组件将会显示出『hello minecraft』。

5『:』英文半角冒号是一对『组件名称』与『组件值』的分界线,其左边是名称,右边是值。

6『“text“:“hello minecraft“』像这样的由一对『名称』和『值』组成的东西,叫做『组件』(key-value pairs)。

7一个组件的名称规定了该组件是个什么东西,干什么用的。值则规定了该组件具体要干什么,怎么干。

8如果值或组件名是一个字符串(组件名肯定是),那就得使用括号将其包裹起来。

8外面被花括号所包裹着的,里面有一个或多个组件的东西,就像『{“text“:“hello minecraft“}』这样的,是一个JSoN对象(object)。

(注:上面提到的什么『组件』之类的,是本书内才有的叫法,仅为了方便大家理解,官方并无此叫法。『组件』的正式叫法是『键-值对』,又叫做『属性-值对』、『栏位-值对』、『名称-值对』。其中,『键-值对』的英文是『key-value pairs』)

这就是JSoN的基础语法,如果你能看懂上面的内容,那就恭喜你,接下来的内容对你来说将会相当简单。

现在我们已经知道名称叫做text的组件,是纯文本内容组件。这个组件所输出的内容是一串平平无奇的文字,没有颜色,也没有什么特效。

如果我们想要给这串文字添加更多的特效,就要了解更多的组件及其使用方法。

在minecraft Java的JSoN文本中,可用的组件可以分为两类:内容组件和修饰组件。内容组件用于规定每个JSoN文本对象能够表现出什么样的内容,一个JSoN文本对象最多只能有一个内容组件;修饰组件用于修饰内容组件,一个JSoN文本对象可以拥有多个修饰组件来对输出的内容进行修饰。

内容组件最基础的是『text』,即上面接触过的纯文本内容组件。

使用纯文本内容组件,可以显示一串最简单的JSoN文本,就像上面的那个JSoN文本:

{“text“:“hello minecraft“}

需要注意,JSoN文本是对大小写敏感的,因此你不能写成如下的样子:

{“tExt“:“hello minecraft“}

那样子会报错。

上面显示出来的hello minecraft是最基础的白色。如果要更改文字颜色,那么就需要使用color组件(在Java版,JSoN文本很难使用分节符)。

color的值是字符串,也就是说需要被引号包裹着。值支持17种颜色Id:

black(黑)、dark_blue(深蓝色)、dark_green(深绿色)、dark_aqua(深湖蓝色)、dark_red(深红)、dark_purple(深紫)、gold(金色)、gray(灰色)、dark_gray(深灰色)、blue(蓝色)、green(绿色)、aqua(湖蓝色)、red(红色)、light_purple(亮紫色)、yellow(黄色)、white(白色)和reset(取消颜色效果使用默认颜色,一般使用于子JSoN对象中)

比如:

{“text“:“hello minecraft“,“color“:“light_purple“}

就可以显示一个浅紫色的“hello minecraft”。其中,color颜色组件修饰了text纯文本内容组件的颜色为浅紫色。不难发现,如果有多个组件,就得使用英文半角逗号将它们分开。

如果你认为这些颜色还不够,你甚至可以使用htmL的十六进制颜色格式来搞到更多的颜色。比如红色的十六位颜色编码就是:#ff0000,用到JSoN文本里就是:

{“text“:“hello minecraft“,“color“:“#ff0000“}

关于htmL十六位颜色编码的具体内容自己上百度或谷歌搜,这儿就不多讲了。

我们知道分节符§不仅可以更改文本颜色,还可以为文本添加更多的格式。那么在JSoN中,我们该如何为一串JSoN文本添加格式呢?

§能添加五种文本格式,对应到JSoN中即是:

§k 乱码对应obfuscated模糊文本

§l 加粗对应bold粗体

§m 删除线对应strikethrough删除线

§n 下划线对应underlined下划线

§o 斜体对应italic斜体

上面的五个组件其值类型均为布尔值,也就是true(开启)和false(关闭)。

在JSoN文本中,布尔值和gamerule一样,是使用true和false,并且并不需要添加括号,因为不是字符串。

比如要为hallo minecraft添加斜体,你就需要这样子:

{“text“:“hello minecraft“,“italic“:true}

其中,italic斜体修饰组件修饰了text内容组件为斜体。你可以尝试将italic改为其他组件,比如underlined、bold之类的。

现在我们已经了解了Java版JSoN文本的基本使用方法,基本上日常使用是没有什么问题了。

不对,还有一个问题!如果要在一串JSoN文本里前面使用一种颜色或文本格式,后面使用另一种颜色或文本格式,那该怎么办?

确实,使用花括号包裹的JSoN文本,也就是JSoN文本对象,就算修饰组件能够含有多个,具体下来其实每个组件也只能包含一个,还没有什么先后顺序。

那怎么办呢?能不能一次性就使用多个JSoN文本对象呢?

答案是可以的。

我们可以将多个JSoN文本对象排成一个阵列,组成一个JSoN文本对象列表。

什么是列表?顾名思义,就是将各种东西列在一起的表格。在JSoN中,列表内的内容一般都是相同类型,比如都是小数,都是整数,都是字符串,内容与内容之间用英文半角逗号分开,外侧用中括号包裹起来,这样子就形成了一个JSoN列表。

比如下面就是一个全都是整数的JSoN列表:

[1,2,3,4,5,6]

那既然列表内可以放数字,那能不能放字符串、布尔值,甚至是JSoN对象呢?

答案也是可以的。

比如下面这样子:

[{“text“:“hello“,“color“:“blue“},{“text“:“minecraft“,“color“:“black“},“Launcher“]

JSoN文本在解析的时候,会按照我们正常人所认为的顺序,即从左到右解析。这样子就可以实现hello是蓝色,minecraft是黑色,Launcher是蓝色。

等等,为什么Launcher是蓝色而不是白色?

因为在一个JSoN列表中,列表前面的JSoN对象定义了文本颜色,这个颜色就会传递下去,就算中途有其他对象使用了color改变了其他颜色,也只是作用在这个对象内,下一个对象还是使用这个颜色。文本格式也是一样的道理。

现在就没什么问题了吧?

需要注意一下,Java1.9版本之前的JSoN,组件名不需要额外加括号,也就是说在minecraft Java1.8版本,你可以直接这样子:

{text:“hello minecraft“}

Java JSoN历史:

1.7.2——加入了\/tellraw,第一次有指令支持了JSoN

1.8——加入了使用JSoN的\/title。告示牌和成书也开始使用JSoN文本。

1.13——自定义名称使用了JSoN文本。加入了name参数使用JSoN的\/bossbar指令。

1.14——物品描述标签支持JSoN文本。

1.16——color可以使用htmL十六位颜色码来更改文本颜色(需要注意这个功能是这时候才添加的)。

......

......

......

As we know ,we can't type § into the chatbox. So can we type the Unicode of § into the chatbox?

the answer to the question is no.

So can we type it by using tellraw?

I can say, the way is feasible in minecraft Java 1.12.2.

Now, let us run minecraft Java 1.12.2, and create a new world in creative mode.Remember to allow cheats.

After the world was created ,please run the following mand:

\/give @s mand_block

I'm sure that you must have a mand block now.please set it on the ground.

Right click to open the GUI,then enter the following mand:

\/tellraw @p {“text“:“\\u00a7bhello minecraft“}

click the done button to return the game.take a lever out of your bag.Set it next the mand block.

Now let's pull the lever.the moment the lever is pulled, a line of light blue text appear surprisedly! Yes, as you looked, we can use the Unicode of § in JSoN text! have you learned it?

If you want to learn about it more, please search “在原版中更改任意文字颜色“ in mcbbS.You will find a post by a great mand veteran in 2015.

上一章目 录下一章存书签
站内强推大奉打更人 红尘都市 都市极乐后后宫 宋檀记事 斗罗:见证之书与绝世唐门 重生:实力至上的斗罗大陆 山村桃运邪医 欢迎来到节操动漫社 曼陀罗妖精 英格兰热刺王朝 这个主角明明很强却异常谨慎 道与碳基猴子饲养守则 地球上的一百亿个夜晚 御兽从零分开始 恰似寒光遇骄阳 帮主角受逃离疯子后我被盯上了[穿书] 宅魔女 男欢女爱 我的美艳师娘 魔艳武林后宫传 
经典收藏给大帝收尸,我暴涨万年修为! 斗罗:重生曼陀罗蛇,蟒蛟化龙! 合欢宗:从曹贼开始的日常修仙 我,女尊世界的男神 港综从巡警开始 谁让你能力这么用的? 漫威之漫威娱乐公司 天骄无双 女尊世界的女孩子真是太讨厌了 从水猴子开始成神 斗罗大陆之刘小枭传说 魔法世界的养蜂人 重生兽世:系统逼我去修仙 开局:我有一个抽奖系统 最强神道 赏金猎人:爆宠团长大人 茅山极品道尊 当万人迷和恐怖片里的大Boss谈恋爱 御兽:宠兽只是给我凑羁绊的 医者仁心陈南 
最近更新情斩化凡 穿越后,我靠系统无敌天下 系统:不隐瞒了,我是丹神 模拟修仙:圣女别怕,有我在 废柴仙途:逆命而起,踏破九霄 全民穿越你高考?我已经大乘期了 灵幻之途:混沌主宰崛起 开局:被诡异女子强行抱走 开局诗道圣子,将科学融入玄幻 万界龙祖 重生之极道皇子 民间恐怖鬼故事合集 重归万玄 万界转生模拟,我无敌 嬴政:这个大秦不正经 洪荒百年,我拳打太一,脚踢帝俊 悟性超凡,缔造暗黑仙门传奇 白九 葬天鼎 玄幻:无敌从爆肝基础箭术开始 
Minecraft指令手册 你好MC - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - Minecraft指令手册全文阅读 - 好看的玄幻魔法小说