Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tedo0627/inventoryui
This is the PocketMine virion that implements the dummy inventory.
https://github.com/tedo0627/inventoryui
inventory pmmp pocketmine pocketmine-mp ui virion
Last synced: 1 day ago
JSON representation
This is the PocketMine virion that implements the dummy inventory.
- Host: GitHub
- URL: https://github.com/tedo0627/inventoryui
- Owner: tedo0627
- License: mit
- Created: 2022-05-31T14:07:42.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-10-29T11:20:48.000Z (2 months ago)
- Last Synced: 2025-01-02T01:09:23.404Z (1 day ago)
- Topics: inventory, pmmp, pocketmine, pocketmine-mp, ui, virion
- Language: PHP
- Homepage:
- Size: 38.1 KB
- Stars: 32
- Watchers: 2
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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)## Demo
https://github.com/tedo0627/InventoryUI/assets/24734045/3a0f3c90-2c02-4e1e-b9fd-69a868dbfbad## How to install
1. Download [InventoryUIResourcePack.mcpack](https://github.com/tedo0627/InventoryUIResourcePack/releases/) and put it in the resource_packs folder
2. Open file ```resource_packs.yml```, set **force_resources** to ```true``` and **resource_stack** to ```InventoryUIResourcePack.mcpack```
```yml
force_resources: true
resource_stack:
- InventoryUIResourcePack.mcpack
```## Usage
The following code must be called when the plugin is enabled.
```php
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.
```php
/** @var Player $player */
$player->setCurrentWindow(new CustomInventory($slot, $title, $length));
```### Extend custom inventory
```php
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](https://github.com/tedo0627/SampleInventoryUI)
## License
"InventoryUI" is under [MIT License](https://github.com/tedo0627/InventoryUI/blob/master/LICENSE)## Special Thanks
Help resource pack [@yuyaprgrm](https://github.com/yuyaprgrm)