mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-05-15 02:09:42 +00:00
Fixed touching items with an empty hand
This commit is contained in:
parent
70e340086d
commit
c778e0467e
@ -1529,7 +1529,7 @@ class Player extends Human implements CommandSender, InventoryHolder, IPlayer{
|
||||
break;
|
||||
}
|
||||
|
||||
if($packet->slot === 0x28 or $packet->slot === 0){ //0 for 0.8.0 compatibility
|
||||
if($packet->slot === 0x28 or $packet->slot === 0 or $packet->slot === 255){ //0 for 0.8.0 compatibility
|
||||
$packet->slot = -1; //Air
|
||||
}else{
|
||||
$packet->slot -= 9; //Get real block slot
|
||||
|
@ -34,7 +34,7 @@ use pocketmine\Server;
|
||||
|
||||
class PlayerInventory extends BaseInventory{
|
||||
|
||||
protected $itemInHandIndex = 0;
|
||||
protected $itemInHandIndex = -1;
|
||||
/** @var int[] */
|
||||
protected $hotbar;
|
||||
|
||||
@ -101,10 +101,10 @@ class PlayerInventory extends BaseInventory{
|
||||
}
|
||||
|
||||
public function setHeldItemSlot($slot){
|
||||
if($slot >= 0 and $slot < $this->getSize()){
|
||||
if($slot >= -1 and $slot < $this->getSize()){
|
||||
$item = $this->getItem($slot);
|
||||
if($this->getHolder() instanceof Player){
|
||||
Server::getInstance()->getPluginManager()->callEvent($ev = new PlayerItemHeldEvent($this->getHolder(), $item, $slot, 0));
|
||||
Server::getInstance()->getPluginManager()->callEvent($ev = new PlayerItemHeldEvent($this->getHolder(), $item, $slot, $this->itemInHandIndex));
|
||||
if($ev->isCancelled()){
|
||||
$this->sendHeldItem($this->getHolder());
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user