# 调试界面

按 F3 会进入"调试界面", 里面有丰富的信息:

调试界面

  • Minecraft 1.12.2 表示当前使用的游戏版本

  • fps: 全称是 "Frame per Second". 表示"帧率", 即每秒显示多少帧. 帧数越多, 游戏动画越连贯

  • XYZ: 表示游戏角色当前所处的坐标. X 表示东西轴向的坐标, Y 表示垂直方向上的坐标(世界最底层的 Y 轴为 0), Z 表示南北方向上的坐标 (Minecraft 采用右手坐标系, 见 下面)

  • Block: 和上面的 XYZ 一样, 也是表示游戏角色当前所处的坐标, 不过对坐标数据进行了取整. 换句话说, 去掉 XYZ 后面的小数点就是 Block 的数据

  • Chunk: 表示"区块":

    • 前面的 XYZ 和 Block 的坐标是以"方块"为单位, 这里的 Chunk 则是以"区块"为单位
    • 之所以有"区块"这个概念, 是从游戏运行效率的角度出发: Minecraft 世界的高度是 256 格, 而长宽则近似无限大. 那么, 如果同时加载这么大的地图, 计算机必然卡顿和崩溃. 所以, 为了方便管理这个无限的世界, 游戏以 16 * 16 * 256 的单位大小来划分整个世界, 这个就叫"区块"(见下图). 而每个"区块"又按照 16 * 16 * 16 的单位大小划分成了 16 个"区段"
    • 在上面的"调试界面"中, Chunk 数据是 "15 8 6 in 7 3 -48", 表示角色当前处于 "7 3 -48 区块"的 "15 8 6"方块里
      chunk
  • Facing: 表示游戏角色面朝的方向

  • Biome: 表示游戏角色当前所处的 生物群系

  • Light: 表示"亮度/光照等级", 分为"sky (天空亮度/环境亮度)"和"block (方块本身的亮度). "亮度"决定了作物的生长和怪物的生成

  • Local Difficulty: 表示角色所在区域的区域游戏难度. 后面的数据是指玩家在游戏中待的天数 (游戏中日夜交替为一天)

  • Looking at: 127 56 -761 表示鼠标的十字光标指向的方块的坐标为 X = 127, Y = 56, Z = -761

  • 鼠标十字光标所指向的物质的属性

    • minecraft:redstone_wire: 十字光标所指向的物质的名称, 这里指向的是"Redstone Wire (红石线)"
    • power: 这是红石的属性, 表示该红石的"红石能量强度"(最高值是 15, 最低值是 0). power 属于"数值型"属性, 这种属性有具体的数值大小. 而有些方块的属性则是"逻辑型". 它的属性要么为"真(true)"要么为"假(false)", 而没有具体的数值大小, 比如"草方块(Grass Block)"有个"snowy"属性, 表示"是否覆盖了雪". 那么, 如果有雪, 则该属性值为 true, 如果没有雪, 则为 false

# 如何理解坐标?

坐标系分为 "左手坐标系 (Left-handed Cartesian Coordinates)" 和 "右手坐标系 (Right-handed Cartesian Coordinates)", 本质是 XYZ 三个方向的不同组合:

  • 如下图所示, 将拇指、食指、中指 3 根手指相互垂直
  • 食指朝上, 作为 Y 轴. 拇指作为 X 轴. 中指作为 Z 轴
  • 我们会发现, 左手和右手的中指, 也就是 Z 轴指向是不同的, 所以被分别称为“左手坐标系”和“右手坐标系”

手指坐标系

而 Minecraft 使用的是"右手坐标系":

坐标系

即举起右手, 食指指向"上"作为Y轴正向, 拇指指向"东"作为X轴正向, 中指指向"南"作为Z轴正向.

所以:

  • 当玩家往东移动时, x 坐标变大, 往西移动时, x 坐标变小
  • 当玩家往南移动时, z 坐标变大, 往北移动时, z 坐标变小
  • 当玩家往上移动时, y 坐标变大, 往下移动时, y 坐标变小