打开调试界面,你会发现你的准心出现了三条颜色不一样的线。
这三条线朝向的方向都是xyz的正方向,其中红色的是x轴,蓝色的是z轴,绿色的是y轴。
这可比看facing那一行来判断坐标正负有用多了(mojang啊你为什么一定要用positive和negative啊,用+和-难道不香吗?)
前三章的研究主要是针对左侧一栏,不难发现左侧一栏更多是关于游戏的信息。接下来我们要研究右侧一栏,这个右侧一栏主要是关于客户端的硬件信息,毕竟硬件决定了软件的上限嘛。
在1.8版本,右侧一共有两个方阵。第一个方阵主要是关于游戏的java版本和内存使用情况:
java:1.xx.x_xx 32bit\/64bit——显示java的版本号和位数
mem:xx%当前占用内存\/占用内存上限mb——显示当前内存占用内存最大值的百分比,以及具体占用的内存量\/设定占用内存的最大值。
allocated:xx%已分配内存——已分配给游戏的内存相对于内存上限的百分比和具体的值
这里顺带讲一下,什么是内存以及内存和硬盘的区别。
但凡是个计算机,肯定有不止一个存储装置。此时你估计会问:为什么说不止一个呢?存储装置不就是硬盘或sd卡吗?zuqi.org 葡萄小说网
nonono,存储装置不只是指硬盘和sd卡,这两个东西只是存储装置的一大类,特点是读写速度快、断电不会丢失数据、保存时间长、容量大,主要作用是存储各种各样的资料,比如系统资料,软件数据、你的学习资料等。总之,硬盘和sd卡就相当于计算机的长期记忆。
另一大类则是内存(民间里也称“运存”)。内存也是每个计算机必须要有的,所以一个计算机不止有一个存储装置(况且还有显存和cpu缓存呢)。内存有如下特点:
1读写速度特快,比硬盘快不知道多少倍
2使用电力存储,一停电立马gg
3容量一般相对于硬盘来说很小
内存最主要的用途是存放程序在运行时产生的临时数据。一个程序想要运行,必须要先将要运行的东西从硬盘读取出来存到内存中,然后再经cpu缓存给cpu运行(cpu缓存是cpu和内存数据交换的过渡区,一般有三个区,分别是l1、l2和l3。cpu缓存虽然容量极小,但读写速度超级快,比内存都要快许多)。如果这个软件被关闭,那么关于这个软件的内存数据将会被清除。
这就是为什么当你的老师上完课后,在没有关闭ppt的情况下直接把u盘拔出带走ppt还能正常播放甚至另存为的原因,因为软件在运行该文件时,已经把这个文件从u盘拷贝到内存里了。
游戏对内存的使用也是一样的。如果你在minecraft中运行太多的指令、放太多的实体、一下子改变太多的方块、加太多的模组以及使用太高清的材质包时,都会占用大量内存。
(所以,以后如果再看到那种超高清材质包的视频,千万别只组团偷显卡,内存也要偷,不然游戏还没进去就“:(你的电脑遇到问题,需要重新启动。我们只收集某些错误信息,然后为你重新启动。(完成 0%)”)
也就是说,内存就相当于计算机的短期记忆。
但或许你还不懂已分配内存、当前占用内存和设定占用内存最大值的区别。已分配内存就是计算机分配给程序的内存空间大小,这个大小是动态变化的,具体是由该程序实际占用内存大小来决定。而占用内存大小的上限则是程序给自己设定的一个内存占用限度,并不等于计算机实际分配给程序的内存空间大小。
接下来我们来看看第二个方阵,这个方阵主要是关于你的显卡、显示屏信息:
disy:aaaaxbbbb (显卡品牌名称)——即你的minecraft窗口分辨率和显卡品牌
显卡名称,显卡支持的东西
显卡驱动程序版本
minecraf版本到1.12.2版本期间,新更新了一个cpu方阵将disy这一方阵挤到了第三去。这个cpu方阵在1.12.2版本时长这样:
native:xxx\/xxxxmb——java虚拟机目前使用内存和虚拟机内存使用上限
cpu:核心数,品牌和型号,运行速度(ghz)
native这一行作者在写作时还在,隔了几天再次打开不知怎么就没掉了。关于native内存和java虚拟机的更多内容作者这边就不细讲了,去csdn有一篇文章叫《java native内存_jvm heap memory和native memory》(作者是“海阔山高人为峰”)那里或上搜索引擎了解。
到这儿,右侧一行也算是基本结束了.......
真的结束了吗?
现在,请你看向任何一个非气态方块。在1.13版本之前,如果你看到了固态方块,那右侧一栏就会显示关于这个方块的信息:
命名空间:方块id
方块状态:状态值
方块状态:状态值
其中,第一行的方块名绝对会显示,第二行开始就是该方块的方块状态。
什么是方块状态?在之前的章节中我们已经见到过很多次,但大多数时候都是一笔带过。由于接下来一两卷就要开始详细了解方块,这儿就先简单了解一下。
方块状态,正如其名,就是方块本身所处的状态,是进一步定义一个方块的附加数据。朝向就是最常见的方块状态之一。
如果你准心瞄准到了草方块,就会显示这些信息:
minecraft:grass
snowy:false
其中,snowy:false就是这个方块的方块状态。
snowy状态的值是个布尔值,当值为true时草方块就会变成“雪方块”。
有一些常见的方块状态,知道这些不光是在指令方面有大用,甚至在生存、红石方面都有许多用处:
facing——朝向,接受north(北)、south(南)、east(东)、west(西)、up(上)、down(下)
level——有不同意思,接受数值。为液体时作为液体方块扩撒的等级,每扩散一次-1,直到为0。为堆肥桶和炼药锅时作为填积的厚度等级。
age和stage——一般作为植物或方块的生长状态或等级,大部分方块的该状态会在随机刻后增加。如马铃薯的age就接受0到7,0~1、2~3、4~6和7分别为四个生长阶段。
在1.13版本之后,mojang加入了查看液体方块信息的功能,这一部分就发生了大改动,变成这个样子:
targeted block
命名空间:方块id
该方块的方块状态(方块状态:值)
该方块的方块标签(#命名空间:标签名)
targeted fluid
命名空间:液体方块id
该液体的方块状态(方块状态:值)
该液体的方块标签(#命名空间:标签名)
不难发现,在1.13及以上版本多了方块标签。什么是方块标签?这和我们的记分板标签(tag)差不多,都是通过给特定的实体、方块赋予特定标签,以使特定时候能调用。但方块标签和记分板标签有一点不同——前者是默认就存在的,后者需要手动添加。
比如我们的草方块,如果在1.13.2版本中看向它,那么将会显示:
targeted block
minecraft:grass_block
snowy:false
#minecraft:enderman_holdable
#minecraft:valid_spawn
具有enderman_holdable标签的方块可以被末影人拿起,你看向西瓜也会发现其具有该标签。
具有valid_spawn标签的方块即是玩家的有效出生位置(?)。
在前两章中,我们曾发现looking at一行在1.16版本中没掉了。那么looking at的信息去哪了呢?
和右侧的targeted block、targeted fluid合并变成了:
targeted block:x,y,z
........
targeted fluid:x,y,z
........
到这儿,我们整个调试界面也算是讲完了,本章也算结束了。
(唉作者,你咋隔了快一个月才更新了呢?)
(哦,原因是因为最近在对前面的章节大修,你此时如果去翻前面的内容,会发现从序言开始一直到第三十九章大部分章节都有大改。目前的目标是修到第九十章,可能至少还要再修一个月吧,毕竟一年半过去minecraft更新的内容还是蛮多的)
(对了,修改后的章节增加了许多指令的例子,其中不妨有及其有用的指令哦!)