CustomItems API - Alpha CustomItems-API-1.0.5

Create your personalized items with customized actions and crafting recipe quickly and easily

  1. TwiDev
    Native Minecraft Version:
    Legacy (< 1.13)
    Tested Minecraft Versions:
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    • 1.13
    • 1.14
    • 1.15
    • 1.16
    Source Code:
    https://github.com/TwiDev/CustomItems-API
    Contributors:
    TwiDev
    Languages Supported:
    English, French
    CustomItems-API
    Easily create your minecraft items and assign custom crafting actions and recipes through the creation of custom items

    Usage
    Exemple of a custom Items

    Code (Java):
    ItemsBuilder myItemStack = new ItemsBuilder(Material.APPLE, 20)
                    .setName("§cA very good Apple")
                    .setLore("§7The best\napple of the world")
                    .addCustomEnchantment(Enchantment.DAMAGE_ALL, 1)
       
                    .setInteractActions((player, action) -> {
                        if(action == Action.LEFT_CLICK_AIR) {
                            player.sendMessage("Hello");
                        }
                    })
                    .setAction(player -> player.sendMessage("Hi"));
     
             Bukkit.getPlayer("TwiDev").getInventory().setItem(1, myItemStack);
    ⚠ If a customized item contains an action and you want to put it in an inventory you must create an InteractInventory for the item's action to work correctly

    Exemple of a custom Items interact Inventory
    Code (Java):
    InteractInventory interactInventory = new InteractInventory(4*9, "Test");
            interactInventory.setItem(1, myItemStack);
            Bukkit.getPlayer("TwiDev").openInventory(interactInventory.getInventory());
    You can create different type of action
    One click in an inventory

    Code (Java):
      ItemsBuilder myItemStack = new ItemsBuilder(Material.APPLE, 20).setAction(player -> {
                    player.sendMessage("Hello");
            });
    a specific click in an inventory

    Code (Java):
    ItemsBuilder myItemStack = new ItemsBuilder(Material.APPLE, 20).setActions((player, clickType) -> {
                        if(clickType == ClickType.LEFT) {
                            player.sendMessage("Hello");
                        }
            });
    An interaction action in the player's inventory bar

    Code (Java):
    ItemsBuilder myItemStack = new ItemsBuilder(Material.APPLE, 20).setInteractActions((player, action) -> {
                        if(action == Action.LEFT_CLICK_AIR) {
                            player.sendMessage("Hello");
                        }
            });
    Add a custom recipe to the custom item

    Code (Java):

    ItemsBuilder itemsBuilder = new ItemsBuilder(Material.APPLE).setName("§cVery good apple").setInteractActions((player, action) -> {
        player.sendMessage("test");
    });

    itemsBuilder.setAction(player -> player.sendMessage("Hello"));

    CustomRecipe customRecipe = new CustomRecipe(itemsBuilder)
            .setItem(4, new ItemStack(Material.SPONGE))
            .setItem(5, new ItemsBuilder(Material.DIRT).setName("§8Hello"));

    customRecipe.loadRecipe();

    itemsBuilder.setCustomRecipe(customRecipe);
     
    Learn to use Callback
    https://docs.oracle.com/javase/10/docs/api/javafx/util/Callback.html