Fixed double chest inventory desync issues, closes #2261 (#2279)

chest pairing really needs rewriting... this code really sucks
This commit is contained in:
Dylan K. Taylor
2018-07-05 17:42:30 +01:00
committed by GitHub
parent 58f0ad3e3e
commit 5dbb0d177e
2 changed files with 13 additions and 4 deletions

View File

@ -64,7 +64,12 @@ class DoubleChestInventory extends ChestInventory implements InventoryHolder{
}
public function setItem(int $index, Item $item, bool $send = true) : bool{
return $index < $this->left->getSize() ? $this->left->setItem($index, $item, $send) : $this->right->setItem($index - $this->left->getSize(), $item, $send);
$old = $this->getItem($index);
if($index < $this->left->getSize() ? $this->left->setItem($index, $item, $send) : $this->right->setItem($index - $this->left->getSize(), $item, $send)){
$this->onSlotChange($index, $old, $send);
return true;
}
return false;
}
public function getContents(bool $includeEmpty = false) : array{