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:
Dylan K. Taylor
2017-02-21 17:03:45 +00:00
parent 0a8826b21f
commit c21197ef17
37 changed files with 123 additions and 170 deletions

View File

@ -14,27 +14,30 @@
* (at your option) any later version.
*
* @author PocketMine Team
* @link http://www.pocketmine.net/
* @link http://www.pocketmine.net/
*
*
*/
*/
/**
* Level related events
*/
namespace pocketmine\event\level;
use pocketmine\level\Level;
use pocketmine\level\format\Chunk;
/**
* Chunk-related events
*/
abstract class ChunkEvent extends LevelEvent{
/** @var Chunk */
private $chunk;
/**
* @param Level $level
* @param Chunk $chunk
*/
public function __construct(Chunk $chunk){
parent::__construct($chunk->getProvider()->getLevel());
public function __construct(Level $level, Chunk $chunk){
parent::__construct($level);
$this->chunk = $chunk;
}

View File

@ -14,13 +14,15 @@
* (at your option) any later version.
*
* @author PocketMine Team
* @link http://www.pocketmine.net/
* @link http://www.pocketmine.net/
*
*
*/
*/
namespace pocketmine\event\level;
use pocketmine\level\Level;
use pocketmine\level\format\Chunk;
/**
@ -31,9 +33,9 @@ class ChunkLoadEvent extends ChunkEvent{
private $newChunk;
public function __construct(Chunk $chunk, $newChunk){
parent::__construct($chunk);
$this->newChunk = (bool) $newChunk;
public function __construct(Level $level, Chunk $chunk, bool $newChunk){
parent::__construct($level, $chunk);
$this->newChunk = $newChunk;
}
/**