My | Ultimate custom items | Custom blocks / items with textures + Recipes + Fascraft + Uncrafter 2.2.3

Create your own custom items and recipes, with a built-in compatible fastcraft and uncrafter

  1. Dootie
    Native Minecraft Version:
    1.13
    Tested Minecraft Versions:
    • 1.13
    Languages Supported:
    English
    [​IMG]
    Contact me via Discord/Twitter...
    Source available

    You want to support me with a donation?
    Send me a message to know how yo can do it!

    [​IMG]
    Hi, I'm a server owner/admin/mod, how can this plugin improve my server?
    My is a plugin that improves the survival and minigames with crafting (such as UHC, skywars...) experience for your players.

    This plugin is able to create your own custom blocks with textures, items, commands, crafting, furnace and brewing recipes.

    Ever wanted to combine custom recipes with fastcraft? This is your plugin, it comes with a FastCraft and uncrafter module that works with custom items.

    You can also remove vanilla recipes, create custom food, tools and weapons with additional effects such as an item that is able to destroy bedrock, an item that automatically melt ores when you destroy them, giftchests (something like the lootbags mod) and more, check the features below and read the Tutorials to see some pictures and see how easy is!

    Hi, I code plugins for Spigot, what can offer this plugin to me?
    With this plugin you can create custom blocks and items with custom textures and handle multiple events to create awesome plugins.

    Also you can create custom brewing recipes and advanced recipes (Craft an item and then wih that item you can craft more shiny items). You can't do that easily with the Bukkit API. Also, you can extend this plugin functions thanks to the data storage. Read Create an advanced item section for more information about this.

    Track custom items and blocks with just a few lines of code. Here I put a small example:
    Code (Java):
    // Convert an ItemStack into a special ItemStack
    MItemStack mis = new MItemStack(tool);

    // This return a custom ID if it is a custom item or null if it is not a custom item.
    String id = mis.getNBTTag("MY_ID");

    // You can check and get data from custom items.
    if(mis.data.get("tool.effect") == null) return;

    To the person that is reading this:

    Be happy, like this custom block!
    [​IMG]

    Tools with custom effects
    [​IMG] [​IMG]
    [​IMG] [​IMG]

    Uncrafter

    [​IMG] [​IMG]

    [​IMG]
    Features​
    Use the features that you want
    You don't need some features? Disable them on the configuration to not waste your resources.

    Custom commands
    • Create custom commands.
    • Set the arguments length.
    • Set the command usage.
    • Set the command description.
    • Set permissions to use the command.
    • Set aliases to the command.
    • API to create commands.
    Custom items and blocks
    • Put custom textures to blocks. Currently supports up to 10 blocks. (From ID 1 to 10)
    • Put custom textures to items. Currently supports up to 10 items. (From ID 0 to 9)
    • Edit the damage.
    • Put enchants.
    • Edit the name.
    • Edit the lore.
    • Dye leather armor.
    • Put a skull owner (Only PLAYER_HEAD with damage 3).
    • Supports NBT Tags (items).
    • Custom data storage for plugin developers.
    • API to create custom items and blocks and handle them.
    Custom recipes
    • Create crafting recipes.
    • Create furnace recipes.
    • Create brewing recipes.
    • Remove vanilla recipes.
    • Put custom items as input.
    • Put custom items as output.
    • Edit the amount of the output.
    • Edit the damage of the output.
    • Put enchants to the output.
    • Edit the name of the output.
    • Edit the lore of the output.
    • Put permissions to craft an item.
    • Multicraft (Only crafting recipes)
    • Dye leather armor.
    • Experience reward when you complete a furnace recipe.
    • Supports NBT Tags.
    • API to create custom recipes.
    Fastcraft
    Fastcraft is a module that allow your players to craft items without having to know the recipes, just click the crafting table and this GUI will be opened! The GUI comes with a button to open the clasic crafting table.
    The difference between this fastcraft and other plugins like this is that it supports custom recipes.
    Also, players need a permission to use it.

    [​IMG]

    Giftchests
    • Create giftchest with custom recipes.
    • Create custom reward items.
    • Edit the amount of the reward item.
    • Edit the damage of the reward item.
    • Put enchants to the reward item.
    • Edit the name of the reward item.
    • Edit the lore of the reward item.
    • NBT support.
    • Dye armor support.
    • Skull support.
    • Configurable particles.
    • Configurable sound.
    Uncrafter
    • Uncraft vanilla recipes.
    • Uncraft custom recipes.
    • A custom permission to use it.
    • Enable/disable uncrafter
    ItemEffects
    • Edit the fill of the food.
    • Edit the saturation of the food.
    • Add potion effects to the food.
    • Put AutoSmelt effect to the tools.
    • Put Experience drop effect to the tools.
    • Put Break bedrock effect to the tools.
    • Put potion effects to weapons.

    Planned to add
    • Recipebook

    [​IMG]

    • /my
    [​IMG]
    • my.fastcraft.use Use the FastCraft
    [​IMG]
    Download and installation​
    1. Download the plugin, and put into the plugins folder.
    2. Start and stop the server.
    3. Configure the plugin.
    4. Start the server.
    5. Enjoy your new custom stuff :p.
    [​IMG]
    Tutorials: How to configure the plugin

    » Material list «
    » Enchants list «
    » Potion effects list «

    Remove vanilla recipes
    To remove vanilla recipes go to a file named recipes.yml and paste the following:

    Code (YAML):
    # List where you have to put what item you don't want to be created.
    # Usage: MATERIAL:damage
    [SIZE=4]remove-vanilla
    :
    - STONE_PICKAXE:0[/SIZE]

    Now, time to test it. Open your server and try to craft this item.
    [​IMG]

    Create a command
    Code (YAML):
    #Here go the label of the command (/command)
    <command>
    :
     #Amount of arguments that the command need (-1 is infinite amount)
      arguments
    : <number>
     # Description of the command
      description
    : <description>
     # Message that is sended to the user in case of wrong usage
      usage
    : <usage>
     # Permission to execute the command
      permission
    : <permission>
     # Alternative labels for the command
      aliases
    :
     - <aliase 1>
     - <aliase 2>
     [...]
      # Commands that will be executed when you use the command.
      # Use "server:<command>" for server-side commands
      # The placeholders for arguments are "{x}" where x is the argument number starting from 0 ("{-1}" is for put all arguments). For the argument 0 the placeholder is {0}, for the argument 1 the placeholder is {1}, etc...
      # "{sender.name}" is the placeholder of the player executing the command
      commands
    :
     - <command 1>
     - <command 2>
    Code (Java):
    AbstractCommand test = new AbstractCommand(String label,
            String description,
            String usage,
            String permission,
            List<String> aliases){
        @Override
        public void run(CommandSender sender, String alias, String[] args) {
            // Execute the command.
        }

        @Override
        public void noPermission(CommandSender sender) {
            // What need to do if sender doesn't have permission
        }
    };
    test.register(Bukkit.getServer());

    Create an item
    Items are stored in a folder called item_packs.
    Let's create a pack to store custom items first. Create a file named myitems.yml inside that folder.

    Now we are going to create an item. Open the file and type the following:
    Code (YAML):
    # This is the item ID, make sure is unique.
    MyBigStone
    :
       # The material of the item.
        material
    : STONE
        # The item is damaged? Not in this case!
        damage
    : 0
        # Look! A shiny stone!
        #Usage: ENCHANT_ID:LEVEL
        enchantments
    :
         - DAMAGE_ALL:2
        # The name of the item (But is not a pickax-- SHHHHHHHH)
        name
    : '&6The Pickaxe'
        # The lore of the Pickax-- I mean, the stone!
        lore
    :
       - '&rThis pickaxe can destroy bedrock. Yes. (Nope)'
    Nice! Now we have an useless item that cannot be obtained. Let's create a recipe to solve this.

    You can choose between crafting, furnace or brewing recipe to continue the basic tutorial.

    Create a crafting recipe
    To create a crafting recipe open a file called recipes.yml
    Now paste this:
    Code (YAML):
    # ID of the recipe. Make sure is unique
    CRAFT_MyBigStone
    :
     # The type of crafting
      type
    : craft
      #Is shaped or you can put the ingredients in random order?
      shaped
    : true
      # The permission to craft it
      permission
    : my.stone
      # What you have to put in every slot?
      slot
    :
        '1'
    :
          material
    : STONE
        '2'
    :
          material
    : STONE
        '3'
    :
          material
    : STONE
        '4'
    :
          material
    : STONE
        '5'
    :
          material
    : STONE
        '6'
    :
          material
    : STONE
        '7'
    :
          material
    : STONE
        '8'
    :
          material
    : STONE
        '9'
    :
          material
    : STONE
      # The output!
      output
    :
       # Here goes the ID of the custom item.
        custom
    : MyBigStone
        # The amount huh
        amount
    : 1
    Time to test! Run the server and craft this shiny item:
    [​IMG]


    Create a furnace recipe
    To create a furnace recipe open a file called recipes.yml
    Now paste this:
    Code (YAML):
    # ID of the recipe. Make sure is unique
    FURNACE_MyBigStone
    :
     # The type of crafting
      type
    : furnace
      # The permission to craft it
      permission
    : my.stone
      # The input!
      input
    :
        material
    : STONE
      # Experience when you complete the recipe
      experience
    : 10
      # The output!
      output
    :
       # Here goes the ID of the custom item.
        custom
    : MyBigStone
        # The amount huh
        amount
    : 1
    Time to test! Run the server and craft this shiny item:
    [​IMG]

    Create a brewing recipe
    To create a brewing recipe open a file called recipes.yml
    Now paste this:
    Code (YAML):
    # ID of the recipe. Make sure is unique
    BREW_MyBigStone
    :
     # Type of the crafting
      type
    : brew
      # Upper slot of the brewing inventory
      material
    :
        material
    : STONE
      # Item to transform
      input
    :
        material
    : STONE
      # Result of the brew
      output
    :
       # Here goes the ID of the custom item.
        custom
    : MyBigStone
        # The amount
        amount
    : 1
    Time to test! Run the server and craft this shiny item:
    [​IMG]

    Create an advanced item

    This plugin comes with a few extra tools to improve the players experience on your server. Let's see what you can do.

    Open your item pack and copy this:
    Code (YAML):
    #Make sure this ID is unique
    SpecialLeatherItem
    :
        material
    : LEATHER_CHESTPLATE
        damage
    : 0
        enchantments
    :
        - PROTECTION_PROJECTILE:10
        - DURABILITY:2
        name
    : '&6Amazing chestplate'
        lore
    :
       - '&rIs not that good anyway'
        # You can dye leather items using RGB color codes.
        # Every color has a number from 0 - 255.
        dye
    :
          red
    : 100
          green
    : 100
          blue
    : 100
        # Skulls can have an owner to display his skin.
        # This will not work if material is not PLAYR_HEAD and damage is 3
        skull
    :
          owner
    : You
        # Here is the section to put NBT Tags
        # Usage: Argument1,argument2,argument3,...
        # DO NOT PUT SPACES
        # Every argument has a type and value except null arguments
        # Usage type:value (except null)
        # null is used to create a new list.
        # In this case, the first nbt is to make the item unbreakable
        # The other is to add +20 damage to the item
        nbt
    :
       - Byte:1,String:Unbreakable
        - String:generic.attackDamage,String:AttributeModifiers,null,String:AttributeName
        - String:generic.attackDamage,String:AttributeModifiers,Integer:0,String:Name
        - String:mainhand,String:AttributeModifiers,Integer:0,String:Slot
        - Double:20,String:AttributeModifiers,Integer:0,String:Amount
        - Integer:0,String:AttributeModifiers,Integer:0,String:Operation
        - Long:894654,String:AttributeModifiers,Integer:0,String:UUIDLeast
        - Long:2872,String:AttributeModifiers,Integer:0,String:UUIDMost
        # This is the most important and flexible part of items. The extra data values, but you need plugins that support it or code one yourself.
        # In this example we're going to stone the following information:
        # specialeffect.name: EXPLODE
        # specialeffect.radius: 5
        # With a plugin you can get those data tags from the custom item to perform additional effects.
        # Why I show you this? Well this plugin also uses this tag.
        data
    :
          specialeffect
    :
            name
    : EXPLODE
            radius
    : 5
    If you want to test this item, create a recipe for it. You should know how! If you don't, why are you reading this instead of the basics?

    Now you that you know the existence of the data tag, you can use it to create more special items. Such as giftchests, tools with effects and more!


    Create a block with a custom texture

    Thanks LapisDemon for this great idea!

    This plugin can create new blocks with custom textures without mods, just with a texture pack. How do you create one?

    Open your item pack and copy this:
    Code (YAML):
    # This is the item ID, make sure is unique.
    HappyFace
    :
       # The material of the item, not the block!
        material
    : REDSTONE_TORCH
        amount
    : 1
        name
    : '&cSummon happy face'
        lore
    :
       - '&rA weird item. When placed you put a happy face instead.'
        # To create a custom block we need the extra data
        data
    :
         # You can combine it with a custom item texture!
          custom
    :
           # Block ID (Be careful, there's a limit!)
            block
    : 1
    Remember to create a recipe for the item!

    After that we need to create the texture, this plugin comes with a texture pack, open it and go to this folder: texturepack\assets\minecraft\textures\blocks\lapisdemon\bonus\mushroomblocks

    The block id is 1, so let's edit the texture 001. Is recommended to use 16x16 textures to avoid lag on your players.

    [​IMG]

    Now let's create a zip and upload it to dropbox.

    [​IMG]

    Put assets and pack inside the zip!!!

    After uploading the file to dropbox you will get an url like this:
    Code (Text):
    https://www.dropbox.com/s/xxxxxxxxxxxx/pack.zip?dl=0
    IMPORTANT: Change the last 0 to a 1.
    Code (Text):
    https://www.dropbox.com/s/xxxxxxxxxxxx/pack.zip?dl=1
    Open the server config file and put your resource-pack link.

    Time to test:

    [​IMG]
    [​IMG]
    I updated the texture pack and the new textures that I put does not work!
    Put at the end of the link &v=0 to update it.
    If you already have the &v=0 at the end, change it to &v=1, and the next time to &v=2, etc...

    My player did not accept the texture pack!
    Change Server Resource Pack to Enabled.
    [​IMG]

    Create an item with a custom texture

    This plugin can create new items with custom textures without mods, just with a texture pack. How do you create one?

    Open your item pack and copy this:
    Code (YAML):
    #ID of the custom item
    badsword
    :
        material
    : STONE
        amount
    : 1
        name
    : '&cA bad sword'
        lore
    :
       - '&rLooks bad, I know'
        data
    :
         # You can combine it with a custom block texture!
          custom
    :
           # ID number of the custom item, has to be unique (Be careful, there's a limit!)
            item
    : 0
    Remember to create a recipe for the item!

    After that we need to create the texture, this plugin comes with a texture pack, open it and go to this folder: texturepack\assets\minecraft\textures\item\custom

    The item ID number is 0, so we have to create an image named 0.png

    Now let's create a zip and upload it to dropbox.

    [​IMG]

    Put assets and pack inside the zip!!!

    After uploading the file to dropbox you will get an url like this:
    Code (Text):
    https://www.dropbox.com/s/xxxxxxxxxxxx/pack.zip?dl=0
    IMPORTANT: Change the last 0 to a 1.
    Code (Text):
    https://www.dropbox.com/s/xxxxxxxxxxxx/pack.zip?dl=1
    Open the server config file and put your resource-pack link.

    Time to test it! It worked?
    I updated the texture pack and the new textures that I put does not work!
    Put at the end of the link &v=0 to update it.
    If you already have the &v=0 at the end, change it to &v=1, and the next time to &v=2, etc...

    My player did not accept the texture pack!
    Change Server Resource Pack to Enabled.
    [​IMG]

    Create an advanced crafting recipe

    Before creating a new recipe, you need to create an item. Open your item pack and type the following:
    Code (YAML):
    MyBiggerStone:
        material
    : COBBLESTONE
        damage
    : 0
        enchantments
    :
       - DAMAGE_ALL:4
        name
    : '&6Shiny Stone'
        lore
    :
       - '&rThe best cobblestone ever made.'
    Now we can create a new recipe. To create a crafting recipe open a file called recipes.yml

    Type the following:
    Code (YAML):
    CRAFT_MyBiggerStone:
      type
    : craft
      shaped
    : true
      permission
    : my.stoneplus
      slot
    :
        '1'
    :
          material
    : COBBLESTONE
        '2'
    :
          material
    : STONE
          # You will need 2 stones in this slot to craft it
          amount
    : 2
        '3'
    :
          material
    : COBBLESTONE
        '4'
    :
          material
    : STONE
        '5'
    :
         # Yes, you can put a custom item here
          custom
    : MyBigStone
        '6'
    :
          material
    : STONE
        '7'
    :
          material
    : STONE
        '8'
    :
          material
    : COBBLESTONE
        '9'
    :
          material
    : STONE
      output
    :
      # Here goes the ID of the custom item.
        custom
    : MyBiggerStone
        amount
    : 1
    Time to test! Run the server and craft this shiny item:

    [​IMG]

    Create a gifchest

    To create a giftchest, first we need a custom item with some data attached. Copy and paste this item to your item pack.
    Code (YAML):
    # Item ID
    MegaChest
    :
       # We're going to make a 'mini chest' using skull owner. We need a player_head for that
        material
    : PLAYER_HEAD
        amount
    : 1
        # Damage 0 represents a skeleton head. 3 is a player head
        damage
    : 3
        skull
    :
         # What skin we put on the skull?
          owner
    : 'MHF_Chest'
        name
    : '&rMega&6Chest'
        data
    :
         # ID of the giftchest that we're going to create
          giftchest
    : 'MegaChest_loot'
    Now that we have the item, let's create a recipe. Wait, you already know how to do that!

    Next step: open your giftchest.yml file and paste the following code:
    Code (YAML):
    # ID of the giftchest, make sure is unique.
    MegaChest_loot
    :
     # When used, it will drop one of the items on this list.
      items
    :
       # ID of the drop, works the same way as custom items: you can put nbt, enchants, damage put a custom item with the tag custom: ID, etc... BUT YOU CAN'T PUT THE DATA TAG!
        stone
    :
          material
    : STONE
          amount
    : 4
          enchantments
    :
         - DAMAGE_ALL:2
        diamond
    :
          material
    : DIAMOND
          amount
    : 1
          name
    : '&4Diamond'
          enchantments
    :
         - DAMAGE_ALL:4
    # Try it with a custom item if you want
    #    a_custom_item:
    #      custom: YOUR_ITEM_ID
    # Sound when used
      sound
    : BLOCK_GRASS_BREAK
    # Particle when used
      particle
    :
        name
    : SMOKE
        amount
    : 10
    Time to test! Craft this shiny item and use it:
    [​IMG]
    [​IMG]

    Create tools with extra effects


    Create food with extra effects

    WARNING! FROM HERE THIS POST IS OUTDATED! I'M REWRITING IT.

    Create tools with extra effects
    Code (YAML):
    #There are 3 effects: breakbedrock, autosmelt and xpdrop
    #breakbedrock: destroy bedrock
    #autosmelt: When you destroy iron or gold ores you get the iron/gold ingot.
    #xpdrop: when you destroy block you get xp, you need an aditional parameter inside the tool configuration called amount. Ex:
    #      tool:
    #        effect: xpdrop
    #        amount: 4

    BedrockDestroyer
    :
      type
    : craft
      shaped
    : true
      permission
    : my.bedrockdestroyer
      slot
    :
        '1'
    :
          material
    : OBSIDIAN
        '2'
    :
          material
    : OBSIDIAN
        '3'
    :
          material
    : OBSIDIAN
        '5'
    :
          material
    : STICK
        '8'
    :
          material
    : STICK
      output
    :
        material
    : GOLD_PICKAXE
        amount
    : 1
        name
    : '&6The Pickaxe'
        lore
    :
       - '&rThis pickaxe can destroy bedrock. Yes.'
        data
    :
          tool
    :
            effect
    : breakbedrock

Recent Updates

  1. Update 2.2.3
  2. Update 2.2.2
  3. Update 2.2.1

Recent Reviews

  1. policymaker
    policymaker
    5/5,
    Version: 2.2.3
    Nice plugin! it's fantastic! Can I advertise this wonderful plugin to MCBBS,a Chinese forum and translate it? I'll show them your spigot page and let them download the plugin there. Thank you!
  2. TheEnderMan250
    TheEnderMan250
    4/5,
    Version: 2.2.3
    How do I use fastcraft? for some reason whenever I try it doesn't work. PLS HELP
  3. Dorky_McDorkus
    Dorky_McDorkus
    4/5,
    Version: 2.2.3
    Works really well, but I couldnt figure out how to get the shiny items to craft without using fastcraft. Is there a way?
  4. maonu
    maonu
    5/5,
    Version: 2.2.3
    oK but, how can i add a specific item, to be dropable only on mobs ? like Zombie Leather ?
  5. Super_cube4
    Super_cube4
    5/5,
    Version: 2.2.3
    Very Good Plugin,

    This is one of the most advanced plugin I have never seen !
    :) good job
  6. Dimo4ka
    Dimo4ka
    5/5,
    Version: 2.2.3
    I really appreciate this developer and the plugin itself! The plugin does unimaginable things and it's very cool that it is free. It's great that the developer gives him so much time and monitors him. He is also very friendly and always ready to help you! The plugin itself does not have any free alternatives of its kind, and this is one of the reasons why you can immediately put 5 stars!
  7. HLong
    HLong
    4/5,
    Version: 2.2.3
  8. uDavid
    uDavid
    5/5,
    Version: 2.2.1
    Excelent plugin I was searching for nice replace for one plugin that does same things and I found it now! Thank you, for the future having a Mythicmobs drops compatibility would be nice so we could use custom mythicmobs drops for crafting new items.
  9. EnchantedCrown
    EnchantedCrown
    5/5,
    Version: 2.2.1
    I love the plugin, but I would like to be able to change the messages or print a translation system, because I speak Spanish and it would be very useful for me to translate it.
  10. crston
    crston
    5/5,
    Version: 2.2.1
    WT...

    This is wonderful plugin!!!!!

    I want donate!!!!

    you great dev!!!

    Oh yeah!!!