To open a tile's inventory for the specified player: PHP: $player->addWindow($tile->getInventory()); To add an item in a tile's inventory: PHP: $tile->getInventory()->addItem($item);
PHP: $level->getTile(); https://github.com/pmmp/PocketMine-MP/blob/master/src/pocketmine/level/Level.php#L1885
I get item: PHP: if($event->getItem()->getId() == 276){ $event->setCancelled();} And he give me error: [21:21:41] [Server thread/CRITICAL]: "Невозможно обработать событие 'pocketmine\event\inventory\InventoryTransactionEvent' в 'addWind ow v1': Call to undefined method pocketmine\event\inventory\InventoryTransactionEvent::getItem() в GenisysFTW\Main" [21:21:41] [Server thread/CRITICAL]: Error: "Call to undefined method pocketmine\event\inventory\InventoryTransactionEvent::getItem() " (EXCEPTION) in "/plugins/addWindow-master/src/GenisysFTW/Main" at line 59
This isn't your personal debugging service - some knowledge of the API is required. Looking at InventoryTransactionEvent, the error your code is giving you is to be expected, there is no getItem() method in InventoryTransactionEvent (https://github.com/pmmp/PocketMine-...event/inventory/InventoryTransactionEvent.php). However, it does have a getTransaction() method that returns a TransactionGroup...hmm...maybe this interface has some use! https://github.com/pmmp/PocketMine-MP/blob/master/src/pocketmine/inventory/TransactionGroup.php