Fixed Anvil region indexes in setChunk()

This commit is contained in:
Shoghi Cervantes 2014-06-22 16:15:23 +02:00
parent 21f764590b
commit e0dda934ec

View File

@ -183,8 +183,10 @@ class Anvil extends BaseLevelProvider{
public function setChunk($chunkX, $chunkZ, SimpleChunk $chunk){ public function setChunk($chunkX, $chunkZ, SimpleChunk $chunk){
if($chunk->isGenerated() === false){ if($chunk->isGenerated() === false){
$this->unloadChunk($chunkX, $chunkZ, false); $this->unloadChunk($chunkX, $chunkZ, false);
$this->loadRegion($chunkX >> 4, $chunkZ >> 4); $regionX = $regionZ = null;
$region = $this->getRegion($chunkX >> 4, $chunkZ >> 4); self::getRegionIndex($chunkX, $chunkZ, $regionX, $regionZ);
$this->loadRegion($regionX, $regionZ);
$region = $this->getRegion($regionX, $regionZ);
$region->removeChunk($chunkX - $region->getX() * 32, $chunkZ - $region->getZ() * 32); $region->removeChunk($chunkX - $region->getX() * 32, $chunkZ - $region->getZ() * 32);
$this->loadChunk($chunkX, $chunkZ); $this->loadChunk($chunkX, $chunkZ);
}else{ }else{