-
Notifications
You must be signed in to change notification settings - Fork 19
Inventory
Hakan Kargın edited this page Apr 20, 2022
·
5 revisions
With this feature you can easily create and manage advanced inventory guis.
public class ExampleInventory extends HInventory {
public ExampleInventory(@NotNull String id, @NotNull String title, int size, @NotNull InventoryType type, @NotNull Set<Option> options) {
super(id, title, size, type, options); // this is how we build our inventory
super.removeOption(Option.CLOSABLE); // now our menu isn't closable
}
@Override
public void onOpen(@NotNull HInventory hInventory, @NotNull Player player) {
Bukkit.broadcastMessage("Inventory opened"); // sends message when the inventory is opened
super.setItem(0, new ItemStack(Material.DIAMOND), event -> {
player.playSound(player.getLocation(), Sound.CLICK, 1, 1); // plays sound when player clicks on the item
Bukkit.broadcastMessage("You clicked a diamond with " + event.getClick().name()); // sends message when player clicks on the item
});
super.setItem(1, new ItemStack(Material.BARRIER), event -> {
player.playSound(player.getLocation(), Sound.ANVIL_BREAK, 1, 1); // plays sound when player clicks on the item
super.close(player); // then closes the inventory for the player
});
}
@Override
public void onClose(@NotNull HInventory hInventory, @NotNull Player player) {
Bukkit.broadcastMessage("Inventory closed"); // sends message when the inventory is closed
}
}