tedo0627 / inventoryui
这是实现虚拟物品栏的 PocketMine 服务器插件。
1.1.0
2023-09-25 19:29 UTC
Requires
- pocketmine/pocketmine-mp: ^5.6.0
This package is auto-updated.
Last update: 2024-09-07 06:37:34 UTC
README
这是实现虚拟物品栏的 PocketMine 服务器插件。
与先前 API 的区别
- 箱子和其他方块不会被放置。
- 如果玩家在打开物品栏时跌落或通过水或其他方式移动,物品栏不会关闭。
- 您可以为您的物品栏指定任意数量的槽位。(已确认最多1000个)
- 物品栏槽位的垂直长度可以指定。(最大6)
演示
InventoryUI.test.mp4
安装方法
- 下载 InventoryUIResourcePack.mcpack 并将其放入 resource_packs 文件夹
- 打开文件
resource_packs.yml
,将 force_resources 设置为true
并将 resource_stack 设置为InventoryUIResourcePack.mcpack
force_resources: true resource_stack: - InventoryUIResourcePack.mcpack
用法
以下代码必须在插件启用时调用。
InventoryUI::setup($this);
打开自定义物品栏
$slot
指定物品栏中的槽位数量,必须是一个大于零的数字。
$title
是物品栏的名称。
$length
以物品栏的垂直长度输入。如果为空,将自动调整。
/** @var Player $player */ $player->setCurrentWindow(new CustomInventory($slot, $title, $length));
扩展自定义物品栏
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. } }
示例插件 在此处
许可
"InventoryUI" 在 MIT 许可证 下
特别感谢
帮助资源包 @yuyaprgrm