Fixed server crash when applying item cooldown (#6491)

This commit fixes server crash when applying a cooldown to any item which count is equals to 1.

closes #6490 
closes #6488
This commit is contained in:
ipad54 2024-11-10 22:15:30 +03:00 committed by GitHub
parent 231eec911f
commit 2ff6470792
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1625,7 +1625,7 @@ class Player extends Human implements CommandSender, ChunkListener, IPlayer{
return false;
}
$this->resetItemCooldown($item);
$this->resetItemCooldown($oldItem);
$this->returnItemsFromAction($oldItem, $item, $returnedItems);
$this->setUsingItem($item instanceof Releasable && $item->canStartUsingItem($this));
@ -1654,7 +1654,7 @@ class Player extends Human implements CommandSender, ChunkListener, IPlayer{
}
$this->setUsingItem(false);
$this->resetItemCooldown($slot);
$this->resetItemCooldown($oldItem);
$slot->pop();
$this->returnItemsFromAction($oldItem, $slot, [$slot->getResidue()]);
@ -1682,7 +1682,7 @@ class Player extends Human implements CommandSender, ChunkListener, IPlayer{
$returnedItems = [];
$result = $item->onReleaseUsing($this, $returnedItems);
if($result === ItemUseResult::SUCCESS){
$this->resetItemCooldown($item);
$this->resetItemCooldown($oldItem);
$this->returnItemsFromAction($oldItem, $item, $returnedItems);
return true;
}