mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-05-15 18:29:46 +00:00
Fixed armor not being sent correctly to current player, fixes #3073
This commit is contained in:
parent
3dd4fe706c
commit
0e9bff6f4e
@ -215,23 +215,15 @@ class PlayerInventory extends BaseInventory{
|
|||||||
|
|
||||||
if($index >= $this->getSize()){ //Armor change
|
if($index >= $this->getSize()){ //Armor change
|
||||||
Server::getInstance()->getPluginManager()->callEvent($ev = new EntityArmorChangeEvent($this->getHolder(), $this->getItem($index), $item, $index));
|
Server::getInstance()->getPluginManager()->callEvent($ev = new EntityArmorChangeEvent($this->getHolder(), $this->getItem($index), $item, $index));
|
||||||
if($ev->isCancelled() and $this->getHolder() instanceof Player){
|
if($ev->isCancelled() and $this->getHolder() instanceof Human){
|
||||||
if($index >= $this->size){
|
$this->sendArmorSlot($index, $this->getViewers());
|
||||||
$this->sendArmorSlot($index, $this->getViewers());
|
|
||||||
}else{
|
|
||||||
$this->sendSlot($index, $this->getViewers());
|
|
||||||
}
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
$item = $ev->getNewItem();
|
$item = $ev->getNewItem();
|
||||||
}else{
|
}else{
|
||||||
Server::getInstance()->getPluginManager()->callEvent($ev = new EntityInventoryChangeEvent($this->getHolder(), $this->getItem($index), $item, $index));
|
Server::getInstance()->getPluginManager()->callEvent($ev = new EntityInventoryChangeEvent($this->getHolder(), $this->getItem($index), $item, $index));
|
||||||
if($ev->isCancelled()){
|
if($ev->isCancelled()){
|
||||||
if($index >= $this->size){
|
$this->sendSlot($index, $this->getViewers());
|
||||||
$this->sendArmorSlot($index, $this->getViewers());
|
|
||||||
}else{
|
|
||||||
$this->sendSlot($index, $this->getViewers());
|
|
||||||
}
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
$item = $ev->getNewItem();
|
$item = $ev->getNewItem();
|
||||||
@ -394,7 +386,7 @@ class PlayerInventory extends BaseInventory{
|
|||||||
/** @var Player $player */
|
/** @var Player $player */
|
||||||
$pk2 = new ContainerSetSlotPacket();
|
$pk2 = new ContainerSetSlotPacket();
|
||||||
$pk2->windowid = ContainerSetContentPacket::SPECIAL_ARMOR;
|
$pk2->windowid = ContainerSetContentPacket::SPECIAL_ARMOR;
|
||||||
$pk2->slot = $index;
|
$pk2->slot = $index - $this->getSize();
|
||||||
$pk2->item = $this->getItem($index);
|
$pk2->item = $this->getItem($index);
|
||||||
$player->dataPacket($pk2);
|
$player->dataPacket($pk2);
|
||||||
}else{
|
}else{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user