获取 Id 组件的算法
Algorithm to get an Id's components
我有一个块,它只是一个 16 x 16 的分组(一个块可以是正数也可以是负数),我用它来创建一个唯一的 ID。问题是我现在需要获取该 chunkID 并将其转回其 x 和 z 组件,我该怎么做?
long chunkID = (long) chunk.getX() & 0xffffffffL | ((long) chunk.getZ() & 0xffffffffL) << 32;
您将 x 值存储在您的 chunkID 的低 32 位中,以便将那些值转换回 int:
int x = (int) chunkID;
z值在高32位,所以需要先下移:
int z = (int) (chunkID >> 32);
我有一个块,它只是一个 16 x 16 的分组(一个块可以是正数也可以是负数),我用它来创建一个唯一的 ID。问题是我现在需要获取该 chunkID 并将其转回其 x 和 z 组件,我该怎么做?
long chunkID = (long) chunk.getX() & 0xffffffffL | ((long) chunk.getZ() & 0xffffffffL) << 32;
您将 x 值存储在您的 chunkID 的低 32 位中,以便将那些值转换回 int:
int x = (int) chunkID;
z值在高32位,所以需要先下移:
int z = (int) (chunkID >> 32);