mirror of
https://github.com/Minestom/Minestom.git
synced 2024-09-29 06:57:28 +02:00
23 lines
608 B
Java
23 lines
608 B
Java
package net.minestom.server.utils;
|
|
|
|
import net.minestom.server.coordinate.Point;
|
|
import net.minestom.server.coordinate.Vec;
|
|
|
|
public final class SerializerUtils {
|
|
|
|
private SerializerUtils() {
|
|
|
|
}
|
|
|
|
public static long positionToLong(int x, int y, int z) {
|
|
return (((long) x & 0x3FFFFFF) << 38) | (((long) z & 0x3FFFFFF) << 12) | ((long) y & 0xFFF);
|
|
}
|
|
|
|
public static Point longToBlockPosition(long value) {
|
|
final int x = (int) (value >> 38);
|
|
final int y = (int) (value & 0xFFF);
|
|
final int z = (int) (value << 26 >> 38);
|
|
return new Vec(x, y, z);
|
|
}
|
|
}
|