blockId{ (($y >> 4) << 12) //get section index + ($y << 8) + ($z << 4) + $x //get block index in section }); } public function getBlockData($x, $y, $z){ $data = ord($this->blockData{ (($y >> 4) << 11) //get section index + ($y << 7) + ($z << 3) + ($x >> 1) //get block index in section }); if(($y & 1) === 0){ return $data & 0x0F; }else{ return $data >> 4; } } public function getBlockSkyLight($x, $y, $z){ $level = ord($this->skyLight{ (($y >> 4) << 11) //get section index + ($y << 7) + ($z << 3) + ($x >> 1) //get block index in section }); if(($y & 1) === 0){ return $level & 0x0F; }else{ return $level >> 4; } } public function getBlockLight($x, $y, $z){ $level = ord($this->light{ (($y >> 4) << 11) //get section index + ($y << 7) + ($z << 3) + ($x >> 1) //get block index in section }); if(($y & 1) === 0){ return $level & 0x0F; }else{ return $level >> 4; } } public function getBiome(){ return 0; //TODO } public function getHighestBlockAt($x, $z){ return 127; //TODO } }