Minecraft指令手册

你好MC

首页 >> Minecraft指令手册 >> Minecraft指令手册最新章节(目录)
大家在看 足球之娱乐巨星 求生难?我一天一个黄金宝箱 召唤圣剑 遵守怪谈规则,但没说不让超度诡 年代快穿凡人求生路 B级天赋,一样可以登顶 错遇惊婚 云歌凤鸣 有没有一种可能散人也能制霸全服 云麓词心录:白云着
Minecraft指令手册 你好MC - Minecraft指令手册全文阅读 - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - 好看的游戏小说

第一百一十二章 实体的通用标签 上

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

看,这是一头有胡子的粉红羊!

(在哪?我怎么没看到?)

它作为一个实体,肯定也有自己的Nbt标签。

在这些Nbt标签中,有很大一部分是大部分实体通用的。

具体是哪些呢?

首先,和物品一样,游戏也会通过实体的Nbt来识别该实体到底是什么实体,这就需要用到id这个标签。id标签的数据类型是文本(String字符串),它存储着这个实体的命名空间Id。比如这只羊的id标签就是:

{id:“minecraft:sheep“}

需要注意,id标签由于是用来判断实体类型的,十分重要,所以我们在游戏中无法通过指令来获取并修改它,也就是你并不能把这只羊变成一只猪。另外,玩家虽然也是实体,但没有id标签。

id可以判断实体的类型,但如果游戏还想更精确地判断这个实体到底是哪个个体,就需要使用到UUId。实体的UUId数据也存储在自身的Nbt中,也就是我们可以通过Nbt来获取到实体甚至玩家的UUId。

UUId的Nbt存储方式在Java1.16版本中迎来了巨大改变,这件事我们已经在第一百一十章了解过了。在Java1.16之前,实体的UUId在Nbt中是以『高低位』的方式存储,也就是像下面这样子:

{UUIdmost:L,UUIdLeast:-L}

其中,值后面的大写字符『L』代表这两个标签的数据类型都是Long长整型。目前你只需要知道这种整型能够存储很大的数字即可。需要注意的是由于计分板数据类型是Int整型,所以你并不能直接将实体的UUId高低位存进计分板郑

在Java1.16更新后,实体的UUId改成了用Int整形数组来存储:

{UUId:[I;-,-,-,]}

由于改成了Int整型数组的存储方式,所以在Java1.16版本更新后,你就可以直接将实体的UUId存入计分板。

一个实体除了自身的类型和UUId,还有许许多多的数据。让我们仔细思考一下,可能还会有哪些数据。

一个实体肯定会有位置,所以Nbt中自然也要存储实体的位置数据。pos标签就是干这个的。

pos的数据类型是『double双精度浮点数列表』,列表内的三个元素从左到右分别存储着该实体的x、Y、Z坐标数据。比如:

{pos:[14.d,72.0d,133.d]}

这代表着该实体处于(14.,72,133.)这个位置。

和pos作用类似的标签还有Rotation。Rotation标签的数据类型是『Float单精度浮点数列表』,列表内的两个元素分别记录着这个实体的水平旋转和垂直旋转角度。比如:

{Rotation:[322.f,0.0f]}

这代表着该实体正水平地朝向南偏东37.°的方向。等等!『322.』?!

还记得本书在第二十六章曾经写过这么几句话吗:

『等等,我们在讲tp时,不是水平旋转角度是:「以实体为中心,以正南(z轴正方向)为0°,顺时针下来,实体朝向和正南方向的夹角(也或者实体在真南方位角体系中朝向的角度),就是该实体的水平旋转角度。」

那这怎么跑出来负数了?

其实在minecraft中,水平旋转角度虽然可以像我们之前在第九章讲tp时那么用,但大多数时候,你都得这么用:

以正南(z轴正方向)为0°,顺时针旋转180°通过正西至正北,用正数,逆时针旋转180°通过正东至正北,用负数。比如-45°,就代表以正南为基准,逆时针旋转45°的方向;30°,就代表以正南为基准,顺时针旋转30°的方向。

也就是,在minecraft中,水平旋转角度的正确范围是-180°~180°,而不是0°~360°。至于为什么我要在第九章那么讲,只是怕一下子就把负数搬出来会吓你们一跳。』

现在,我们要纠正这里的一个疏漏之处:在minecraft中,水平旋转角度其实有两套标准——一个就是我们在第九章讲到的『真南方位角』,也就是0°~360°这个标准;另外一个就是第二十六章讲到的-180~180°这套标准。

你可能已经有些晕了——两套标准,怎么判断什么时候要用什么标准?

其实很简单,我们只需要记住三个关键点就行:

1在目标选择器中,必须采用『-180~180°』这套标准。

2在指令中,除了目标选择器和Nbt外,其他地方基本上两个标准都能用。

3在实体Nbt中,玩家采用的是『-180~180°』这套标准,而非玩家实体采用的是类似『真南方位角』的0°~360°标准。

其中的第三点,这边得好好讲一下。回去看看上面那个Rotation标签,你会发现那里采用的是『真南方位角』的标准,这明了什么?

这明,这个实体,不是一个玩家。

没错,上面那个Rotation标签,是作者从Java1.12.2版本中的一只猪上扒下来的。(不用担心,即使在目前最新的Java1.19.1版本中,这个特性也没有被mojang改变)

那玩家的呢?让我们使用\/data指令获取一下:

\/data get entity @s Rotation

\\\\适用于Java1.13及以上版本\\\\

data指令本书还没讲到,如果你感兴趣的话可以去minecraft iki上了解了解。在这边你只需要知道,上面那条指令可以获取到你自己(执行者)的Rotation标签数据。

运行一下,游戏返回了以下数据:

→xxxxxx拥有以下实体数据:[-71.f,29.f]

不难注意到,上面的数据中,水平旋转角度是『-71.f』,采用的是与非玩家实体不一样的标准。

So,你学会了吗?Rotation标签就这样子,如果能的话你可以探究一下把实体的水平旋转角度设成负数会发生什么。接下来让我们继续了解更多的实体Nbt标签。

实体肯定能够运动,因此必然具有速度属性。那游戏是怎样存储实体速度的呢?

我们在学二年级就学过:一个物体的速度,可以被分解为该物体在x、Y、Z三个轴上的速度。minecraft中存储实体速度的方式就和这差不多。在实体Nbt中,用来存储实体速度的标签是motion标签,它的数据类型是『double双精度浮点数列表』,列表内的三个元素从左到右分别是该实体在x、Y、Z三个轴上的速度向量,单位是『米\/秒』。举个简单的例子:

{motion:[1.d,-0.75d,0.0d]}

这代表着该实体正朝着正东、水平向下约30°的方向以约1.5米每秒的速度前进。需要注意的是,motion的值并不会固定不变,而是会受到游戏模拟的阻力的影响。

(注:0.75倍根号3就约为1.,因此你可以把1.看作0.75√3)

由于本书并不是一个物理教材,所以关于motion我们就不继续深入,你大概知道是这么一回事就校如果你没有看懂,可以去求助你的物理老师。

或者你可以去找一下那位屎尿屁专家?帮他完成屎尿屁大统一理论?

实体的Nbt还有许多标签,好消息是这些标签相对上面的内容来很简单。

air标签用于储存实体的『空气值』,它的数据类型为Short短整型,允许的最高值为300,实体在水中每刻都会减去1,于等于0时(对于大多数生物来)会开始扣血。

Falldistance标签很有趣。如果你玩过JAVA版的老版本,那你可能知道在旧版本中,从高空落下而不被摔死的方法,除了落地水,还可以挑战手速按ESc暂停游戏,然后再继续游戏。这个时候你的再掉下去就只会或几乎没有伤害。这个bUG的核心就在于实体的Falldistance标签。

Falldistance标签的数据类型是单精度浮点型,它用来记录实体已经掉了多远的距离,然后在实体落地时计算会扣多少滴血。老版本暂停游戏的话,这个值就会清零,所以才会导致这个bUG(于是mojang修复了)。

passengers标签是一个比较常用的标签,它的数据类型是『复合标签列表』,作用是记录骑着该实体的其他实体的Nbt数据。没错,这东西可以用来套娃!ooc也就是用这个标签来制作的。

需要注意,在Java1.9版本之前,实体并没雍passengers标签』,而是雍Riding标签』。它的用法和新版本的『passengers标签』一模一样。

Fire标签的数据类型是Short短整型,它的作用是决定实体着火或不会着火的时长。如果它的值是正数,就是决定实体身上的火距离熄灭还有多少游戏刻,如果它的值是一个负数,则代表着该实体在接触到火后,不会着火的刻数。比如:

{Fire:-40s}

这代表着当该实体接触到火时,需要两秒才会燃起来。

portalcooldon标签的数据类型是Int整型,作用是记录这个实体还有多长时间(单位为游戏刻)才可以再次穿越下界传送门。比如这只粉红羊刚刚穿过下界传送门,它就需要等至少300刻(15秒)才能再次传送,因为它的portalcooldo标签被设定为了300。

dimension标签的数据类型是Int整型[Java1.16以下]或文本(String字符串)[Java1.16更新后],它的作用是记录该实体所处的维度。

举个例子:

{dimension:“minecraft:overorld“}

\\\\Java1.16更新后\\\\

{dimension:0}

\\\\Java1.16更新前\\\\

这代表着该实体所处的维度为『主世界』。对了,『下界』的维度数字Id为-1,『末地』为1。

需要注意,似乎自从Java1.16版本开始,dimension就不再是实体的通用标签之一,而是变成仅玩家拥有该标签。所以对于Java1.16及以上版本的实体来,并没有dimension这个标签。

这一章到此为止。

附录:实体通用标签的部分历史

Java

1.9——Riding标签改为passengers标签

1.16——dimension标签不再是实体通用标签,数据类型从Int整型改为String字符串。

1.17——实体数据的储存位置被改变

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

上一章 目 录 下一章 存书签
站内强推 团宠农家小糖宝 团宠农门小作精:首辅追妻火葬场 我能给信徒发放职业 神话版三国 机械末世:我的机甲有亿点强 重逢路漫漫 带着女徒去西游 暗夜之影 星际种田,大小姐靠炼药逆袭 我炸了!一睁眼成了反派恶毒后娘 重生古代:庶子的开挂之路 清穿:卷王四爷的娇养好孕侧福晋 道友留步,你身上有凶兆! 大国师魂穿现代,总裁请接招 近战狂兵 红楼从庶子开始 女主太强怎么办 我妈居然是首富,叶天的京都风云 警界传奇:十案风云 权力之巅
经典收藏 英雄联盟之猎场 相濡以“默” 召唤圣剑 半面妆 丑女翻身:专宠嚣张妃 一人:岐王李茂贞,千年归来 斗罗之武魂是雷电 枭雄帝少撩妻有瘾 真相收集簿 小漂亮npc美貌值爆表 家禾重生,逆袭为禾姐 先婚后爱,总裁霸宠小萌妻 网游之奴役众神 总裁是我前男友 非常识性主神游戏 NBA:开局融合鲨鱼文班亚马 综漫:我野原新之助,天生剑豪! 趣谈百家姓 哆啦A梦:大雄的冒险故事 人间情多
最近更新 综漫:我野原新之助,天生剑豪! 在前文明当大佬 重生傻柱:开局暴揍易中海 re0从救下性转菜月昴开始 怪猎:这条火龙有特性 型月:忍者正连接根源 国足招揽我?百亿富二代表示配吗 新手村合出神器,怪物们,颤抖吧 足球小将华夏黄金一代 小马宝莉:我能穿越世界 云麓词心录:白云着 XCY龙凤战队:加入PEL舞台 超神:我是梅洛天庭的天使储君! 死亡奖励神器!全服玩家求我别死 刚到漫威,系统奖励钢铁之躯 金手指不够强,卡bug不就好了 打职业后一不小心成为团宠 全民穿越:鸣鸿伴凤影 四合院:新篇 重生之一生一世
Minecraft指令手册 你好MC - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - Minecraft指令手册全文阅读 - 好看的游戏小说