diff --git a/src/pocketmine/item/Item.php b/src/pocketmine/item/Item.php index c5ef917a8..356466d68 100644 --- a/src/pocketmine/item/Item.php +++ b/src/pocketmine/item/Item.php @@ -65,13 +65,19 @@ class Item implements ItemIds, \JsonSerializable{ /** @var \SplFixedArray */ public static $list = null; + /** @var Block|null */ protected $block; + /** @var int */ protected $id; + /** @var int */ protected $meta; + /** @var string */ private $tags = ""; + /** @var CompoundTag|null */ private $cachedNBT = null; + /** @var int */ public $count; - protected $durability = 0; + /** @var string */ protected $name; public function canBeActivated(){ @@ -1007,4 +1013,12 @@ class Item implements ItemIds, \JsonSerializable{ return $item; } + public function __clone(){ + if($this->block !== null){ + $this->block = clone $this->block; + } + + $this->cachedNBT = null; + } + } diff --git a/src/pocketmine/item/ItemBlock.php b/src/pocketmine/item/ItemBlock.php index 4bcac3f9d..8a61b31aa 100644 --- a/src/pocketmine/item/ItemBlock.php +++ b/src/pocketmine/item/ItemBlock.php @@ -37,10 +37,6 @@ class ItemBlock extends Item{ $this->block->setDamage($this->meta !== -1 ? $this->meta : 0); } - public function __clone(){ - $this->block = clone $this->block; - } - public function getBlock() : Block{ return $this->block; }