- v3s16 pos;
- pos.Z = unsigned_to_signed((i >> 24) & 0xFFF, 0x1000 / 2);
- pos.Y = unsigned_to_signed((i >> 12) & 0xFFF, 0x1000 / 2);
- pos.X = unsigned_to_signed((i ) & 0xFFF, 0x1000 / 2);
- return pos;
+ v3s16 pos;
+ pos.X = unsigned_to_signed(pythonmodulo(i, 4096), 2048);
+ i = (i - pos.X) / 4096;
+ pos.Y = unsigned_to_signed(pythonmodulo(i, 4096), 2048);
+ i = (i - pos.Y) / 4096;
+ pos.Z = unsigned_to_signed(pythonmodulo(i, 4096), 2048);
+ return pos;