From 85ff696ae511b1ff2fc4bc5c40cb5c56d5f63fe4 Mon Sep 17 00:00:00 2001 From: Shoghi Cervantes Date: Mon, 29 Sep 2014 13:14:14 +0200 Subject: [PATCH] Improved Chunk entity loading --- .../level/format/generic/BaseFullChunk.php | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/pocketmine/level/format/generic/BaseFullChunk.php b/src/pocketmine/level/format/generic/BaseFullChunk.php index 141700331..dafb66aad 100644 --- a/src/pocketmine/level/format/generic/BaseFullChunk.php +++ b/src/pocketmine/level/format/generic/BaseFullChunk.php @@ -21,8 +21,10 @@ namespace pocketmine\level\format\generic; +use pocketmine\entity\Arrow; use pocketmine\entity\DroppedItem; use pocketmine\entity\Entity; +use pocketmine\entity\FallingBlock; use pocketmine\level\format\FullChunk; use pocketmine\level\format\LevelProvider; use pocketmine\nbt\tag\Compound; @@ -116,14 +118,19 @@ abstract class BaseFullChunk implements FullChunk{ } //TODO: add all entities - if($nbt->id instanceof String){ //New format - switch($nbt["id"]){ - case "Item": - (new DroppedItem($this, $nbt))->spawnToAll(); - break; - } - }else{ //Old format - + switch($nbt["id"]){ + case DroppedItem::NETWORK_ID: + case "Item": + (new DroppedItem($this, $nbt))->spawnToAll(); + break; + case Arrow::NETWORK_ID: + case "Arrow": + (new Arrow($this, $nbt))->spawnToAll(); + break; + case FallingBlock::NETWORK_ID: + case "FallingSand": + (new FallingBlock($this, $nbt))->spawnToAll(); + break; } } }