Shaped or Shapeless Types - mehboss/CustomRecipes GitHub Wiki

Creating New Recipes

All recipes are located in 'plugins/CustomRecipes/recipes'. To create your own, simply copy any of the template ones, and change their values. Down below you can find information regarding each config entry.

Structure

CursedSword: 
  Enabled: true
  Shapeless: true
  Cooldown: -1
  Item: 'DIAMOND_SWORD'
  Item-Damage: 'none'
  Amount: 1
  Placeable: true
  Exact-Choice: false
  Custom-Tagged: true
  Identifier: 'CURSED_SWORD'
  Converter: none
  Permission: 'crecipe.recipe.cursedsword'
  Auto-Discover-Recipe: true
  Book-Category: 'MISC'
  Name: '&eCursed Sword'
  Lore:
   - '&fThe Cursed Sword'
  Effects:
   - 'POISON:20:2'
  Hide-Enchants: true
  Enchantments:
   - 'DURABILITY:255'
  Commands:
    Give-Item: true
    Run-Commands: []
  ItemCrafting:
   - 'XDX'
   - 'XBX'
   - 'XBX'
  Ingredients:
    D:
      Material: DIAMOND
      Identifier: none
      Name: 'Diamond Shrine'
      Custom-Model-Data: none
      Lore: []
      Amount: 1
    B:
      Material: OAK_PLANKS
      Identifier: none
      Name: 'Wooden Board'
      Custom-Model-Data: none
      Lore: []
      Amount: 1
  ItemsLeftover: []
  Flags:
    Ignore-Data: false
    Ignore-Custom-Model-Data: false
    Ignore-Name: false
  Use-Conditions: false
  Conditions_All: []
  Custom-Tags: []
  Item-Flags: []
  Attribute: []
  Custom-Model-Data: none
  Disabled-Worlds: []

Config Values

Config values marked with * are optional, and are not required to be present in the file.

Recipe Header

RecipeName: This must be the same as the name of the recipe file, without .yml.

Enabled

Whether or not this recipe is enabled. Boolean value. true / false

Shapeless

Whether the recipe should be Shaped or Shapeless. Shaped: The recipe must be put exactly the way described in ItemCrafting. Shapeless: Items can be anywhere inside the crafting table, regardless of shape in ItemCrafting. Boolean value. true / false

Cooldown*

Defines a cooldown before crafting of this item is allowed again, in seconds. Integer value. 123 (or '-1' for no cooldown.)

Item

The material of the crafted item. You can find all accepted materials here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html (Material names may be different in older versions of Minecraft.) String value. 'SampleText'

Item-Damage*

The amount of durability missing by default from the item. This is mainly used in older versions of the game. Integer value. 123 (or 'none' for no damage.)

Amount

The amount of items crafted. Integer value. 123

Placeable*

If the crafted item can be placed or not. This is used for custom items using blocks as their material. Boolean value. true / false

Exact-Choice*

Whether the recipe should use the ExactChoice API rather than manual item checks. Can only be used in versions >= 1.14 Boolean value. true / false

Custom-Tagged*

Should be item be "tagged" with the Identifier defined? Boolean value. true / false

Identifier

Unique identification of the custom item. Can be used in places such as other recipes. String value. 'SampleText'

Converter*

Defines what type of recipe it should be. SHAPED FURNACE BLASTFURNACE SMOKER CAMPFIRE STONECUTTER ANVIL & MORE String value. 'SampleText'

Permission*

If defined, this permission is required in order to craft this recipe. String value. 'SampleText'

Auto-Discover-Recipe*

Whether the recipe will show in the vanilla recipe book upon joining the server. Can only be used in versions >= 1.14 (If set to false, it will be discoverable once crafted.) (If the player lacks permission, it will not show.) Boolean value. true / false

Book-Category*

The category the recipe is to be shown in in the recipe book Can only be used in versions >= 1.14 (CraftingBookCategory (BUILDING, EQUIPMENT, MISC, REDSTONE)) (CookingBookCategory (BLOCKS, FOOD, MISC)) String value. 'SampleText'

Name*

Name of the item crafted. String value. 'SampleText'

Lore*

Lore on the item crafted. String List value.

- 'SampleText1'
- 'SampleText2'

Use Lore: [] to not give the item any lore.

Effects*

The defined effects are given to the entity hit with the item. String List value.

- 'PotionID:Duration:Power'
- 'POISON:20:2'

Use Effects: [] to not give the item any effects. You can find all accepted effects here: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/potion/PotionEffectType.html

Hide-Enchants*

Whether enchants are visible on the items or not. This will not hide the glow of being enchanted. Boolean value. true / false

Enchantments*

Enchants the crafted item will have. String List value.

- 'EnchantmentID:Level'
- 'PROTECTION:300'

Use Enchantments: [] to not give the item any enchants. You can find all accepted enchants here: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/enchantments/Enchantment.html

Commands*

Commands to be performed upon crafting an item. String List value.

  Commands:
    Give-Item: true
    Run-Commands:
     - 'give %crafter% diamond 1'

Give-Item dictates whether or not the output item is still granted to the crafter. The placeholder %crafter% gets replaced with the player crafting your recipe. Use Commands: [] to not give the item any commands.

ItemCrafting

Shape of the recipe in any crafting table. If the recipe is marked Shapeless the position of each ingredient is ignored. Entries into this are the letters defined in Ingredients. String List value.

- 'DDD'
- 'XPX'
- 'XPX'

NOTE: X is always used to define air/empty.

Ingredients

Ingredients used in the recipe. Section values.

D: #Ingredient Identification
 Material: 'DIAMOND'
 Identifier: #Ingredient must have this identifier. Helpful for making custom items craft more custom items. Overrides name. (Can be left empty to ignore)
 Amount: 1
 Name: 'Diamond Shrine' #Ingredient must have this custom name. (Can be left empty to ignore)
P: #Ingredient Identification
 Material: 'OAK_PLANKS'
 Identifier: #Ingredient must have this identifier. Helpful for making custom items craft more custom items. Overrides name. (Can be left empty to ignore)
 Amount: 1
 Name: 'Wooden Board' #Ingredient must have this custom name. (Can be left empty to ignore)

ItemsLeftover*

Item that will be leftover in the workbench. See wiki page for more details. String List value.

- 'EMERALD'
- 'itemsadder:custom_item'

Ignore-Data*

Whether the recipe should ignore enchants or other meta data requirements. (If set to true, only material types must match as a requirement. Any other item meta is not checked.) Boolean value. true / false

Ignore-Model-Data*

Whether the recipe should ignore items which has CustomModelData. (If set to true, CustomModelData requirements will be ignored.) Boolean value. true / false

Ignore-Name*

Whether the recipe should ignore items which have displaynames. (If set to true, displayname requirements will be ignored.) Boolean value. true / false

Use-Conditions*

Whether or not the conditions should be used. Boolean value. true / false

Conditons_All (Conditions_Any)*

Check the corresponding wiki page for more details.

Item-Flags*

Item flags the item will have. String List value.

- 'HIDE_ATTRIBUTES'
- 'HIDE_ARMOR_TRIM'

Use Item-Flags: [] to not give the item any flags. You can find all accepted flags here: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/inventory/ItemFlag.html

Attribute*

Attributes the item will have. String List value.

- 'AttributeID:Level'
- 'GENERIC_ARMOR:3'

Use Attribute: [] to not give the item any attributes. You can find all accepted attributes here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/attribute/Attribute.html

Custom-Model-Data*

Defined CustomModelData value of the crafted item. Integer value. 1234567

Disabled-Worlds*

Worlds that this recipe can not be crafted in. Message configuration is found in the blacklisted.yml String List value.