FakeInventories is a simple library plugin for Lumi and Nukkit-MOT Minecraft Bedrock server software, that will help you to create your custom virtual inventories with ease.
FakeInventory inventory = new FakeInventory(InventoryType.CHEST, "Custom inventory");
inventory.setDefaultItemHandler((item, event) -> {
event.setCancelled();
Player target = event.getTransaction().getSource();
target.sendMessage("This is default item handler");
});
inventory.setItem(5, Item.get(Item.DIAMOND), (item, event) -> {
event.setCancelled();
Player target = event.getTransaction().getSource();
target.sendMessage("This is custom item handler");
target.removeWindow(inventory);
});
inventory.setOpenHandler(player -> player.sendMessage("You opened inventory"));
inventory.setCloseHandler(player -> player.sendMessage("You closed inventory"));
player.addWindow(inventory);
Warning
To open fake inventory from the chat window or form, you need to add a delay of 10-20 ticks so that the window has time to close, otherwise the inventory will not open.
Adding repo:
<repository>
<id>luminiadev-repository-releases</id>
<url>https://repo.luminiadev.com/releases</url>
</repository>
Adding dependency:
<dependency>
<groupId>com.luminiadev.fakeinventories</groupId>
<artifactId>fakeinventories</artifactId>
<version>1.2.1</version>
</dependency>
Adding repo:
maven {
name = "luminiadevRepositoryReleases"
url = uri("https://repo.luminiadev.com/releases")
}
Adding dependency:
compileOnly("com.luminiadev.fakeinventories:fakeinventories:1.2.1")