Inventory: Add a $send parameter to clearAll()

This commit is contained in:
Dylan K. Taylor 2018-01-22 18:39:35 +00:00
parent 897a31e608
commit 69ddaacc28
3 changed files with 12 additions and 6 deletions

View File

@ -351,12 +351,14 @@ abstract class BaseInventory implements Inventory{
return $this->setItem($index, ItemFactory::get(Item::AIR, 0, 0), $send);
}
public function clearAll() : void{
public function clearAll(bool $send = true) : void{
for($i = 0, $size = $this->getSize(); $i < $size; ++$i){
$this->clear($i, false);
}
$this->sendContents($this->getViewers());
if($send){
$this->sendContents($this->getViewers());
}
}
/**

View File

@ -188,8 +188,10 @@ interface Inventory{
/**
* Clears all the slots
*
* @param bool $send
*/
public function clearAll() : void;
public function clearAll(bool $send = true) : void;
/**
* Gets all the Players viewing the inventory

View File

@ -282,14 +282,16 @@ class PlayerInventory extends EntityInventory{
return parent::doSetItemEvents($index, $newItem);
}
public function clearAll() : void{
parent::clearAll();
public function clearAll(bool $send = true) : void{
parent::clearAll($send);
for($i = $this->getSize(), $m = $i + 4; $i < $m; ++$i){
$this->clear($i, false);
}
$this->sendArmorContents($this->getViewers());
if($send){
$this->sendArmorContents($this->getViewers());
}
}
/**