Minecraft指令手册

你好MC

首页 >> Minecraft指令手册 >> Minecraft指令手册最新章节(目录)
大家在看 梦幻西游之重返2005 死亡永久加属性,阁下如何应对? 相濡以“默” 哈利波特之魔药教授 学姐,我对你们真没非分之想! 战神领主 无限升阶:这届人族不对劲! 末世灾变:我应聘的好像是小弟啊 非常识性主神游戏 求生难?我一天一个黄金宝箱
Minecraft指令手册 你好MC - Minecraft指令手册全文阅读 - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - 好看的游戏小说

第一百三十五章 真正深入了解NBT-1

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

在之前的第一百章——“深入地了解一下Nbt”中,其中的80%都有水的成分。所以今,我们就真正深入地了解一下Nbt。

——第一节:Nbt的格式

在之前,我们已经讲了很多Nbt。这些Nbt内容都不一样,但它们都有一个共同点:

最外层都是使用“{}”包裹起来的。

没错,Nbt和JSoN的格式并不一样。JSoN最外层使用“[]”和“{}”都可以,Nbt却只能使用“{}”。

这是Nbt的基本格式。

而Nbt里面,是由N个标签组成的。每个标签之间必须用英文的半角逗号来区分。标签里包含标签名称和值,它两使用英文的半角冒号分隔:

{标签:值,标签:值,标签:值}

(注:阅读平台会自动把半角改成全角,所以这里的符号是全角符号,实际上在写的时候是全是半角)

而这个标签中的标签名称,它不是什么都能写的,而是有一个规则:

1.标签名称中只能出现字母a-z和A-Z、数字0~9、下划线“_”。

2.标签名称中不允许出现空格(空格都以下划线替代)、中文以及特殊符号

3.标签名称对大写敏福

当违反了上述规则的时候,就会报错(或者是被游戏理解为另外一种意思)。

而标签的值,大家应该都知道标签的值类型是同标签中的标签名称或由另一个标签决定的,所以不同的标签名称,填的值格式都是不同的。

但实际上,值并不是直接写上内容就行了。当标签名称决定值的类型为特定类型时,值实际上还会有一个可填可不填的格式,我们待会就会讲到。

——第二节:Nbt数据类型

在之前,我们已经提到了很多Nbt数据类型的名词:

单精度浮点型

双精度浮点型

整形(整数)

复合标签({})

列表([])

整型数组([I;1,2,3,4])

字符串

可以发现,Nbt的数据类型和JSoN的并不一样,而且类型还比JSoN多。

其实并不是类型多,而是Nbt的类型分得比较细,实际上你搞个分类,就和JSoN差不多了。

好的,现在请你拿出你的笔记本,并坐好,做一下心理准备,我们的车马上就要开动了!

3

2

1

Go!

Nbt一共有14种数据类型,分别是:

[字符]

字符串(String)

[数值]

{整形}

字节型(byte:b)

短整型(Short:S)

整型(Int:I)

长整型(Long:L)

{浮点型(数)}

单精度浮点型(Float:F)

双精度浮点型(double:d)

[数据]

复合标签(pound)

列表(List)

[数组]

字节型数组(byte Array:[b])

整型数组(Int Array:[I])

长整型数组(Long Array:[L])

我们从字符串(String)这个最简单的类型入手。众所周知,字符串类型的值其外层需要使用英文的半角双引号(““)来包括。当引号里的值要写上引号时,就需要使用转义符号(\\)放在引号前面转义。要在里面写上反斜杠(\\)时也一样。比如:

{text:“我叫\\“明\\“,这是反斜杠:\\\\“}

你知道吗?其实Nbt的字符串并不一定需要使用双引号来包括,单引号也可以,只不过这是1.14版本才更新的:

{text:'我叫\\'明\\',这是反斜杠:\\\\'}

如上面这个例子,要在值里面写上单引号,也是需要使用转义符号(\\)的。

而这个字符串还远远不止那么简单。字符串的存储上线是个字节,可以含有中文、空格和特殊字符,编码形式为UtF-8。所以这就是为什么命令方块其字符上限就是,因为这就是字符串类型的值上线了。

只不过我们都知道,就连最基础的汉字也要占用2字节的空间,而UtF-8作为万国码,存储的字符就更多了。所以UtF-8的基础汉字一个就是3字节,而字符串的上限是字节,并不是个字符。所以更准确的来,命令方块的储存上限是:

字节(UtF-8编码)

而不是个字符,这种法是错误的。

总之,字符串的特性就是:

1.值大上限为字节

2.使用UtF-8编码

3.文本可含有中文、空格和特殊字符

4.需用双引号(““)或单引号('')(1.14版本及以后)包裹。

5.如需要在文本里写上引号或反斜杠,需在其前面加上转义符号(\\)

然后是我们的数值:

{整形}

字节型(byte:b)

短整型(Short:S)

整型(Int:I)

长整型(Long:L)

{浮点型(数)}

单精度浮点型(Float:F)

双精度浮点型(double:d)

可以发现,Nbt的数值细分到了整数和浮点数(数)。我们先从整数入手,整数类型的类型有:

字节型(byte:b)

短整型(Short:S)

整型(Int:I)

长整型(Long:L)

实际上这些都是存储整数。它们的明显差别只不过是名字的不同和数值上下限的不同。

最的字节型(byte:b),其值是存储一个绝对值很的整数,范围是:

-128~127「-(2?)~2?-1」

很简单对吧?

其实不简单。在第一节的最后,作者提到特定类型的值还有可填可不填的格式。这个字节型就是其中之一,其格式其实是这样的:

{byte:数值b}

没错,字节型的值需要你在填完数值之后再加上一个特定的字母,通常是这个类型其英文缩写的写形式,比如字节型的byet缩写就是b,再写一下就是b。

为什么要这样呢?其实这就是起到一个区分的作用,实际上你不在最后面写b也是可以的,游戏大部分情况会自动帮你加上去。当出现错误时可能才需要用到。短整型和长整型以及其他的一些类型也是数值后面有类型字母的,当然大部分情况它们不填也是可以的。

实际上byte类型值不仅仅是个数值,它还有另一种值:

布尔值(false|true)

没错,byte值也是布尔值,这个布尔值一般是数字形式的:

1和0

也有些情况下是true和false。

当为字母形式时,就不用填最后的b了,只需要类似于字符串那样加上引号就可以了(好像不加也可以)。

这就是byte类型。按理来一个普通的mc指令教程到这就可以了,但这本书并不普通。所以接下来我们要研究一个问题:

为什么这个值类型叫做“字节型”呢?

其实答案很简单。刚才的数值范围大家也都知道,是:

-128~127,

也就是-(2?)~2?-1(二的七次幂的相反数到二的七次幂减一的差)

我们的一个字节,也就是:

8bit(8个二进制数字)

字节型数值的绝对值最大值是128,即2?,转换成二进制就是,刚好一字节。

这就是字节型这个名称的由来,是不是灰常简单?

总之,字节型(byte:b)的特性就是:

1.值为整数或布尔值

2.当值为数值时,数值范围为-128~127

3.当值为数值时,需要在值最后加上类型字母b

4.占用空间只有1字节

(唉,为什么最大值不是,即511?)

(有补码懂不懂?有补码才能区分正负!)

比字节型范围稍大的短整型(Short:S),在上面就有提到其也是有类型字母的。而这个类型字母就是:s,具体这个放在哪里大家都应该知道的。

短整形的数值范围是:

-~「-(21?)~21?-1」(占用2字节)

是不是很熟悉?没错,1.13版本以下附魔的等级值就是短整形,所以当时的附魔最大等级才是。

所以我们可以根据这个附魔的标签来举个例子:

{ench:[{lvl:s,id:18s}]}——这就是短整形的最大值,也就是附魔等级的最大值

{ench:[{lvl:-s,id:18s}]}——这就是短整形的最值,也是附魔等级的理论最值(LV.-?)

(细心的朋友可能注意到了,1.13以前的id其值也是短整形)

到了1.13以后,情况就不一样了。mojang把lvl值类型改成了int整形,附魔的上限也就升级到了。但实际上,在新版本,lvl其值是int和Short混用的。具体是这样的:

用附魔台附魔或战利品表生成的,是Short短整形,但是读取时是按照int整形的时候来读取的。其他的就直接是int了。

只不过这些东西,我们以后再。现在回到正题。

Short的内容就是这么多。总的来,Short短整形的特性就是:

1.值范围是-~(整数)

2.类型字母为s

3.占用空间2字节

oK Nbt标签的内容就暂且到这里了,我们下一章再见。

(补码是什么啊?)

(简单来,这八位的第一位是表示正负号,0为正,1为负。所以负值最可以到-128即,正值最大可以到127即0。)

(哦懂了懂了)

(不光byte有补码,minecraft的十四种Nbt数据类型中,除了字符串、复合标签、列表这三样,其他都有补码)

(对了,byte作为布尔值时是没有补码的。实际上在Java语言中,byte数值没有布尔值这个用途,表示布尔值的是一个叫boolean的数据类型,minecraft的Nbt中mojang把boolean的功能合并到了byte中,所以这就是为什么byte还有一个挺突兀的布尔值功能)

喜欢Minecraft指令手册请大家收藏:(m.aizhuixs.com)Minecraft指令手册爱追小说网更新速度最快。

上一章 目 录 下一章 存书签
站内强推 荒古镇狱经 神兽缔造师 四合院:从五级厨师开始 穿书七零:作精女配靠玄学躺赢 我为穿越者跑腿,惊动了国家爸爸 莲花楼之长乐 没有异能的我却能靠卡片变身 灵气复苏:开局入住神级养老院 成婚三年仍完璧,二嫁一夜得多胎 海贼:我携倒吊人途径降临 代号:清道夫 炎夏纪元:星际新星 星际种田,大小姐靠炼药逆袭 团宠农家小糖宝 寡妇娇又魅,帝王把持不住了 重返1987,属于我的黄金时代 转生成兽娘被神收编了 女主太强怎么办 傻王与王妃 道友留步,你身上有凶兆!
经典收藏 足坛少侠 hp命运的礼物 死亡奖励神器!全服玩家求我别死 斗罗之武魂是雷电 异界求生:神灵的游戏 楚先生,请离婚 网游:得知我的天赋,妹子们跪了 抵死缠绵:驯服小悍妻 黑猫和主人的末世日常 召唤圣剑 全民远征:副职也能带赢全人类 哈利波特之魔药教授 趣谈百家姓 网游之奴役众神 NBA模拟器!我十冠王朝! 梦幻西游:系统在手,新区称王 火影:我大筒木雏田,忍界女帝! 小漂亮npc美貌值爆表 家禾重生,逆袭为禾姐 半面妆
最近更新 仙魔第一万人迷 星铁:执念未了,过往依旧 他们很好 刺客与书生 足坛中场神!世一中横空出世 火影修仙九品家族制反攻大筒木 游戏:治疗最弱?那是你没有挂! 是勇者就上1000层 猎户座英雄 东方美人在美国 作为玩家,您能正常点吗 绝杀!NBA冠军教练的奇迹时刻 开局当游戏托,反手薅秃全服土豪 梦幻西游之全职五开 真实的克苏鲁跑团游戏 列车求生:别跟我比运气谢谢 白夜浮生录 末世重生铁链拴疯狗 风起,云涌,雷鸣,雨重 全民领主:我有一颗黑龙之心
Minecraft指令手册 你好MC - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - Minecraft指令手册全文阅读 - 好看的游戏小说