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

@ -113,10 +113,14 @@ class Chest extends Spawnable implements InventoryHolder, Container, Nameable{
$pair->checkPairing();
}
if($this->doubleInventory === null){
if(($pair->x + ($pair->z << 15)) > ($this->x + ($this->z << 15))){ //Order them correctly
$this->doubleInventory = new DoubleChestInventory($pair, $this);
if($pair->doubleInventory !== null){
$this->doubleInventory = $pair->doubleInventory;
}else{
$this->doubleInventory = new DoubleChestInventory($this, $pair);
if(($pair->x + ($pair->z << 15)) > ($this->x + ($this->z << 15))){ //Order them correctly
$this->doubleInventory = new DoubleChestInventory($pair, $this);
}else{
$this->doubleInventory = new DoubleChestInventory($this, $pair);
}
}
}
}else{