parent
85b9774f21
commit
0670e76e0c
|
@ -940,15 +940,15 @@ impl Serializable for Position {
|
||||||
let pos = buf.read_u64::<BigEndian>()?;
|
let pos = buf.read_u64::<BigEndian>()?;
|
||||||
Ok(Position::new(
|
Ok(Position::new(
|
||||||
((pos as i64) >> 38) as i32,
|
((pos as i64) >> 38) as i32,
|
||||||
(((pos as i64)) & 0xFFF) as i32,
|
((pos as i64) & 0xFFF) as i32,
|
||||||
((pos as i64) << 26 >> 38) as i32
|
((pos as i64) << 26 >> 38) as i32,
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
fn write_to<W: io::Write>(&self, buf: &mut W) -> Result<(), Error> {
|
fn write_to<W: io::Write>(&self, buf: &mut W) -> Result<(), Error> {
|
||||||
let pos = (((self.x as u64) & 0x3FFFFFF) << 38)
|
let pos = (((self.x as u64) & 0x3FFFFFF) << 38)
|
||||||
| ((self.y as u64) & 0xFFF)
|
| ((self.y as u64) & 0xFFF)
|
||||||
| (((self.z as u64) & 0x3FFFFFF) << 12);
|
| (((self.z as u64) & 0x3FFFFFF) << 12);
|
||||||
|
|
||||||
buf.write_u64::<BigEndian>(pos)?;
|
buf.write_u64::<BigEndian>(pos)?;
|
||||||
Result::Ok(())
|
Result::Ok(())
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue