/**
* @param int $id
* @param int $damage
* @param int $count
* @param bool $removeInv
*
* @return bool
*/
public function addItem($id, $damage, $count, $removeInv = true)
{
if ($removeInv === true) {
$p = $this->server->getPlayerExact($this->player);
if (!$p instanceof Player) {
return false;
}
$tmp = $count;
foreach ($p->getInventory()->getContents() as $slot => $content) {
if ($content->getID() == $id and $content->getDamage() == $damage) {
if ($tmp <= 0) {
break;
}
$take = min($content->getCount(), $tmp);
$tmp -= $take;
$content->setCount($content->getCount() - $take);
$p->getInventory()->setItem($slot, $content);
}
}
}
if (isset($this->items[$id . ":" . $damage])) {
$this->items[$id . ":" . $damage] += $count;
} else {
$this->items[$id . ":" . $damage] = $count;
}
return true;
}