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