- Native Minecraft Version:
- 1.13
- Tested Minecraft Versions:
- 1.13
- Languages Supported:
- English
You want to support me with a donation?Contact me via Discord/Twitter...
Source available
Send me a message to know how yo can do it!
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!
Tools with custom effects
![]()
![]()
![]()
![]()
Uncrafter
![]()
Use the features that you want
Features
You don't need some features? Disable them on the configuration to not waste your resources.
Custom commands
Custom items and blocks
- 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 recipes
- 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.
Fastcraft
- 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 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.
Giftchests
Uncrafter
- 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.
ItemEffects
- Uncraft vanilla recipes.
- Uncraft custom recipes.
- A custom permission to use it.
- Enable/disable uncrafter
- 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
- /my
- my.fastcraft.use Use the FastCraft
Download and installationRemove vanilla recipes
- Download the plugin, and put into the plugins folder.
- Start and stop the server.
- Configure the plugin.
- Start the server.
- Enjoy your new custom stuff
.
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.
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:
Nice! Now we have an useless item that cannot be obtained. Let's create a recipe to solve this.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)'
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:
Time to test! Run the server and craft this shiny item: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
Create a furnace recipe
To create a furnace recipe open a file called recipes.yml
Now paste this:
Time to test! Run the server and craft this shiny item: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
Create a brewing recipe
To create a brewing recipe open a file called recipes.yml
Now paste this:
Time to test! Run the server and craft this shiny item: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
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:
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?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
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:
Remember to create a recipe for the item!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
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.
Now let's create a zip and upload it to dropbox.
Put assets and pack inside the zip!!!
After uploading the file to dropbox you will get an url like this:
IMPORTANT: Change the last 0 to a 1.Code (Text):https://www.dropbox.com/s/xxxxxxxxxxxx/pack.zip?dl=0
Open the server config file and put your resource-pack link.Code (Text):https://www.dropbox.com/s/xxxxxxxxxxxx/pack.zip?dl=1
Time to test:
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.
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:
Remember to create a recipe for the item!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
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.
Put assets and pack inside the zip!!!
After uploading the file to dropbox you will get an url like this:
IMPORTANT: Change the last 0 to a 1.Code (Text):https://www.dropbox.com/s/xxxxxxxxxxxx/pack.zip?dl=0
Open the server config file and put your resource-pack link.Code (Text):https://www.dropbox.com/s/xxxxxxxxxxxx/pack.zip?dl=1
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.
Create an advanced crafting recipe
Before creating a new recipe, you need to create an item. Open your item pack and type the following:
Now we can create a new recipe. To create a crafting recipe open a file called recipes.ymlCode (YAML):MyBiggerStone:
material: COBBLESTONE
damage: 0
enchantments:
- DAMAGE_ALL:4
name: '&6Shiny Stone'
lore:
- '&rThe best cobblestone ever made.'
Type the following:
Time to test! Run the server and craft this shiny item: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
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.
Now that we have the item, let's create a recipe. Wait, you already know how to do that!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'
Next step: open your giftchest.yml file and paste the following code:
Time to test! Craft this shiny item and use it: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
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

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
Recent Updates
- Update 2.2.3 Jan 17, 2019
- Update 2.2.2 Jan 1, 2019
- Update 2.2.1 Sep 11, 2018