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!
HUGETHANKS 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. ADDEDan 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. CHANGEDthe formatting for the recipes. MOVED the messages.yml into the config.yml
(!) You DO NOTneed 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. (!)
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!