mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-05-18 03:35:33 +00:00
Use the appropriate synchronization for held item rollbacks
This commit is contained in:
parent
f62d9cbb99
commit
9cedfeb2b2
@ -286,7 +286,7 @@ class InGamePacketHandler extends PacketHandler{
|
|||||||
return true;
|
return true;
|
||||||
case UseItemTransactionData::ACTION_CLICK_AIR:
|
case UseItemTransactionData::ACTION_CLICK_AIR:
|
||||||
if(!$this->player->useHeldItem()){
|
if(!$this->player->useHeldItem()){
|
||||||
$this->player->getInventory()->sendHeldItem($this->player);
|
$this->session->getInvManager()->syncSlot($this->player->getInventory(), $this->player->getInventory()->getHeldItemIndex());
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -301,7 +301,7 @@ class InGamePacketHandler extends PacketHandler{
|
|||||||
* @param int|null $face
|
* @param int|null $face
|
||||||
*/
|
*/
|
||||||
private function onFailedBlockAction(Vector3 $blockPos, ?int $face) : void{
|
private function onFailedBlockAction(Vector3 $blockPos, ?int $face) : void{
|
||||||
$this->player->getInventory()->sendHeldItem($this->player);
|
$this->session->getInvManager()->syncSlot($this->player->getInventory(), $this->player->getInventory()->getHeldItemIndex());
|
||||||
if($blockPos->distanceSquared($this->player) < 10000){
|
if($blockPos->distanceSquared($this->player) < 10000){
|
||||||
$blocks = $blockPos->sidesArray();
|
$blocks = $blockPos->sidesArray();
|
||||||
if($face !== null){
|
if($face !== null){
|
||||||
@ -326,12 +326,12 @@ class InGamePacketHandler extends PacketHandler{
|
|||||||
switch($data->getActionType()){
|
switch($data->getActionType()){
|
||||||
case UseItemOnEntityTransactionData::ACTION_INTERACT:
|
case UseItemOnEntityTransactionData::ACTION_INTERACT:
|
||||||
if(!$this->player->interactEntity($target, $data->getClickPos())){
|
if(!$this->player->interactEntity($target, $data->getClickPos())){
|
||||||
$this->player->getInventory()->sendHeldItem($this->player);
|
$this->session->getInvManager()->syncSlot($this->player->getInventory(), $this->player->getInventory()->getHeldItemIndex());
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
case UseItemOnEntityTransactionData::ACTION_ATTACK:
|
case UseItemOnEntityTransactionData::ACTION_ATTACK:
|
||||||
if(!$this->player->attackEntity($target)){
|
if(!$this->player->attackEntity($target)){
|
||||||
$this->player->getInventory()->sendHeldItem($this->player);
|
$this->session->getInvManager()->syncSlot($this->player->getInventory(), $this->player->getInventory()->getHeldItemIndex());
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -349,7 +349,7 @@ class InGamePacketHandler extends PacketHandler{
|
|||||||
return true;
|
return true;
|
||||||
case ReleaseItemTransactionData::ACTION_CONSUME:
|
case ReleaseItemTransactionData::ACTION_CONSUME:
|
||||||
if(!$this->player->consumeHeldItem()){
|
if(!$this->player->consumeHeldItem()){
|
||||||
$this->player->getInventory()->sendHeldItem($this->player);
|
$this->session->getInvManager()->syncSlot($this->player->getInventory(), $this->player->getInventory()->getHeldItemIndex());
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user