Inventories

HCore allows you to easily create inventories and work with them.

Example

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
    }
}

Last updated