Sync crafting data changes

this seems to fix #2881, at least the reproducing case that was given.
This commit is contained in:
Dylan K. Taylor
2019-04-25 16:22:12 +01:00
parent 793f93afdb
commit 898009a91b
3 changed files with 16 additions and 11 deletions

View File

@ -30,6 +30,7 @@ use pocketmine\inventory\FurnaceRecipe;
use pocketmine\inventory\ShapedRecipe;
use pocketmine\inventory\ShapelessRecipe;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\network\mcpe\NetworkBinaryStream;
use pocketmine\network\mcpe\NetworkSession;
use function count;
@ -106,10 +107,15 @@ class CraftingDataPacket extends DataPacket{
break;
case self::ENTRY_FURNACE:
case self::ENTRY_FURNACE_DATA:
$entry["inputId"] = $this->getVarInt();
$inputId = $this->getVarInt();
$inputData = -1;
if($recipeType === self::ENTRY_FURNACE_DATA){
$entry["inputDamage"] = $this->getVarInt();
$inputData = $this->getVarInt();
if($inputData === 0x7fff){
$inputData = -1;
}
}
$entry["input"] = ItemFactory::get($inputId, $inputData);
$entry["output"] = $this->getSlot();
$entry["block"] = $this->getString();