0%

Minecraft中坐标 | 区块坐标 | .mca文件名之间的转换

本文内容非常简单, 仅为记录, 勿喷

在线工具

X坐标   
Z坐标   


X区块坐标 
Z区块坐标 

Region文件名称(mca): r.0.0.mca

关系

Y轴用不到,所以这里省略
下文中Px,Pz,Cx,Cz,Rx,Rz均为变量

设玩家的坐标X,Z分(Px , Pz), 区块坐标为(Cx , Cz), .mca文件名为 r.Rx.Rz.mca
Px, Pz的类型均为浮点型(float), Cx, Cz, Rx, Rz均为整数型(int)

坐标 | 区块坐标 | .mca文件名 之间关系如下

坐标: 坐标(coordinates)在数字上反映了玩家在主世界中的位置。坐标基于一个由三条交于一点(即原点)的坐标轴而形成的网格
区块: 区块(Chunk)是Minecraft世界里一个大小为16×256×16的部分
.mca文件: 存档文件, 一个mca文件包含32个区块, 既 512×256×512 大小范围, 保存在 world(地图目录)\region

注意: 区块坐标 与 .mca文件名 的变量 Cx,Cz,Rx,Rz 均向下取整!
下文不再提示

1
2
(int)Cx = (float)Px / 16
(int)Cz = (float)Pz / 16
1
2
(int)Rx = (int)Cx / 32 = (float)Px / 16 / 32 = (float)Px / 512
(int)Rz = (int)Cx / 32 = (float)Pz / 16 / 32 = (float)Pz / 512

也就是说只要知道玩家坐标 (Px , Pz)
便可获知区块坐标 (Px / 16 , Pz / 16) 和 .mca文件名 r.Px/512.Pz/512.mca

参考

Minecraft Wiki 坐标
Minecraft Wiki 区块
Minecraft Wiki 区域文件格式