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

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

⬇ Download on Spigot
[​IMG]
I don't have enough time to create new features. I will just mantain it. Collaboration is appreciated via Github.
Click to expand...
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:
CARE: I didn't explained the API on the tutorials, but you can ask me via PM or on the discussion.
Or if u like exploring, check the classes of the plugin and try them.
Click to expand...
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]

Spoiler: Some screenshots of the plugin that I didn't put in the tutorial
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
Custom items and blocks
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
Uncrafter
ItemEffects

Planned to add

[​IMG]

[​IMG]
[​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 «

First time here? Start with one of the listed tutorials
Remove vanilla recipes
Create a command
Create an item
Click to expand...
Remove vanilla recipes
Spoiler
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
Spoiler
Not updated tutorial, but works.
Click to expand...
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>
Spoiler: Java API
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
Spoiler
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.
Next chapter:
Create a brewing recipe
Create a crafting recipe
Create a furnace recipe
Create an advanced item
Click to expand...

Create a crafting recipe
Spoiler
Previous chapter:
Create an item
Click to expand...
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]

Next chapter:
Create an advanced crafting recipe
Click to expand...

Create a furnace recipe
Spoiler
Previous chapter:
Create an item
Click to expand...
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
Spoiler
Previous chapter:
Create an item
Click to expand...
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
Spoiler
Previous chapter:
Create an item
Click to expand...

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!

Next chapter:
Create a block with a custom texture
Create an item with a custom texture
Create a gifchest
Create tools with extra effects
Create food with extra effects
Click to expand...

Create a block with a custom texture
Spoiler
Previous chapter:
Create an advanced item
Click to expand...

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
Spoiler
Previous chapter:
Create an advanced item
Click to expand...

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
Spoiler
Previous chapter:
Create a crafting recipe
Click to expand...

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:

CARE! You will need to put 2 stones in slot 2. I have to update this tutorial image.
Click to expand...
[​IMG]

Create a gifchest
Spoiler
Previous chapter:
Create an advanced item
Click to expand...

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:
CARE: If you have something written by default delete it! Older versions of this plugin generated some outdated examples.
Click to expand...
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

PM me if you need help with this.
Click to expand...

Create food with extra effects

PM me if you need help with this.
Click to expand...
Need extra help? Contact me!
Click to expand...
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
Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

My | Ultimate custom items | Custom blocks / items with textures + Recipes + Fascraft + Uncrafter is a free Minecraft Java mod. Compatible with Minecraft 1.13. Downloaded 26,836 times (via Spigot). Download it and open it directly in the game.

Explore more