InventoryUI
This is the PocketMine virion that implements the dummy inventory.
Differences from previous APIs
- Chests and other blocks are not placed.
- If a player falls or moves by water or other means when the inventory is open, the inventory will not close.
- You can specify any number of slots in your inventory. (Up to 1000 confirmed)
- Vertical length of inventory slots can be specified. (max. 6)
How to install
- Download InventoryUIResourcePack.mcpack and put it in the resource_packs folder
- Open file
resource_packs.yml
, set force_resources totrue
and resource_stack toInventoryUIResourcePack.mcpack
force_resources: true
resource_stack:
- InventoryUIResourcePack.mcpack
Usage
The following code must be called when the plugin is enabled.
InventoryUI::setup($this);
Open custom inventory
$slot
specifies the number of slots in the inventory and must be a number greater than zero.
$title
is the name of the inventory.
$length
is entered as the vertical length of the inventory. If null, it is automatically adjusted.
/** @var Player $player */
$player->setCurrentWindow(new CustomInventory($slot, $title, $length));
Extend custom inventory
class SampleInventory extends CustomInventory {
public function __construct() {
parent::__construct(54, "Sample Inventory");
}
public function open(Player $player): void {
// Called when a player opens this inventory.
}
public function tick(int $tick): void {
// Called every tick when someone opens inventory.
}
public function click(Player $player, int $slot, Item $sourceItem, Item $targetItem): bool {
// It is called when a slot in the inventory is operated.
// If the return value is true, the operation is canceled.
return false;
}
public function close(Player $player): void {
// Called when the player closes the inventory.
}
}
Sample plugin here
License
"InventoryUI" is under MIT License
Special Thanks
Help resource pack @famima65536