►► CustomRecipes (1.8.x-1.21.x) || Advanced Recipes Made Easy || ◄◄ icon

►► CustomRecipes (1.8.x-1.21.x) || Advanced Recipes Made Easy || ◄◄ -----

Create your own advanced custom recipe or item! Crafting, furnace, stonecutter, and more!




CHANGE LOG:
FIXED
an issue that was causing players to not be able to join their server after installing CustomRecipes. It would give them a DecoderException error. This was observed on Purpur 1.21.1, but it may have affected different versions and APIs as well.

The issue was based on the client only supporting enchants up to level 255; however, the generated recipe files attempted enchants at level 300. I have updated the default recipe files to have enchants of 255 to fix this issue.

Refer to issue #64 for more details.

Thank you for reporting this issue. If you have any suggestions or encounter more issues, let me know.

CHANGE LOG:
FIXED
an issue related to removing the 'Name' section in a recipe file. Although the recipe was crafting and functioning properly, there was some errors being dumped to console.

Refer to issue #63 for more details.

Thank you for reporting this issue, not sure how it wasn't found during testing. If you have any suggestions or encounter more issues, let me know.
----------, Dec 19, 2024

CHANGE LOG:
ADDED
support for ItemsAdder for the recipe result.
ADDED crafting cooldown for recipes
ADDED an entire recipe API for developers. Recoded CR to utilize the API rather than the configuration. The API can be found here.
ADDED ability to add custom item nbt tags. Allows for custom colors of leather armor, attribute modifiers in older versions such as attackDamage or attackSpeed, etc.
Code (Text):
  Custom-Tags:
  - path:
    - display
    - color
    value: 16711680
  - path:
    - AttributeModifiers
    value:
    - Name: CustomAttackDamage
      AttributeName: generic.attackDamage
      Amount: 100.0
      Operation: 0
      Slot: mainhand
ADDED 'disable-all-vanilla' to the blacklisted.yml for disabling all recipes
FIXED issue with EcoEnchants not applying to item. To apply custom enchants, just put the corresponding enchant plugin as an argument (i.e: ecoenchants:snipe:1 or excellentenchants).
FIXED issue with console errors when attacking other entities
FIXED issue with vanilla recipes not working as intended.
FIXED issue with placeholder parsing
FIXED issue with the yml files not parsing on first load, causing console errors.

& a few other minor fixes.

The update has been tested. I have made minimal changes to the GUI and you can expect it to be released in the next update. I have a ton of more features planned and you can find more info on our discord channel.

If you encounter any issues please let me know.
Thank you!
----------, Dec 4, 2024

CHANGE LOG:
FIXED
an issue related to the NBTEditor util in the EffectsManager and BlockManager classes that prevented these features from working properly
An error would throw if attacking an entity with the custom item equipped.
ORGANIZED classes into packages for better organization

OtherDrops has implemented NameSpacedKeys, which now allows CR items to be used as entity and block drops! Download the beta here.
----------, Oct 15, 2024

CHANGE LOG:
FIXED
the recipe amount variable to default to 1 if the string is not found in the recipe.yml. With the new update, HavenBag.yml was throwing an error because it was missing the "Amount: 1" string.
----------, Oct 13, 2024

CHANGE LOG:
ADDED support for HavenBags by Valorless
  • In collaboration with Valorless, we have made CustomRecipes & HavenBags support each other!
  • Wiki information can be found here, it explains how to create bags using CR.
  • With this integrated support, you can customize your recipe to make a haven-bag. Supports all the usual stuff (cmd, amount requirements, etc).
  • The template is generated by default by the plugin. It can also be found in the wiki.
  • Tested in 1.17+
ADDED the xEnchantment utility to perform cross-checks across enchantment enums and running server version.
FIXED an issue with the shift-click listener that was causing incorrect amount deductions (only affected 1.8 as far as I know).

No configuration changes required
** Includes fixes for 1.8 **
----------, Oct 13, 2024

CHANGE LOG:
CHANGED
the mechanism of recipe removals. This should allow support for other plugins and stop any conflicts from occurring.
ADDED an exception catch incase duplicate keys are found
FIXED an issue that was occurring while using the pufferfish API
FIXED an issue with the recipes folder not generating correctly.

It is recommended that you update to this version
** Includes fixes for paper 1.20 **
----------, Oct 12, 2024

CHANGE LOG:
ADDED
eco enchants support ( here) (untested)
FIXED an issue occurring in version 1.20.4
CHANGED spigot API version built against.
UPDATED NBT arguments for CR book that was causing issues

CR has been converted to a maven project to allow better flexibility when supporting other plugins and using utilities.

(changes tested in spigot/paper 1.8.8, 1.12, 1.20, and 1.21, but still supports all versions after 1.7)
----------, Oct 6, 2024

CHANGE LOG:
FIXED
an issue that prevented CR from running properly on 1.19 & 1.20 with an error displayed in console (# 54)
FIXED a duplication glitch with amount requirement deductions ( #55 and #56)
UPDATED the debug code throughout to make it easier to decipher
UPDATED a mechanism to boost performance a bit.

There is a known issue with the 1.19 & 1.20 API that is causing issues with the amount requirement feature. For the time being, item flags (i.e HideEnchants) are to be avoided if your recipe requires more than 1 ingredient amount
** Update - Issue has been resolved

----------, Oct 3, 2024

CHANGE LOG:
FIXED
an issue that prevented CR from running properly on the newest version, 1.21.
----------, Jul 18, 2024

CHANGE LOG:
FIXED
an issue with furnace recipes not correctly reading the configuration, causing some errors. I also updated it so that when an issue is found within, it skips to the next recipe rather than halting.

Thank you for reporting your issues and for using CustomRecipes!
----------, Apr 6, 2024

CHANGE LOG:
FIXED
an issue in older versions of MC, like 1.8, that would prevent custom recipes from crafting. Find the issue here.
FIXED an issue occurring in 1.20 that was a result of an outdated API. Find the issue here.
ADDED the ability to create furnace and stonecutter recipes. You must specify the converter type in your recipe file; the file should only have one ingredient for it to work. See below.
Code (Text):
WheatSand:
  Enabled: true
  Shapeless: true
  Item: SAND
  Amount: 1
  Identifier: WHEATSAND
  Converter: FURNACE
  ItemCrafting:
  - WXX
  - XXX
  - XXX
  Ingredients:
    W:
      Material: WHEAT_SEEDS
      Identifier: none
      Amount: 1
  Item-Flags: []
  Attribute: []
  Disabled-Worlds: []
  Placeable: true
  Ignore-Model-Data: false

Changes tested in 1.8 and 1.20. It is assumed to work in versions in between. As always, if you encounter any issues please open a ticket here.

I have been extremely busy lately, but I will attend to any game-breaking bugs. I have a ton of stuff on my to-do list that I will be getting to shortly after finals. Thank you for your patience!

Thank you Poikilos for the new recipe features.
NOTE: Reupload due to configuration issue.
----------, Apr 5, 2024

CHANGE LOG:
FIXED
an issue in older versions of MC, like 1.8, that would prevent custom recipes from crafting. Find the issue here.
FIXED an issue occurring in 1.20 that was a result of an outdated API. Find the issue here.
ADDED the ability to create furnace and stonecutter recipes. You must specify the converter type in your recipe file; the file should only have one ingredient for it to work. See below.
Code (Text):
WheatSand:
  Enabled: true
  Shapeless: true
  Item: SAND
  Amount: 1
  Identifier: WHEATSAND
  Converter: FURNACE
  ItemCrafting:
  - WXX
  - XXX
  - XXX
  Ingredients:
    W:
      Material: WHEAT_SEEDS
      Identifier: none
      Amount: 1
  Item-Flags: []
  Attribute: []
  Disabled-Worlds: []
  Placeable: true
  Ignore-Model-Data: false

Changes tested in 1.8 and 1.20. It is assumed to work in versions in between. As always, if you encounter any issues please open a ticket here.

I have been extremely busy lately, but I will attend to any game-breaking bugs. I have a ton of stuff on my to-do list that I will be getting to shortly after finals. Thank you for your patience!

Thank you Poikilos for the new recipe features.
NOTE: Reupload due to configuration issue.
----------, Apr 5, 2024

CHANGE LOG:
FIXED
an issue in older versions of MC, like 1.8, that would prevent custom recipes from crafting. Find the issue here.
FIXED an issue occurring in 1.20 that was a result of an outdated API. Find the issue here.
ADDED the ability to create furnace and stonecutter recipes. You must specify the converter type in your recipe file; the file should only have one ingredient for it to work. See below.
Code (Text):
WheatSand:
  Enabled: true
  Shapeless: true
  Item: SAND
  Amount: 1
  Identifier: WHEATSAND
  Converter: FURNACE
  ItemCrafting:
  - WXX
  - XXX
  - XXX
  Ingredients:
    W:
      Material: WHEAT_SEEDS
      Identifier: none
      Amount: 1
  Item-Flags: []
  Attribute: []
  Disabled-Worlds: []
  Placeable: true
  Ignore-Model-Data: false

Changes tested in 1.8 and 1.20. It is assumed to work in versions in between. As always, if you encounter any issues please open a ticket here.

I have been extremely busy lately, but I will attend to any game-breaking bugs. I have a ton of stuff on my to-do list that I will be getting to shortly after finals. Thank you for your patience!

Thank you Poikilos for the new recipe features.
----------, Apr 5, 2024

CHANGE LOG:
ADDED
support for the use of custom enchantments on custom items. Currently, support is for the AdvancedEnchantments plugin. If you would like to see integrated support for other custom enchantment plugins please submit a feature request here.
FIXED an issue with recipes not listening to ingredient requirements or amount requirements that occurred amongst a couple of users.
----------, Aug 30, 2023

CHANGE LOG:
ADDED the ability to have a recipe be disabled in specific worlds!
After downloading this update you will find a new section labeled "Disabled-Worlds" in each of your recipe files. The suggestion can be found here.
  • This is not case sensitive and you can add as many worlds as you would like.
  • The message and action are configurable and can be found in the blacklisted.yml file under the section - "recipe-disabled-message:"
ENHANCED the recipe booklet so that you can now view how to craft custom ingredients within the custom recipes! Simply click on the custom ingredient inside of the custom item to view how to craft it.
ENHANCED the recipe booklet so that it now saves the last menu you had open! For example, clicking the back button in a recipe viewing will return you back to the page you were at before you opened it instead of defaulting to page 1.
FIXED an issue with only one result being set while crafting two very similar recipes. The issue can be found here.
FIXED an issue with an entityDamage error related to trident throwing in newer versions.

COMING SOON:

  • Recipe booklet category organizations.
  • CustomRecipes GUI integration
  • Rankup plugin requirement addons.
  • Support for other types of recipes (i.e furnace, smelting, etc)
Thank you for using CustomRecipes! This new feature(s) will be added to the wiki soon. If you have any questions, suggestions, or issues you can open a ticket here and I will get back to you as soon as possible.
----------, Aug 12, 2023

CHANGE LOG:
FIXED
an issue with the incorrect item result being displayed while crafting as a result of the previous update.
FIXED the order in which items get added to the server in order to stop the custom items from overriding vanilla recipes.
FIXED an issue with custom recipes with the same results not appearing on the recipe list or recipe booklet.

Any issues please let me know and thank you for reporting this! Refer here for more information on this issue.
----------, Aug 8, 2023

CHANGE LOG:
FIXED
an issue with shapeless recipes overriding vanilla recipes automatically

Refer here for the issue.
Thank you for reporting!
----------, Aug 2, 2023

CHANGE LOG:
FIXED
an issue with the placeable checks still allowing placement of blocks with stacked items ( Issue 16).
ADDED support for PlaceholderAPI in the lore of your custom items. The placeholders are parsed upon completing a valid crafting matrix in the crafting table. I have implemented it into the recipe booklet as well. This is just the beginning 'beta' version as I plan on expanding this to something more.
ADDED custom placeholders via PlaceholderAPI to be used in holograms and other locations. More will be added soon. If you have any suggestions as far as placeholders go, please let me know.

Other placeholders are found here.
Current placeholders:
(recipeName is replaced with the name of your recipe (likely the file name))
(slot is replaced with the slot (1-9) in the crafting table)

Returns the material of the ingredient in the specified slot:
- %customrecipes_ recipeName _ingredient_ slot %
Returns the name of the ingredient in the specified slot:
- %customrecipes_ recipeName _ingredient_name_ slot %
Returns the required amount of the ingredient in the specified slot:
- %customrecipes_ recipeName _ingredient_amount_ slot %
Returns the identifier of the ingredient in the specified slot:
- %customrecipes_ recipeName _ingredient_identifier_ slot %
----------, Jul 13, 2023

CHANGE LOG:
ADDED 'Placeable:' string into recipes files. Set to false if you would like this block to not be able to be placed down. Can be useful for "quest items" or similar things ( Refer Here ).
ADDED 'No-Perm-Place' string into config file to set a configurable message to a player when they place a block that shouldn't be placed. Set to none or remove if you do not want a message.
ADDED console message that displays the number of recipes that were successfully loaded. There is one that is printed by the server (shows incorrect #) that I cannot remove, so this should clear some confusion (Issue #13).
FIXED a bug in 1.8 that was causing console errors when damaging other players. (Issue #15).

Coming this week:
PlaceholderAPI support that will allow placeholders in item NBT and will add new placeholders that can be used in other portions of your server.​
----------, Jul 10, 2023

CHANGE LOG:
ADDED 'P laceable:' string into recipes files. Set to false if you would like this block to not be able to be placed down. Can be useful for "quest items" or similar things ( Refer Here ).
ADDED console message that displays the number of recipes that were successfully loaded. There is one that is printed by the server that I cannot remove, so this should clear some confusion ( Issue #13 ).
FIXED a bug in 1.8 that was causing console errors when damaging other players. (Issue #15).

Coming this week:
PlaceholderAPI support that will allow placeholders in item NBT and will add new placeholders that can be used in other portions of your server.​
----------, Jul 10, 2023

CHANGE LOG:
FIXED an issue that was brought to my attention regarding amount deductions with recipes utilizing identifiers in the ingredients. It was bugging and deducting the incorrect amount while crafting.

Issue #9 by MummieSenpai has been resolved.
Issue #10 by MummieSenpai has been resolved.

This issue has been resolved in this update. If any new problems become apparent, or if you have any issues or suggestions, please feel free to contact me. I apologize for any inconvenience!

Thank you!
----------, Jun 29, 2023

CHANGE LOG:
FIXED
color codes not being supported for the item ingredients in the recipe book GUI.
FIXED the recipe book GUI ignoring the ingredient identifiers.

[​IMG]

Both issues have been fixed and tested. The recipe booklet should be working as expected now. Refer to this issue in regard to this update. Thank you for reporting this issue!

Let me know if you have any suggestions or encounter any issues!

Reupload due to issue
----------, Jun 25, 2023

CHANGE LOG:
FIXED
color codes not being supported for the item ingredients in the recipe book GUI.
FIXED the recipe book GUI ignoring the ingredient identifiers.

[​IMG]

Both issues have been fixed and tested. The recipe booklet should be working as expected now. Refer to this issue in regard to this update. Thank you for reporting this issue!

Let me know if you have any suggestions or encounter any issues!
----------, Jun 25, 2023

CHANGE LOG:
ADDED 'o verride-recipes' option in the blacklisted.yml. This will work even if blacklist-recipes is set to false. This works by disabling a vanilla recipe completely in case you decide you want to modify how it is crafted. This won't send a disabled-recipe message and completely removes the recipe mapping from the server so you can make your own.

Blacklisting a recipe listens for the result while crafting, triggering any response or messages to the player, while overriding a recipe completely removes the recipe key from the server which allows you to "change" how a vanilla recipe is crafted.

The override recipes option utilizes material ENUMS. It will attempt to locate the crafting table recipe based on the result you have provided, if one can not be found, it will let you know in the console. It is a list, so you can add as many as you want.


Code (Text):
-> in the blacklisted.yml file

override-recipes: # add vanilla material here if you plan on changing how you craft it
  - LAPIS_LAZULI

ADDED trident throwing effects. If you are holding a trident in your off-hand and you also have a custom item in your main hand that has an effect, the trident will apply the effect to the entity it hits.
FIXED shields not blocking item effects.

No manual configuration changes are needed, all changes are handled internally. You will see the override-recipes option in the blacklisted.yml upon restart.

Any questions about this update, issues, or future suggestions please let me know, thank you!
----------, Jun 24, 2023

CHANGE LOG:
ADDED
support for the new material enums that have been released with the MC 1.20.x release.

The suggestions given will be added tomorrow. I appreciate your patience and thank you for using CR. If you encounter any issues or have any suggestions feel free to contact me!
----------, Jun 22, 2023

CHANGE LOG:
ADDED
/crecipe book (crecipe.book). This will show a GUI of all of the recipes the player has permission to craft, including how to craft these recipes. Basically a little guide so it is easier to remember how to craft these custom recipes.
ADDED item-flag into the recipe files. A list of item-flags can be found here. This will allow you to hide attributes and more on any custom item you desire.
FIXED effects not working when the custom item was altered. Has been tested and resolved. Thank you for reporting this issue!

NO manual changes are needed. You will see the item-flag section appear in your recipe file upon restart. I have provided the link above for your convenience. If you encounter any issues or have any suggestions, please let me know!

Thank you.
----------, Jun 21, 2023

CHANGE LOG:
FIXED
a small issue with shapeless recipes that had display names not working while crafting. Accidentally overlooked a small portion of code. I apologize for this.
FIXED an issue with effects not working in newer updates.

Both issues have been resolved and tested. If you encounter any issues please bring it to my attention using one of the ways on the main page and it will be looked into.

If you are enjoying Custom-Recipes, please consider leaving a review! Thank you! :)
----------, Jun 18, 2023

CHANGE LOG:
ADDED
support for spigot/paper 1.20 to custom recipes. Previously, the plugin would load; however, none of the metadata was being applied to the custom recipes. This fix is backward compatible, meaning it doesn't break previous spigot/paper versions. Refer here.
FIXED an issue with shapeless recipes that were causing the result to be set to a similar shapeless recipe that had the same ingredient(s).

Both issues have been tested and confirmed to work. I apologize for the wait on this fix. If you encounter any issues or bugs, please report them using one of the ways explained on the main page.

Thank you for using CustomRecipes!
----------, Jun 17, 2023

Minecraft 1.20 is here and CR is FULLY functional on old/new versions. There are no breakages that have occurred.
CHANGE LOG:
ADDED
a message to be sent when someone does /cr list and there are no valid recipes.
ADDED console messages for when there is an issue related to adding a recipe.
FIXED the server having an issue when the 'Item-Damage' section was removed in one of the recipe files. This was intended to be removable and now it is.
CHANGED a portion of code to allow continuation of adding in recipes even when one encounters an error. It previously didn't do this and broke all of the other recipes when one had an issue.

No configuration changes are needed, all are internal. This is just a small patch to minimize support inquiries related to the same issue. Thank you for using CustomRecipes :)

As always, if you have any issues feel free to reach out to me for resolution!
----------, Jun 10, 2023

CHANGE LOG:
FIXED
an issue on paper versions that was generating the blacklisted.yml file empty, causing the plugin to error out and disable itself.

Apologies for the inconvenience and thank you for reporting this issue! The original report can be found here.
----------, Jun 4, 2023

CHANGE LOG:
FIXED
an issue that happened periodically (can't replicate and find the cause) that would spit an error into the console and sometimes(?) cause custom items to disappear from your inventory.
ADDED debug code that specifies the specific recipe file and material that is having trouble parsing/grabbing materials from. This will hopefully help clear up any confusion related to why a recipe won't load.

PM me with any issues or suggestions. PM me your server IP to get added to the front page. Please consider leaving a review if you enjoy this free resource!
----------, Jun 3, 2023

CHANGE LOG:
ADDED the ability to run the custom recipe commands from console (i.e /cr reload). This was previously prohibited from console.
FIXED an issue with the recipe blacklist check that was causing issues with crafting and spitting an error into the console.
----------, May 29, 2023

Thank you to Valorless for reporting this discovery!

Please consider leaving a review if you like using CR!
PM me your server IP to get added to the main page :)

CHANGE LOG:
ADDED
'Ignore-Model-Data' boolean into recipe files in case you decide you want to consider model data, but ignore all other aspects of meta data.
ADDED the option to choose whether or not buckets get consumed or emptied, and this applies to all buckets. Add the argument 'Consume-Bucket: false' if you would like it to empty instead of consume.
ADDED tab completion for eligible versions
[​IMG]
FIXED dupe glitch that was discovered while crafting items. It is highly recommended that you update so that this exploit is not discovered and used.
FIXED an issue with /cr debug not updating the configuration.
CHANGED the identifiers back to how they were before. This is mainly internal, but it did fix some mismatch issues. Now, if you set an ingredient to have an 'Identifier' based off of any other custom items, it will directly compare the item stack.

(!) You DO NOT need to make any manual changes. (!)
Code (Text):
CursedPick:
  Enabled: true # Whether or not this recipe is enabled
  Shapeless: false # Whether or not you want it to have specific order in crafting
  Item: 'DIAMOND_PICKAXE' # Item ID
  Item-Damage: 'none' # Used for when you need a specific type of item with a "19/00" or "13:4". leave to none if non exists.
  Amount: 1 # When you craft this item, this is the amount you will get from it.
  Ignore-Data: false # Whether or not metadata should be considered as a requirement for crafting
  Ignore-Model-Data: false # Whether or not you want model data to be considered even if ignore-data is set to true
  Custom-Tagged: true # Whether or not you want this item to be tagged with a custom item tag.
  Durability: '100' # 1-100. Remove section if not needed.
  Identifier: 'CURSED_PICKAXE' # Give your new recipe an identifier :).
  Permission: 'crecipe.recipe.cursedpick' # Give a player this permission to allow them to craft this item. Remove section if no permission wanted.
  Name: '&4&lCursed Pick' # Name of the item, you can use color codes. Remove if not needed
  Lore:
   - '&c&lThe Cursed Pickaxe' # The lore of the item, it can be multiple lines. Replace with [] if none wanted.
  Effects:
   - 'POISON:20:2' # This is for potion effects, replace with [] if not wanted. The format for this should be "POTION EFFECT:DURATION:AMPLIFIER"
  Hide-Enchants: true # Show enchants on item?
  Enchantments:
   - 'DURABILITY:300' # All the Enchantments are listed at the Top. You can also add as many as you want. Replace with [] if not wanted.
  ItemCrafting:
    # X STANDS FOR AIR, DO NOT INCLUDE X IN 'ingredients' BELOW
   - 'EEE' #First row in the crafting table
   - 'XIX' #Second row in the crafting table
   - 'XIX' #Third row in the crafting table
  Ingredients:
    # DO NOT INCLUDE VARIABLE X AS AN INGREDIENT. THIS IS DEFAULTED TO AIR **
    E: # E is the letter I picked for emerald
      # REMOVE NAME SECTION OR SET TO 'none' IF NOT WANTED
      Material: EMERALD # Material ENUM
      Identifier: none # Set to custom recipe 'identifier' to use a custom item as an ingredient
      Amount: 1 # Amount required in one slot to craft
      Name: 'Emerald Essence' # Supports color codes
    I:
      Material: IRON_INGOT
      Identifier: none
      Amount: 1
      Name: 'Iron Essence'
  Attribute: []
      # Adds a given amount of a specified attribute to the custom item.
      # Format: ATTRIBUTE:AMOUNT:SLOT
  Custom-Model-Data: none
      # Custom model data for texture packs. Only on MC 1.14+!
----------, May 27, 2023

In this update, I have completely restructured and recoded the logic to make it easier to manage and keep up with future updates. I have done extensive testing to allow for the best possible experience. This update is a pretty large update, so read it carefully, thank you!

HUGE THANKS to Valorless for assisting with this update and testing/reporting issues

CHANGE LOG:
ADDED version checks for attribute modifiers and custom model data so it no longer throws errors
ADDED the ability to set and require ingredient amounts. I have implemented checks that detect whether or not the amounts of your ingredients match what is set in your recipe. Works for both shift and non-shift clicks.
ADDED an identifier string as an option for ingredients. This overrides the material and display name field. This will pull the exact itemstack of a different custom item if you choose to utilize this. The identifier should match the 'Identifier' string of the recipe you would like to use as a required ingredient. Example shown below.
ADDED pages to /cr list for organization. This will display in alphabetical order and will show 6 recipes per page. Pages are dependent on how many recipes are active.
SEPARATED the recipes that are originally stored in the config.yml into their own files located in a 'recipes' folder.
CHANGED the formatting for the recipes.
MOVED the messages.yml into the config.yml

(!) You DO NOT need to make any manual changes. I have implemented a mechanism to convert the recipes into their own files and to convert the formatting for you. (!)
[​IMG]
[​IMG]
Code (Text):
CursedPick:
  Enabled: true # Whether or not this recipe is enabled
  Shapeless: false # Whether or not you want it to have specific order in crafting
  Item: 'DIAMOND_PICKAXE' # Item ID
  Item-Damage: 'none' # Used for when you need a specific type of item with a "19/00" or "13:4". leave to none if non exists.
  Amount: 1 # When you craft this item, this is the amount you will get from it.
  Ignore-Data: false # Whether or not metadata should be considered as a requirement for crafting
  Custom-Tagged: true # Whether or not you want this item to be tagged with a custom item tag.
  Durability: '100' # 1-100. Remove section if not needed.
  Identifier: 'CURSED_PICKAXE' # Give your new recipe an identifier :).
  Permission: 'crecipe.recipe.cursedpick' # Give a player this permission to allow them to craft this item. Remove section if no permission wanted.
  Name: '&4&lCursed Pick' # Name of the item, you can use color codes. Remove if not needed
  Lore:
   - '&c&lThe Cursed Pickaxe' # The lore of the item, it can be multiple lines. Replace with [] if none wanted.
  Effects:
   - 'POISON:20:2' # This is for potion effects, replace with [] if not wanted. The format for this should be "POTION EFFECT:DURATION:AMPLIFIER"
  Hide-Enchants: true # Show enchants on item?
  Enchantments:
   - 'DURABILITY:300' # All the Enchantments are listed at the Top. You can also add as many as you want. Replace with [] if not wanted.
  ItemCrafting:
    # X STANDS FOR AIR, DO NOT INCLUDE X IN 'ingredients' BELOW
   - 'EEE' #First row in the crafting table
   - 'XIX' #Second row in the crafting table
   - 'XIX' #Third row in the crafting table
  Ingredients:
    # DO NOT INCLUDE VARIABLE X AS AN INGREDIENT. THIS IS DEFAULTED TO AIR **
    E: # E is the letter I picked for emerald
      # REMOVE NAME SECTION OR SET TO 'none' IF NOT WANTED
      Material: EMERALD # Material ENUM
      Identifier: none # Set to custom recipe 'identifier' to use a custom item as an ingredient
      Amount: 1 # Amount required in one slot to craft
      Name: 'Emerald Essence' # Supports color codes
    I:
      Material: IRON_INGOT
      Identifier: none
      Amount: 1
      Name: 'Iron Essence'
  Attribute: []
      # Adds a given amount of a specified attribute to the custom item.
      # Format: ATTRIBUTE:AMOUNT:SLOT
  Custom-Model-Data: none
      # Custom model data for texture packs. Only on MC 1.14+!
Code (Text):
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# CustomRecipe remastered by MehBoss                                                                #
# Version v1.7                                                                                      #
#                                                                                                   #
# If you find a bug, send me a PM and it will be fixed! :)                                          #
#                                                                                                   #
# For MC 1.14+ add 'Custom-Model-Data: INT' to your recipe for utilization                          #
# For MC 1.12+ you can use attribute modifiers                                                      #
#                                                                                                   #  
#    Enchant Strings:                                                                               #
# http://pastebin.com/AWtKQ5UH                                                                      #
#    Effects:                                                                                       #
# https://hub.spigotmc.org/javadocs/spigot/org/bukkit/potion/PotionEffect.html                      #
#    Attributes:                                                                                    #
# https://hub.spigotmc.org/javadocs/spigot/org/bukkit/attribute/Attribute.html                      #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
firstLoad: true # internally managed do not remove
Debug: false
Update-Check: true
Messages:
  Invalid-Args: '&cInvalid args! (use: /crecipe give <player> <recipename> [amount])'
  Invalid-Perms: '&cYou are not allowed to use this command!'
  Player-Not-Found: '&cERROR: player not found!'
  Recipe-Not-Found: '&cERROR: recipe not found!'
  Inventory-Full: '&cERROR: target''s inventory is full!'
  Give-Recipe: '&aSuccessfully given player item!'
  Reloading: '&cReloading.. please wait'
  Reload: '&aSuccessfully reloaded Custom Recipes!'
action-bar:
  enabled: true
  message: '&4You are not allowed to craft this item!'
chat-message:
  enabled: true
  close-inventory: true
  message: '&cYou must be a donor to craft this recipe!'
add:
  Add-Recipe: '&cPlease type the display name of the recipe you would like to add!'
  Recipe-Capture: '&cCaptured desired new recipe name! Opening menu..'
  Title: '&e%recipe% (ADDING RECIPE)'
gui:
  Open-Sound: CLICK
  Open-Message: '&aOpening menu..'
  Displayname: '&cRecipe Manager - Page %page%'

All necessary changes will be handled internally, so no action is needed on your end. Please enjoy the new features and let me know if you encounter any issues or bugs. Thank you!
----------, May 21, 2023

FIXED equipment slot argument error
FIXED attribute amounts not accepting decimals (my bad).

Other fixes will come out soon. Thank you for your patience.

Useful Resources:
EQUIPMENT SLOTS
ATTRIBUTES
----------, May 12, 2023

ADDED a boolean in the config.yml that allows you to configure whether or not you want your recipe to ignore meta-data in ingredients.
ADDED a boolean in the config.yml that allows you to configure whether or not you want your recipe to be custom-tagged with NBT data (prevents anvil renaming)

Both of the new strings are as follows:
Code (Text):
    Ignore-Data: false # Whether or not metadata should be considered
    Custom-Tagged: true # Whether or not you want this item to be tagged with a custom item tag.
Code (Text):
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# CustomRecipe remastered by MehBoss                                                                #
# Version v1.5.9                                                                                    #
#                                                                                                   #
# If you find a bug, send me a PM and it will be fixed! :)                                          #
#                                                                                                   #
# For MC 1.14+ add 'Custom-Model-Data: INT' to your recipe for utilization                          #
#                                                                                                   #      
#    Enchant Strings:                                                                               #
# http://pastebin.com/AWtKQ5UH                                                                      #
#    Effects:                                                                                       #
# https://hub.spigotmc.org/javadocs/spigot/org/bukkit/potion/PotionEffect.html                      #
#    Attributes:                                                                                    #
# https://hub.spigotmc.org/javadocs/spigot/org/bukkit/attribute/Attribute.html                      #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
Items:
  CursedPick:
    Enabled: true # Whether or not this recipe is enabled
    Item: 'DIAMOND_PICKAXE' # Item ID
    Ignore-Data: false # Whether or not metadata should be considered
    Custom-Tagged: true # Whether or not you want this item to be tagged with a custom item tag.
    Item-Damage: 'none' # Used for when you need a specific type of item with a "19/00" or "13:4". leave to none if non exists.
    Amount: 1 # When you craft this item, this is the amount you will get from it.
    Durability: '100' # 1-100. Remove section if not needed.
    Shapeless: false # Whether or not you want it to have specific order in crafting
    Identifier: 'CURSED_PICKAXE' # Give your new recipe an identifier :). Remove if not needed. Tags item with NBT tag.
    Permission: 'crecipe.recipe.cursedpick' # Give a player this permission to allow them to craft this item. Remove section if no permission wanted.
    Name: '&4&lCursed Pick' # Name of the item, you can use color codes. Remove if not needed
    Lore:
     - '&c&lThe Cursed Pickaxe' # The lore of the item, it can be multiple lines. Replace with [] if none wanted.
    Effects:
     - 'POISON:20:2' # This is for potion effects, replace with [] if not wanted. The format for this should be "POTION EFFECT:DURATION:AMPLIFIER"
    Hide-Enchants: true # Show enchants on item?
    Enchantments:
     - 'DURABILITY:300' # All the Enchantments are listed at the Top. You can also add as many as you want. Replace with [] if not wanted.
    ItemCrafting:
      # X Stands for Air, do NOT include X in the 'ingredients' below.
     - 'EEE' #First row in the crafting table
     - 'XIX' #Second row in the crafting table
     - 'XIX' #Third row in the crafting table
    Ingredients:
      # Format: LETTER:ITEMID:AMOUNT:DISPLAYNAME (Color Codes Included)
      # REMOVE LAST PART IF NO CUSTOM NAME WANTED.
     - 'E:EMERALD:1:Emerald Essence' # E Stands for emerald.
     - 'I:IRON_INGOT:1:Iron Essence' # I Stands for iron ingot.
#    Attribute:
# Adds a given amount of a specified attribute to the custom item.
#     - ATTRIBUTE:AMOUNT:SLOT
  CursedSword:
    Enabled: true
    Item: 'DIAMOND_SWORD'
    Item-Damage: 'none'
    Amount: 1
    Shapeless: true
    Identifier: 'CURSED_SWORD'
    Permission: 'crecipe.recipe.cursedsword'
    Name: '&eCursed Sword'
    Lore:
     - '&fThe Cursed Sword'
    Effects:
     - 'POISON:20:2'
    Hide-Enchants: true
    Enchantments:
     - 'DURABILITY:300'
    ItemCrafting:
     - 'DDD'
     - 'XPX'
     - 'XPX'
    Ingredients:
     - 'D:DIAMOND:1:Diamond Shrine'
     - 'P:OAK_PLANKS:1:Wooden Board'
NOTE: Keeping 'Custom-Tagged' turned on does add an NBT tag to your recipe, which may result in this item not being able to stack with regular vanilla items. Turn to false to resolve this issue.
----------, May 6, 2023

ADDED equipment slot argument to the attribute modifier in the config.
FIXED the NBT tag that stopped vanilla recipe results from stacking. Remove the 'identifier' section in the configuration to resolve this. Set 'Custom-Tagged' to false.
FIXED the way the configuration sections were checked. Most strings can be completely removed now in the config, except for string lists.

I will be fully implementing ingredient amounts soon as well as finishing the GUI. This will likely cause a need for a restructure of my code, which will be done as well. Please be patient as I am pretty busy as of now.

Thank you and let me know what you guys think.
Code (Text):
#    Attribute:
# Adds a given amount of a specified attribute to the custom item.
#     - ATTRIBUTE:AMOUNT:SLOT
Code (Text):
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# CustomRecipe remastered by MehBoss                                                                #
# Version v1.5.8                                                                                    #
#                                                                                                   #
# If you find a bug, send me a PM and it will be fixed! :)                                          #
#                                                                                                   #
# For MC 1.14+ add 'Custom-Model-Data: INT' to your recipe for utilization                          #
#                                                                                                   #        
#    Enchant Strings:                                                                               #
# http://pastebin.com/AWtKQ5UH                                                                      #
#    Effects:                                                                                       #
# https://hub.spigotmc.org/javadocs/spigot/org/bukkit/potion/PotionEffect.html                      #
#    Attributes:                                                                                    #
# https://hub.spigotmc.org/javadocs/spigot/org/bukkit/attribute/Attribute.html                      #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
Items:
  CursedPick:
    Enabled: true # Whether or not this recipe is enabled
    Item: 'DIAMOND_PICKAXE' # Item ID
    Item-Damage: 'none' # Used for when you need a specific type of item with a "19/00" or "13:4". leave to none if non exists.
    Amount: 1 # When you craft this item, this is the amount you will get from it.
    Durability: '100' # 1-100. Remove section if not needed.
    Shapeless: false # Whether or not you want it to have specific order in crafting
    Identifier: 'CURSED_PICKAXE' # Give your new recipe an identifier :). Remove if not needed. Tags item with NBT tag.
    Permission: 'crecipe.recipe.cursedpick' # Give a player this permission to allow them to craft this item. Remove section if no permission wanted.
    Name: '&4&lCursed Pick' # Name of the item, you can use color codes. Remove if not needed
    Lore:
     - '&c&lThe Cursed Pickaxe' # The lore of the item, it can be multiple lines. Replace with [] if none wanted.
    Effects:
     - 'POISON:20:2' # This is for potion effects, replace with [] if not wanted. The format for this should be "POTION EFFECT:DURATION:AMPLIFIER"
    Hide-Enchants: true # Show enchants on item?
    Enchantments:
     - 'DURABILITY:300' # All the Enchantments are listed at the Top. You can also add as many as you want. Replace with [] if not wanted.
    ItemCrafting:
      # X Stands for Air, do NOT include X in the 'ingredients' below.
     - 'EEE' #First row in the crafting table
     - 'XIX' #Second row in the crafting table
     - 'XIX' #Third row in the crafting table
    Ingredients:
      # Format: LETTER:ITEMID:AMOUNT:DISPLAYNAME (Color Codes Included)
      # REMOVE LAST PART IF NO CUSTOM NAME WANTED.
     - 'E:EMERALD:1:Emerald Essence' # E Stands for emerald.
     - 'I:IRON_INGOT:1:Iron Essence' # I Stands for iron ingot.
#    Attribute:
# Adds a given amount of a specified attribute to the custom item.
#     - ATTRIBUTE:AMOUNT:SLOT
  CursedSword:
    Enabled: true
    Item: 'DIAMOND_SWORD'
    Item-Damage: 'none'
    Amount: 1
    Shapeless: true
    Identifier: 'CURSED_SWORD'
    Permission: 'crecipe.recipe.cursedsword'
    Name: '&eCursed Sword'
    Lore:
     - '&fThe Cursed Sword'
    Effects:
     - 'POISON:20:2'
    Hide-Enchants: true
    Enchantments:
     - 'DURABILITY:300'
    ItemCrafting:
     - 'DDD'
     - 'XPX'
     - 'XPX'
    Ingredients:
     - 'D:DIAMOND:1:Diamond Shrine'
     - 'P:OAK_PLANKS:1:Wooden Board'
----------, May 6, 2023

ADDED the option to add attribute modifiers to your custom items. This feature does not come by default and must be added into your item manually per the config. Details are found below. You must do research on how to do this, but it should allow you to add specific attack damage, generic armor, etc.

Attributes can be found HERE.

I have not tested this feature and I think I have implemented it correctly. If you have any issues with it, please PM me and let me know. I will be more than happy to assist.

ADDED an API to CustomRecipes as a feature for a plugin that I should be releasing soon to utilize custom items in other plugins. API details upon request.

Thank you. Any problems or questions should be mentioned via PM or the discussion tab. I also appreciate reviews!

Add the field below to your custom recipe to utilize the attribute feature:
Code (Text):
    Attribute:
# Adds a given amount of a specified attribute to the custom item.
     - ATTRIBUTE, AMOUNT
Code (Text):
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# CustomRecipe remastered by MehBoss                                                                #
# Version v1.5.7                                                                                    #
#                                                                                                   #
# If you find a bug, send me a PM and it will be fixed! :)                                          #
#                                                                                                   #
# For MC 1.14+ add 'Custom-Model-Data: INT' to your recipe for utilization                          #
#                                                                                                   #      
#    Enchant Strings:                                                                               #
# http://pastebin.com/AWtKQ5UH                                                                      #
#    Effects:                                                                                       #
# https://hub.spigotmc.org/javadocs/spigot/org/bukkit/potion/PotionEffect.html                      #
#    Attributes:                                                                                    #
# https://hub.spigotmc.org/javadocs/spigot/org/bukkit/attribute/Attribute.html                      #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
Items:
  CursedPick:
    Enabled: true # Whether or not this recipe is enabled
    Item: 'DIAMOND_PICKAXE' # Item ID
    Item-Damage: 'none' # Used for when you need a specific type of item with a "19/00" or "13:4". leave to none if non exists.
    Amount: 1 # When you craft this item, this is the amount you will get from it.
    Durability: '100' # 1-100. Remove section if not needed.
    Shapeless: false # Whether or not you want it to have specific order in crafting
    Identifier: 'CURSED_PICKAXE' # Give your new recipe an identifier :)
    Permission: 'crecipe.recipe.cursedpick' # Give a player this permission to allow them to craft this item. Remove section if no permission wanted.
    Name: '&4&lCursed Pick' # Name of the item, you can use color codes. Remove if not needed
    Lore:
     - '&c&lThe Cursed Pickaxe' # The lore of the item, it can be multiple lines. Remove section if no lore wanted.
    Effects:
     - 'POISON:20:2' # This is for potion effects, remove section if not needed. The format for this should be "POTION EFFECT:DURATION:AMPLIFIER"
    Hide-Enchants: true # Show enchants on item?
    Enchantments:
     - 'DURABILITY:300' # All the Enchantments are listed at the Top. You can also add as many as you want. Remove section if no enchant wanted.
    ItemCrafting:
      # X Stands for Air, do NOT include X in the 'ingredients' below.
     - 'EEE' #First row in the crafting table
     - 'XIX' #Second row in the crafting table
     - 'XIX' #Third row in the crafting table
    Ingredients:
      # Format: LETTER:ITEMID:AMOUNT:DISPLAYNAME (Color Codes Included)
      # REMOVE LAST PART IF NO CUSTOM NAME WANTED.
     - 'E:EMERALD:1:Emerald Essence' # E Stands for emerald.
     - 'I:IRON_INGOT:1:Iron Essence' # I Stands for iron ingot.
#    Custom-Model-Data: '1010'
    Attribute:
     - GENERIC_ATTACK_DAMAGE, 4
  CursedSword:
    Enabled: true
    Item: 'DIAMOND_SWORD'
    Item-Damage: 'none'
    Amount: 1
    Shapeless: true
    Identifier: 'CURSED_SWORD'
    Permission: 'crecipe.recipe.cursedsword'
    Name: '&eCursed Sword'
    Lore:
     - '&fThe Cursed Sword'
    Effects:
     - 'POISON:20:2'
    Hide-Enchants: true
    Enchantments:
     - 'DURABILITY:300'
    ItemCrafting:
     - 'DDD'
     - 'XPX'
     - 'XPX'
    Ingredients:
     - 'D:DIAMOND:1:Diamond Shrine'
     - 'P:OAK_PLANKS:1:Wooden Board'
----------, May 3, 2023

FIXED item effects not working if the item name didn't match the recipe name.
ADDED bStats statistics util to view plugin-related statistics. Toggle this setting in the bStats folder.

ADDED the ability to set custom model data to your recipe results.


This is NOT generated in the config.yml automatically and is only available for MC 1.14 and NEWER!

To take advantage of this feature you MUST add the following to your recipe in your config.yml
Custom-Model-Data: 'INT' (where INT is replaced with your model data).
Code (Text):
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# CustomRecipe remastered by MehBoss                                                                #
# Version v1.5.6                                                                                    #
#                                                                                                   #
# If you find a bug, send me a PM and it will be fixed! :)                                          #
#                                                                                                   #
# For MC 1.14+ add 'Custom-Model-Data: INT' to your recipe for utilization                          #
#                                                                                                   #      
#    Enchant Strings:                                                                               #
# http://pastebin.com/AWtKQ5UH                                                                      #
#    Effects:                                                                                       #
# https://hub.spigotmc.org/javadocs/spigot/org/bukkit/potion/PotionEffect.html                      #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
Items:
  CursedSword:
    Enabled: true
    Item: 'DIAMOND_SWORD'
    Item-Damage: 'none'
    Amount: 1
    Shapeless: true
    Identifier: 'CURSED_SWORD'
    Custom-Model-Data: '1010'
    Permission: 'crecipe.recipe.cursedsword'
    Name: '&eCursed Sword'
    Lore:
     - '&fThe Cursed Sword'
    Effects:
     - 'POISON:20:2'
    Hide-Enchants: true
    Enchantments:
     - 'DURABILITY:300'
    ItemCrafting:
     - 'DDD'
     - 'XPX'
     - 'XPX'
    Ingredients:
     - 'D:DIAMOND:1:Diamond Shrine'
     - 'P:OAK_PLANKS:1:Wooden Board'

----------, Apr 3, 2023

FIXED an issue when attempting to reload the plugin in-game and added a configurable message to messages.yml which can be found below.
FIXED an issue when making changes to the recipe name followed by a reload. It was duplicating the list of active recipes when using /crecipe list.

Add the line below to your messages.yml inside the 'Messages:' section
Code (Text):
  Reloading: '&cReloading.. please wait'
----------, Mar 9, 2023

ADDED shapeless recipes. In the config, change your recipe to be shapeless! You are able to craft your recipe in any given order to create a result
ADDED enhancements for checking item materials. This allows the implementation of previous version materials to still work on newer versions. If anything is wrong, it will print to the console.
ADDED custom NBT tags to stop players from simply renaming materials in an anvil! This is also an option labeled "Identifier" in the config!
ADDED the command /edititem key [key] to add the nbt tag to your item in hand for testing purposes (in case you wanted to test it using an anvil yourself)
ADDED an optional chat and action bar message that is triggered when someone attempts to craft an item for which they do not have the required permission.
FIXED the update checker still printing notifications even if it was disabled in the config.
SEPARATED the message configurations from being stored with the recipes

Code (Text):
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# CustomRecipe remastered by MehBoss                                                                #
# Version v1.5                                                                                      #
#                                                                                                   #    
# If you find a bug, send me a PM and it will be fixed! :)                                          #
#                                                                                                   #          
#    Enchant Strings:                                                                               #
# http://pastebin.com/AWtKQ5UH                                                                      #
#    Effects:                                                                                       #
# https://hub.spigotmc.org/javadocs/spigot/org/bukkit/potion/PotionEffect.html                      #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
Items:
  CursedPick: # This must match the item name minus "&" or spaces. Without doing so, your item effects will NOT work!
    Enabled: true # Whether or not this recipe is enabled
    Item: 'DIAMOND_PICKAXE' # Item ID
    Item-Damage: 'none' # Used for when you need a specific type of item with a "19/00" or "13:4". leave to none if non exists.
    Amount: 1 # When you craft this item, this is the amount you will get from it.
    Durability: '100' # 1-100. Remove section if not needed.
    Shapeless: false # Whether or not you want it to have specific order in crafting
    Identifier: 'CURSED_PICKAXE' # Give your new recipe an identifier :)
    Permission: 'crecipe.recipe.cursedpick' # Give a player this permission to allow them to craft this item. Remove section if no permission wanted.
    Name: '&4&lCursed Pick' # Name of the item, you can use color codes. Remove if not needed
    Lore:
     - '&c&lThe Cursed Pickaxe' # The lore of the item, it can be multiple lines. Remove section if no lore wanted.
    Effects:
     - 'POISON:20:2' # This is for potion effects, remove section if not needed. The format for this should be "POTION EFFECT:DURATION:AMPLIFIER"
    Hide-Enchants: true # Show enchants on item?
    Enchantments:
     - 'DURABILITY:300' # All the Enchantments are listed at the Top. You can also add as many as you want. Remove section if no enchant wanted.
    ItemCrafting:
      # X Stands for Air, do NOT include X in the 'ingredients' below.
     - 'EEE' #First row in the crafting table
     - 'XIX' #Second row in the crafting table
     - 'XIX' #Third row in the crafting table
    Ingredients:
      # Format: LETTER:ITEMID:AMOUNT:DISPLAYNAME (Color Codes Included)
      # REMOVE LAST PART IF NO CUSTOM NAME WANTED.
     - 'E:EMERALD:1:Emerald Essence' # E Stands for emerald.
     - 'I:IRON_INGOT:1:Iron Essence' # I Stands for iron ingot.
  CursedSword:
    Enabled: true
    Item: 'DIAMOND_SWORD'
    Item-Damage: 'none'
    Amount: 1
    Shapeless: true
    Identifier: 'CURSED_SWORD'
    Permission: 'crecipe.recipe.cursedsword'
    Name: '&eCursed Sword'
    Lore:
     - '&fThe Cursed Sword'
    Effects:
     - 'POISON:20:2'
    Hide-Enchants: true
    Enchantments:
     - 'DURABILITY:300'
    ItemCrafting:
     - 'DDD'
     - 'XPX'
     - 'XPX'
    Ingredients:
     - 'D:DIAMOND:1:Diamond Shrine'
     - 'P:OAK_PLANKS:1:Wooden Board'
Code (Text):
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# CustomRecipe remastered by MehBoss                                                                #
# MESSAGES CONFIG                                                                                   #
#                                                                                                   #      
# If you find a bug, send me a PM and it will be fixed! :)                                          #
#                                                                                                   #            
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
Debug: false
Messages:
  Invalid-Args: '&cInvalid args! (use: /crecipe give <player> <recipename> [amount])'
  Invalid-Perms: '&cYou are not allowed to use this command!'
  Player-Not-Found: '&cERROR: player not found!'
  Recipe-Not-Found: '&cERROR: recipe not found!'
  Inventory-Full: '&cERROR: target''s inventory is full!'
  Give-Recipe: '&aSuccessfully given player item!'
  Reload: '&aSuccessfully reloaded Custom Recipes!'
  Update-Check: true
action-bar:
  enabled: 'true'
  message: '&4You are not allowed to craft this item!'
chat-message:
  enabled: 'true'
  message: '&cYou must be a donor to craft this recipe!'
add:
  Add-Recipe: '&cPlease type the display name of the recipe you would like to add!'
  Recipe-Capture: '&cCaptured desired new recipe name! Opening menu..'
  Title: '&e%recipe% (ADDING RECIPE)'
gui:
  Open-Sound: CLICK
  Open-Message: '&aOpening menu..'
  Displayname: '&cRecipe Manager - Page %page%'

COMING SOON:
  • Fully finished and working GUI
  • Implementation of custom enchantments
  • Implementation of ingredient amounts
----------, Feb 27, 2023

I am sorry for the wait on this fix. I had to recode some sections, add version checks, add NameSpacedKeys to newer versions, and implement checks for different things. This update has been tested in both paper and regular spigot. Versions 1.8.x to 1.19.x. If you have any issues with anything at all please please please feel free to PM me with your issues or concerns as I keep this up to date.

ADDED debug mode to help diagnose issues within the plugin (/crecipe debug)
ADDED official support for paper spigot
ADDED material checks and null checks that will log into the console if issues are found with material IDs.
ADDED help page (/crecipe)
ADDED update checker for custom recipes. This notification upon joining (only for OPs) can be toggled in the config.
ADDED namedspacekey identifier for your recipes in the config for spigot 1.12+. This is NOT an NBT and is simply an identifier for your recipes.
ADDED recipe list (/crecipe list) which shows all custom recipes currently active
FIXED errors within the code for newer versions
FIXED display name check and fixed spaghetti code =-)

permissions are as follows:
[​IMG]

Custom Recipes was built using spigot 1.8. You are required to update your material in one of the configs for the plugin to function properly for newer versions. If this is needed, you will see the following message in console:
[​IMG]
----------, Aug 14, 2022

FIXED a small bug within the code that was disabling the plugin.
REMINDER on newer MC versions you MUST update your item ID using either ENUMS or updated IDs as well as the SOUNDS.

Thank you for using customrecipes. Should you encounter any issues please PM me or use the discussion tab.
----------, Aug 8, 2022

ADDED the ability to disable vanilla recipes. Upon updating the plugin, a new config will appear called "blacklisted". Here you can add vanilla recipes (USE ITEM ENUM) to disable. You can also define specific permissions instead of just simply disabling that recipe for everyone on the server. Remove the entire permission section if it is not needed. You may define messages either in chat or via the action bar to send them a notice if they can not craft the disabled recipe.
ADDED invalid-perms section in the config
REPLACED permission crecipe.admin with crecipe.reload (/crecipe reload) and crecipe.give (/crecipe give)
FIXED a bug that disabled every vanilla recipe upon using /crecipe reload
FIXED a duplicate invalid permissions message
REMINDER: You must make sure the sounds defined in the config correspond with your server version or you WILL get errors and the plugin will NOT work correctly.

Code (Text):
########################################################################
# THIS CONFIG IS USED ONLY FOR VANILLA RECIPES                         #
# YOU MAY BLACKLIST ANY VANILLA RECIPE OF YOUR CHOICE                  #
# YOU MAY MAKE IT SO THEY MUST HAVE THE REQUIRED PERMISSION TO CRAFT   #
#                                                                      #
# MADE BY MEHBOSS                                                      #
# GUI MADE FOR ENHANCED USER FRIENDLINESS (coming soon)                #
#                                                                      #
########################################################################
blacklist-recipes: true
action-bar:
  enabled: 'true'
  message: '&4You are not allowed to craft this item!'
chat-message:
  enabled: 'true'
  message: '&cYou must be a donor to craft this recipe!'
recipes:
# item ID for soup
  "282":
# permission will then be crecipe.soup in order to craft this vanilla recipe. remove section if not needed.
    permission: 'soup'
Code (Text):
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# CustomRecipe remastered by MehBoss                                                                #
# Version v1.4                                                                                      #
#                                                                                                   #      
# If you find a bug, send me a PM and it will be fixed! :)                                          #
#                                                                                                   #            
#    Enchant Strings:                                                                               #
# http://pastebin.com/AWtKQ5UH                                                                      #
#    Effects:                                                                                       #
# https://hub.spigotmc.org/javadocs/spigot/org/bukkit/potion/PotionEffect.html                      #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
Messages:
  Invalid-Args: '&cInvalid args! (use: /crecipe give <player> <recipename>)'
  Invalid-Perms: '&cYou are not allowed to use this command!'
  Player-Not-Found: '&cERROR: player not found!'
  Recipe-Not-Found: '&cERROR: recipe not found!'
  Inventory-Full: '&cERROR: target''s inventory is full!'
  Give-Recipe: '&aSuccessfully given player item!'
  Reload: '&aSuccessfully reloaded Custom Recipes!'
action-bar:
  enabled: 'true'
  message: '&4You are not allowed to craft this item!'
chat-message:
  enabled: 'true'
  message: '&cYou must be a donor to craft this recipe!'
 
GUI:
  Open-Sound: CLICK
  Open-Message: '&aOpening menu..'
  Displayname: '&cRecipe Manager'
ADD:
  Add-Recipe: '&cPlease type the display name of the recipe you would like to add!'
  Recipe-Capture: '&cCaptured desired new recipe name! Opening menu..'
  Menu-Title: '&e%recipe% (ADDING RECIPE)'
Items:
  CursedPick:
      # This must match the item name minus "&" or spaces. Without doing so, your item effects will NOT work!
    Item: 278
      # Item ID
    Permission: 'customrecipe.recipe.cursedpick'
      # Give a player this permission to allow them to craft this item. Remove section if no permission wanted.
    Item-Damage: 'none'
      # Used for when you need a specific type of item with a "19/00" or "13:4". leave to none if non exists.
    Amount: 1
      # When you craft this item, this is the amount you will get from it.
    Name: '&4&lCursed Pick'
      # Name of the Item, you can use Color Codes!
      # Remove section if no custom name wanted.
    Lore:
     - '&c&lThe Cursed Pickaxe'
      # The lore of the item, it can be multiple lines.
      # Remove section if no lore wanted.
    Effects:
     - 'POISON:20:2'
      # This is for potion effects, remove section if not needed.
      # The format for this should be "POTION EFFECT:DURATION:AMPLIFIER"
    Hide-Enchants: true
    Enchantments:
     - 'DURABILITY:300'
      # All the Enchantments are listed at the Top. You can also add as many as you want
      # Remove section if no enchant wanted.
    ItemCrafting:
      # X Stands for Air, do NOT include X in the 'ingredients' below.
     - 'EEE' #First row in the crafting table
     - 'XIX' #Second row in the crafting table
     - 'XIX' #Third row in the crafting table
    Ingredients:
      # Format: LETTER:ITEMID:AMOUNT:DISPLAYNAME (Color Codes Included)
      # REMOVE LAST PART IF NO CUSTOM NAME WANTED.
     - 'E:388:1:Emerald Essence'
      # E Stands for Emerald because 388 is the ItemID for emerald.
      # Format: LETTER:ITEMID:DISPLAYNAME (Color Codes Included)
      # REMOVE LAST PART IF NO CUSTOM NAME WANTED.
     - 'I:265:1:Iron Essence'
      # I Stands for Iron because 265 is the ItemID for iron ingot.
      # Format: LETTER:ITEMID:DISPLAYNAME (Color Codes Included)
      # REMOVE LAST PART IF NO CUSTOM NAME WANTED.

Enhanced GUI for both adding/removing/editing custom recipes in the works. The GUI for disabling normal vanilla recipes is also in the works. Please be patient. If you have any issues with these resource updates or have ideas for new features PLEASE feel free to reach out to me via PM or the discussion tab.
NBT tags are also in the works. :)
----------, Aug 7, 2022

  • Updated to allow support for paper spigot versions. I have tested this and all seems to work perfectly. The method I have used is deprecated, so there may be a notice in the console. Disregard.
  • Fixed errors in the console
NOTE (only for paper spigot): In your configuration, use ENUMS instead of the ITEM ID!!! EXAMPLE: DIAMOND_PICKAXE instead of 278.

CONFIG:
Code (Text):
Items:
  CursedPick:
      # This must match the item name minus "&" or spaces. Without doing so, your item effects will NOT work!
    Item: DIAMOND_PICKAXE
      # Item ID
    Permission: 'customrecipe.recipe.cursedpick'
      # Give a player this permission to allow them to craft this item. Remove section if no permission wanted.
    Item-Damage: 'none'
      # Used for when you need a specific type of item with a "19/00" or "13:4". leave to none if non exists.
    Amount: 1
      # When you craft this item, this is the amount you will get from it.
    Name: '&4&lCursed Pick'
      # Name of the Item, you can use Color Codes!
      # Remove section if no custom name wanted.
    Lore:
     - '&c&lThe Cursed Pickaxe'
      # The lore of the item, it can be multiple lines.
      # Remove section if no lore wanted.
    Effects:
     - 'POISON:20:2'
      # This is for potion effects, remove section if not needed.
      # The format for this should be "POTION EFFECT:DURATION:AMPLIFIER"
    Hide-Enchants: true
    Enchantments:
     - 'DURABILITY:300'
      # All the Enchantments are listed at the Top. You can also add as many as you want
      # Remove section if no enchant wanted.
    ItemCrafting:
      # X Stands for Air, do NOT include X in the 'ingredients' below.
     - 'EEE' #First row in the crafting table
     - 'XIX' #Second row in the crafting table
     - 'XIX' #Third row in the crafting table
    Ingredients:
      # Format: LETTER:ITEMID:AMOUNT:DISPLAYNAME (Color Codes Included)
      # REMOVE LAST PART IF NO CUSTOM NAME WANTED.
     - 'E:EMERALD:1'
      # E Stands for Emerald because 388 is the ItemID for emerald.
      # Format: LETTER:ITEMID:DISPLAYNAME (Color Codes Included)
      # REMOVE LAST PART IF NO CUSTOM NAME WANTED.
     - 'I:IRON_INGOT:1'
      # I Stands for Iron because 265 is the ItemID for iron ingot.
      # Format: LETTER:ITEMID:DISPLAYNAME (Color Codes Included)
      # REMOVE LAST PART IF NO CUSTOM NAME WANTED.
----------, Jun 25, 2022

  • Fixed some bug issues. As always, if you have any issues feel free to PM me with a full error and your configuration so I can assist you in the best possible way.
----------, Apr 9, 2022

In today's update (v1.3):
  • Added the ability to add potion effects within the config such as poison, hunger, or any other potion effect you would like to add. I have supplied the effect IDs in the config, be sure to use the correct IDs for the correct version you are running the plugin on or you WILL get errors! I have tested these features and have had no problem so if you come across a problem, please PM me before leaving a review.
  • Added a command to reload the configuration. Plugman is no longer needed to do the dirty work. Command is as follows: '/crecipe reload'. The permission for this is 'crecipe.reload'.
  • Added the ability to hide enchantments on your custom recipe. Update your config or you will not get this feature. 'Hide-Enchants: true/false'
  • Removed the /crecipe command that opened the GUI. The reason for this is that I have been getting PMs about errors regarding this because I have not finished this feature. It will take a bit of work on my end to get all the features added to the menu so please give me some time to work on this huge feature!
Thank you guys for the wait on these features, as always, if you have any suggestions on features or problems with Custom Recipes, please do not hesitate to shoot me a message.

New Configuration:
Reminder: If you have custom recipes already you do not have to delete your current configuration. Just add in the new sections to your current one. Don't forget to match the custom recipe identifier with the item display name (see above).

Code (Text):
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# CustomRecipe remastered by MehBoss                                                                #
# Version v1.3                                                                                      #
#                                                                                                   #    
# If you find a bug, send me a PM and it will be fixed! :)                                          #
#                                                                                                   #          
#    Enchant Strings:                                                                               #
# http://pastebin.com/AWtKQ5UH                                                                      #
#    Effects:                                                                                       #
# https://hub.spigotmc.org/javadocs/spigot/org/bukkit/potion/PotionEffect.html                      #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
Messages:
  Invalid-Args: '&cInvalid args! (use: /crecipe give <player> <recipename>)'
  Player-Not-Found: '&cERROR: player not found!'
  Recipe-Not-Found: '&cERROR: recipe not found!'
  Inventory-Full: '&cERROR: target''s inventory is full!'
  Give-Recipe: '&aSuccessfully given player item!'
  Reload: '&aSuccessfully reloaded Custom Recipes!'
GUI:
  Open-Sound: CLICK
  Open-Message: '&aOpening menu..'
  Displayname: '&cRecipe Manager'
  Add-Displayname: '&aAdd Recipe'
Items:
  CursedPick:
      # This must match the item name minus "&" or spaces. Without doing so, your item effects will NOT work!
    Item: 278
      # Item ID
    Permission: 'customrecipe.recipe.cursedpick'
      # Give a player this permission to allow them to craft this item. Remove section if no permission wanted.
    Item-Damage: 'none'
      # Used for when you need a specific type of item with a "19/00" or "13:4". leave to none if non exists.
    Amount: 1
      # When you craft this item, this is the amount you will get from it.
    Name: '&4&lCursed Pick'
      # Name of the Item, you can use Color Codes!
      # Remove section if no custom name wanted.
    Lore:
     - '&c&lThe Cursed Pickaxe'
      # The lore of the item, it can be multiple lines.
      # Remove section if no lore wanted.
    Effects:
     - 'POISON:20:2'
      # This is for potion effects, remove section if not needed.
      # The format for this should be "POTION EFFECT:DURATION:AMPLIFIER"
    Hide-Enchants: true
    Enchantments:
     - 'DURABILITY:300'
      # All the Enchantments are listed at the Top. You can also add as many as you want
      # Remove section if no enchant wanted.
    ItemCrafting:
      # X Stands for Air, do NOT include X in the 'ingredients' below.
     - 'EEE' #First row in the crafting table
     - 'XIX' #Second row in the crafting table
     - 'XIX' #Third row in the crafting table
    Ingredients:
      # Format: LETTER:ITEMID:AMOUNT:DISPLAYNAME (Color Codes Included)
      # REMOVE LAST PART IF NO CUSTOM NAME WANTED.
     - 'E:388:1:Emerald Essence'
      # E Stands for Emerald because 388 is the ItemID for emerald.
      # Format: LETTER:ITEMID:DISPLAYNAME (Color Codes Included)
      # REMOVE LAST PART IF NO CUSTOM NAME WANTED.
     - 'I:265:1:Iron Essence'
      # I Stands for Iron because 265 is the ItemID for iron ingot.
      # Format: LETTER:ITEMID:DISPLAYNAME (Color Codes Included)
      # REMOVE LAST PART IF NO CUSTOM NAME WANTED.

----------, Feb 21, 2022

  • FIXED - User reported duplicated crafting recipes which prohibited him from being able to enjoy using more than one recipe. This bug has been found, fixed, and tested. It seems to have been fixed.
  • ADDED - I have added a new portion into the config. This feature includes an option to set the amount of a certain item needed. This feature is not fully implemented yet and is not recommended for extreme use just yet... :p
  • NOTE: You should still update your config to avoid errors!
Let me know if any other bugs have been found and I will look into it as soon as possible Thank you!! :)

UPDATED SECTION: (AMOUNT)
Code (Text):
    Ingredients:
      # Format: LETTER:ITEMID:AMOUNT:DISPLAYNAME (Color Codes Included)
      # REMOVE LAST PART IF NO CUSTOM NAME WANTED.
     - 'E:388:1:Emerald Essence'
----------, May 6, 2020

  • Fixed a config typo issue.
  • Implemented per-recipe permissions. This means that you can add a permission in the config that will be required to have in order to craft the specific recipe. Remove the 'permission' section to remove any permission needed.
  • Thank you for the suggestions! Don't forget to contact me for new suggestions or if you have come across any bugs. :)
new config:
Code (Text):
[code]# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# CustomRecipe remastered by MehBoss                                                                #
# Version v1.1.0                                                                                    #
#                                                                                                   #    
# If you find a bug, send me a PM and it will be fixed! :)                                          #
#                                                                                                   #          
#    Enchant Strings:                                                                               #
# http://pastebin.com/AWtKQ5UH                                                                      #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
Messages:
  Invalid-Args: '&cInvalid args! (use: /crecipe give <player> <recipename>)'
  Player-Not-Found: '&cERROR: player not found!'
  Recipe-Not-Found: '&cERROR: recipe not found!'
  Inventory-Full: '&cERROR: target''s inventory is full!'
  Give-Recipe: '&aSuccessfully given player item!'
GUI:
  Open-Sound: CLICK
  Open-Message: '&aOpening menu..'
  Displayname: '&cRecipe Manager'
  Add-Displayname: '&aAdd Recipe'
Items:
  CursedPick:
    Item: 278
      # Item ID
    Permission: 'customrecipe.recipe.cursedpick'
      # Give a player this permission to allow them to craft this item. Removed section if no permission wanted.
    Item-Damage: 'none'
      # Used for when you need a specific type of item with a "19/00" or "13:4". leave to none if non exists.
    Amount: 1
      # When you craft this item, this is the amount you will get from it.
    Name: '&4&lCursed Pick'
      # Name of the Item, you can use Color Codes!
      # Remove section if no custom name wanted.
    Lore:
     - '&c&lThe Cursed Pickaxe'
      # The lore of the item, it can be multiple lines.
      # Remove section if no lore wanted.
    Enchantments:
     - 'DURABILITY:300'
      # All the Enchantments are listed at the Top. You can also add as many as you want
      # Remove section if no enchant wanted.
    ItemCrafting:
      # X Stands for Air, do NOT include X in the 'ingredients' below.
     - 'EEE' #First row in the crafting table
     - 'XIX' #Second row in the crafting table
     - 'XIX' #Third row in the crafting table
    Ingredients:
      # Format: LETTER:ITEMID:DISPLAYNAME (Color Codes Included)
      # REMOVE LAST PART IF NO CUSTOM NAME WANTED.
     - 'E:388:Emerald Essence'
      # E Stands for Emerald because 388 is the ItemID for emerald.
      # Format: LETTER:ITEMID:DISPLAYNAME (Color Codes Included)
      # REMOVE LAST PART IF NO CUSTOM NAME WANTED.
     - 'I:265:Iron Essence'
      # I Stands for Iron because 265 is the ItemID for iron ingot.
      # Format: LETTER:ITEMID:DISPLAYNAME (Color Codes Included)
      # REMOVE LAST PART IF NO CUSTOM NAME WANTED.
Make changes to your config as needed.
----------, Jan 23, 2020

  • This update includes two major bug fixes.
  • The first one being that only one out of many recipes were working.
  • The second one being that there was a mix match in the recipes and the recipe could be made without using correct ingredient names.
  • CustomRecipes should be working bug free as of now. Sorry for the wait and thank you everyone who reported bugs to me! :)
----------, Dec 7, 2019

  • Updated to work on version 1.12.x
  • Does not work on versions higher at this moment.
----------, Aug 9, 2019

  • Fixed the unsafe enchantment bug that wasn't adding the specified enchantments in the config to the item correctly.
  • Added a give custom recipe command (/crecipe give <player> <recipename>)
  • You do not need to be a player to use this command. This will allow for the command to be implemented into special crates if needed.
PLACEHOLDERS:
  • %recipe% - recipe name
  • %player% - target player
----------, Feb 22, 2019

  • Added ability to remove "Name:" from the recipe in the config completely and have it be the default vanilla minecraft material name, this may allow for stacking of items the same type.
----------, Feb 3, 2019

  • Fixed item-Meta problems.
  • Added section called "Item-Damage" in the config. This is the item stack data. For example, if you wanted a specific slab and the item ID would be 29:84848 you can now add "84848" in as the damage and it will make it that specific item. If there is no ":", leave "none" in the damage section.
----------, Feb 3, 2019

Custom Recipes +-+ v1.07
==========================


Fixed a major bug implemented in the last updates to where the display name was not working, and players could still craft the item no matter the displayname.
This plugin is now fully functional! If you find any bugs please contact me via PM. I have done some testing to verify it now works, but very little testing has been done.
This plugin is no longer abandoned. I have decided to continue this plugin and to make updates and bug fixes as needed!!
Code redone: better compactness and "orderly fashion"

COMPLETE RECODE FINISHED
----------, Feb 3, 2019

  • Bug fixes..
  • Increased code compactness.
Check the home page as to why.. NOTE: I may be plopping updates in here & there, one could possibly be a big bug fix so keep in touch! ;)

NOW OPEN SOURCE
-=- CLICK HERE -=-
----------, May 17, 2017

  • I forgot to fix a piece of code + implement something into the last update.. Everything (besides the bug that is in the fixing) is now working.
NOTE: The last resource update is completely useless.
----------, May 11, 2017

  • In this complete recode update, I have fixed a small bug..
  • When the complete recode is finished, the long lasting and furious bug will be gone! (50% completed)
----------, May 11, 2017

  • Fixed a slightly annoying null error, very small update & easy fix.
----------, Apr 24, 2017

  • Fixed a small bug.
----------, Mar 18, 2017

  • Fixed a null point error in console.
----------, Mar 12, 2017

  • Fixed a null pointer exception.

KNOWN BUGS:
  • If you have a custom item (ex: 9 wool in a square named cloth). If you have 8 of the squares wool named cloth and the other square normal wool, you can still craft the custom item. Currently working on a fix.

PROGRESS ON BUG FIX: 100% - updated at 3:13 PM on 2/24/2019.
----------, Feb 26, 2017

  • Fixed console errors.
  • Fixed the custom item displayname problem..
After an hour of trying to figure out what the problem was in PM, the problem has been fixed!
Thanks to ZombieStriker :)
----------, Feb 25, 2017

  • Added 'amount' to the config. When you goto craft the item and put it in the crafting table, your outcome of the recipe together will be a [configured] amount.
  • Made it so you can remove the enchants and lore section if you don't want any on it.
  • You can now remove the ': DISPLAYNAME' if you don't want one required. You should do this if you are using regular MC items without a custom displayname. If you won't, you can't craft the item.
  • Made config pretty
----------, Feb 25, 2017

Resource Information
Author:
----------
Total Downloads: 50,607
First Release: Feb 25, 2017
Last Update: Yesterday at 10:39 PM
Category: ---------------
All-Time Rating:
42 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings