From 5e5f8bf33db42cd72e94400c7c7bf3962661c29a Mon Sep 17 00:00:00 2001 From: Shoghi Cervantes Date: Mon, 8 Dec 2014 22:02:36 +0100 Subject: [PATCH] Better block creation on Level --- src/pocketmine/block/Block.php | 6 ------ src/pocketmine/level/Level.php | 8 +++++++- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/pocketmine/block/Block.php b/src/pocketmine/block/Block.php index 7de20f408..b7450eeba 100644 --- a/src/pocketmine/block/Block.php +++ b/src/pocketmine/block/Block.php @@ -758,12 +758,6 @@ class Block extends Position implements Metadatable{ self::$lightFilter[$id] = 1; } } - - foreach(self::$fullList as $id => $block){ - if($block === null){ - self::$fullList[$id] = new Block($id >> 4, $id & 0x0f); - } - } } } diff --git a/src/pocketmine/level/Level.php b/src/pocketmine/level/Level.php index f2fb56616..f242d2bd3 100644 --- a/src/pocketmine/level/Level.php +++ b/src/pocketmine/level/Level.php @@ -923,7 +923,13 @@ class Level implements ChunkManager, Metadatable{ $fullState = $chunk->getFullBlock($pos->x & 0x0f, $pos->y, $pos->z & 0x0f); } - $block = clone Block::$fullList[$fullState]; + $block = Block::$fullList[$fullState]; + if($block !== null){ + $block = new $block($fullState & 0x0f); + }else{ + $block = new Block($fullState >> 4, $fullState & 0x0f); + } + $block->x = $pos->x; $block->y = $pos->y; $block->z = $pos->z;