From 00e4fff259ef6b9059f09d04f9f6ff9c848b8475 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Fri, 1 Sep 2017 20:05:04 +0100 Subject: [PATCH] Fixed Item fromString() crash on PHP 7.2 --- src/pocketmine/item/ItemFactory.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/pocketmine/item/ItemFactory.php b/src/pocketmine/item/ItemFactory.php index 79f059a91..aacbb3c41 100644 --- a/src/pocketmine/item/ItemFactory.php +++ b/src/pocketmine/item/ItemFactory.php @@ -338,11 +338,13 @@ class ItemFactory{ if(defined(Item::class . "::" . strtoupper($b[0]))){ $item = self::get(constant(Item::class . "::" . strtoupper($b[0])), $meta); - if($item->getId() === Item::AIR and strtoupper($b[0]) !== "AIR"){ - $item = self::get($b[0] & 0xFFFF, $meta); + if($item->getId() === Item::AIR and strtoupper($b[0]) !== "AIR" and is_numeric($b[0])){ + $item = self::get(((int) $b[0]) & 0xFFFF, $meta); } + }elseif(is_numeric($b[0])){ + $item = self::get(((int) $b[0]) & 0xFFFF, $meta); }else{ - $item = self::get($b[0] & 0xFFFF, $meta); + $item = self::get(Item::AIR, 0, 0); } return $item;