Support 256-block build height and fixed world saving

This commit is contained in:
Dylan K. Taylor
2016-12-01 23:44:25 +00:00
parent ce289cbe25
commit 577dbbce1f
5 changed files with 71 additions and 53 deletions

View File

@ -47,7 +47,7 @@ class SimpleChunkManager implements ChunkManager{
*/
public function getBlockIdAt(int $x, int $y, int $z) : int{
if($chunk = $this->getChunk($x >> 4, $z >> 4)){
return $chunk->getBlockId($x & 0xf, $y & 0x7f, $z & 0xf);
return $chunk->getBlockId($x & 0xf, $y & Level::Y_MASK, $z & 0xf);
}
return 0;
}
@ -62,7 +62,7 @@ class SimpleChunkManager implements ChunkManager{
*/
public function setBlockIdAt(int $x, int $y, int $z, int $id){
if($chunk = $this->getChunk($x >> 4, $z >> 4)){
$chunk->setBlockId($x & 0xf, $y & 0x7f, $z & 0xf, $id);
$chunk->setBlockId($x & 0xf, $y & Level::Y_MASK, $z & 0xf, $id);
}
}
@ -77,7 +77,7 @@ class SimpleChunkManager implements ChunkManager{
*/
public function getBlockDataAt(int $x, int $y, int $z) : int{
if($chunk = $this->getChunk($x >> 4, $z >> 4)){
return $chunk->getBlockData($x & 0xf, $y & 0x7f, $z & 0xf);
return $chunk->getBlockData($x & 0xf, $y & Level::Y_MASK, $z & 0xf);
}
return 0;
}
@ -92,7 +92,7 @@ class SimpleChunkManager implements ChunkManager{
*/
public function setBlockDataAt(int $x, int $y, int $z, int $data){
if($chunk = $this->getChunk($x >> 4, $z >> 4)){
$chunk->setBlockData($x & 0xf, $y & 0x7f, $z & 0xf, $data);
$chunk->setBlockData($x & 0xf, $y & Level::Y_MASK, $z & 0xf, $data);
}
}