mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-07-23 03:16:35 +00:00
RegionLevelProvider: clean up coordinate extraction, fixed a stupid bug
This commit is contained in:
parent
08c399529d
commit
34758e3bc6
@ -233,8 +233,10 @@ abstract class RegionLevelProvider extends BaseLevelProvider{
|
|||||||
$iterator = $this->createRegionIterator();
|
$iterator = $this->createRegionIterator();
|
||||||
|
|
||||||
foreach($iterator as $region){
|
foreach($iterator as $region){
|
||||||
$rX = ((int) $region[1]) << 5;
|
$regionX = ((int) $region[1]);
|
||||||
$rZ = ((int) $region[2]) << 5;
|
$regionZ = ((int) $region[2]);
|
||||||
|
$rX = $regionX << 5;
|
||||||
|
$rZ = $regionZ << 5;
|
||||||
|
|
||||||
for($chunkX = $rX; $chunkX < $rX + 32; ++$chunkX){
|
for($chunkX = $rX; $chunkX < $rX + 32; ++$chunkX){
|
||||||
for($chunkZ = $rZ; $chunkZ < $rZ + 32; ++$chunkZ){
|
for($chunkZ = $rZ; $chunkZ < $rZ + 32; ++$chunkZ){
|
||||||
@ -254,16 +256,18 @@ abstract class RegionLevelProvider extends BaseLevelProvider{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->unloadRegion($rX, $rZ);
|
$this->unloadRegion($regionX, $regionZ);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function calculateChunkCount() : int{
|
public function calculateChunkCount() : int{
|
||||||
$count = 0;
|
$count = 0;
|
||||||
foreach($this->createRegionIterator() as $region){
|
foreach($this->createRegionIterator() as $region){
|
||||||
$this->loadRegion((int) $region[1], (int) $region[2]);
|
$regionX = ((int) $region[1]);
|
||||||
$count += $this->getRegion((int) $region[1], (int) $region[2])->calculateChunkCount();
|
$regionZ = ((int) $region[2]);
|
||||||
$this->unloadRegion((int) $region[1], (int) $region[2]);
|
$this->loadRegion($regionX, $regionZ);
|
||||||
|
$count += $this->getRegion($regionX, $regionZ)->calculateChunkCount();
|
||||||
|
$this->unloadRegion($regionX, $regionZ);
|
||||||
}
|
}
|
||||||
return $count;
|
return $count;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user