mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-09-07 02:08:21 +00:00
Removed entanglement between chunks and providers. WARNING: BREAKING API CHANGES.
- All entity and tile constructors now require a \pocketmine\level\Level instead of a \pocketmine\level\format\Chunk. - Chunk->getProvider() and Chunk->setProvider() have been removed. - Chunk::__construct() has had the $provider parameter removed. - Chunk->unload() has had the unused $save parameter removed. - ChunkEvents now take a Level parameter instead of going through the Chunk API bump to 3.0.0-ALPHA4
This commit is contained in:
@ -258,7 +258,7 @@ class LevelDB extends BaseLevelProvider{
|
||||
$this->level->timings->syncChunkLoadDataTimer->startTiming();
|
||||
$chunk = $this->readChunk($chunkX, $chunkZ);
|
||||
if($chunk === null and $create){
|
||||
$chunk = Chunk::getEmptyChunk($chunkX, $chunkZ, $this);
|
||||
$chunk = Chunk::getEmptyChunk($chunkX, $chunkZ);
|
||||
}
|
||||
$this->level->timings->syncChunkLoadDataTimer->stopTiming();
|
||||
|
||||
@ -392,7 +392,6 @@ class LevelDB extends BaseLevelProvider{
|
||||
}*/ //TODO
|
||||
|
||||
$chunk = new Chunk(
|
||||
$this,
|
||||
$chunkX,
|
||||
$chunkZ,
|
||||
$subChunks,
|
||||
@ -469,7 +468,7 @@ class LevelDB extends BaseLevelProvider{
|
||||
|
||||
public function unloadChunk(int $x, int $z, bool $safe = true) : bool{
|
||||
$chunk = $this->chunks[$index = Level::chunkHash($x, $z)] ?? null;
|
||||
if($chunk instanceof Chunk and $chunk->unload(false, $safe)){
|
||||
if($chunk instanceof Chunk and $chunk->unload($safe)){
|
||||
unset($this->chunks[$index]);
|
||||
|
||||
return true;
|
||||
@ -514,8 +513,6 @@ class LevelDB extends BaseLevelProvider{
|
||||
}
|
||||
|
||||
public function setChunk(int $chunkX, int $chunkZ, Chunk $chunk){
|
||||
$chunk->setProvider($this);
|
||||
|
||||
$chunk->setX($chunkX);
|
||||
$chunk->setZ($chunkZ);
|
||||
|
||||
|
Reference in New Issue
Block a user