CustomCrafting  |  Advanced Custom Recipe Plugin [1.17.1 - 1.21.1 | Premium] icon

CustomCrafting | Advanced Custom Recipe Plugin [1.17.1 - 1.21.1 | Premium] -----

Custom Crafting, Furnace, Anvil, Stonecutter & more Recipes! NBT support + Advanced features




Changelog
  • #389 - Schedule data loading for PluginIntegrations
    • This should fix data loading for plugin integrations such as ItemsAdder, etc. (ConcurrentModificationException)
    • There are still other similar issue with for example ExecutableItems, that will be addressed in a WolfyUtils update soon.
      For now, you have to enable data.sync in the config.yml to work around these issues.
  • Fix invalid cooking recipe result
Full Changelog: v4.17-beta.4...v4.17-beta.5
----------, Aug 24, 2024

Warning
This update requires the latest WolfyUtils beta !

You can download it from Modrinth: https://modrinth.com/plugin/wolfyutils/versions


Changelog

  • #385 - Fix Grindstone Recipes with empty top/bottom Ingredient
  • #387 - Add 1.21 Crafter Support
  • Fix Campfire not consuming last item in hand
  • Fix disabled vanilla minecraft recipes disappearing from the GUI
Full Changelog: v4.17-beta.3...v4.17-beta.4
----------, Aug 12, 2024

Warning
This update requires the latest WolfyUtils beta !
You can download it from Modrinth: https://modrinth.com/plugin/wolfyutils/version/4.17-beta.4


Changelog

  • #374 — Furnace Listener Rework
    • Fixed improper Experience calculation & drop
  • 83b8383 — Improved Campfire Recipes
    • Better Performance
    • Stacked Ingredients are now fully supported!
    • Removed reliance on NMS
    • Campfire placeholder recipes are no longer present in Bukkit!
  • c7d2a94 — Add data.sync config option to load the data on the main thread
    • Required for plugins that use sync events for item creation (e.g. MMOItems)
  • Fixed Smithing Recipe Enchant merging not ignoring level/item limit
    • This changes the default EnchantMergeAdapter of Smithing Recipes to ignore the enchantment level and item limit.
  • d799d63 — Allow to access Item Editor from the Item Creator
Full Changelog: v4.17-beta.2...v4.17-beta.3
----------, Jun 25, 2024

Warning
This update requires the latest WolfyUtils beta !
You can download it from Modrinth: https://modrinth.com/plugin/wolfyutils/version/4.17-beta.3

Changelog
  • 87b4b8f - Fix invalid HIDE_POTION_EFFECTS flag in 1.20.5+
Full Changelog: v4.17-beta.1...v4.17-beta.2
----------, May 26, 2024

Warning
This update requires the latest WolfyUtils beta !
You can download it from Modrinth: https://modrinth.com/plugin/wolfyutils/version/4.17-beta.2

Recipe / Custom Item Loading
This update makes a couple of changes to the whole loading process of custom items and recipes.

If a recipe or custom item depends on another plugin, that isn't available, it will fail instantly and will not to attempt to load it any further (like it previously did). No verification or anything is done.

If a recipe or custom item depends on plugins that are available, then it makes sure the recipe or custom item is loaded once all its dependencies are available.
Only then it tries to verify the recipe and checks if it is loaded properly.

Additionally, information about pending, failed or invalid recipes can be viewed in-game via the new /recipes info command.
Without any more arguments, this opens a chat interaction menu, that lists all the recipes.
The /recipes info <recipe> command can be used to get info about a specific recipe.


Note
The chat menu is still in a very early state, so it does not yet provide all possible information
For example why a recipe failed to load. This and other info can be found in the logs for now.

Changelog
  • #372 - Implement the WolfyUtils Dependency system
  • #363 - Allow Applying Permisson Condition to Smithing Recipes
  • #364 - No Longer Display Note About Brewing Stand Recipes
  • #373 - Fix Smithing Recipes: Duplication & Empty Ingredient Issue
  • #369 - Update zh_CN.json by @SnowCutieOwO
  • #361 - Update ru_RU.json by @Pavel-Gornov
New Contributors
Full Changelog: v4.16.9.1...v4.17-beta.1
----------, May 24, 2024

This update focuses on fixing many GUI navigation issues, especially the sub menus for editing items inside the Recipe Creator.

Other Bugfixes include: Smithing Recipe deserialisation bug fixes, and an Oraxen Durability fix.


Changelog

  • #357 — Fix ItemCreator not properly applying changes to CustomItems
  • #358 — Fix Custom Durability in ItemCreator
    • Known issue: Custom Durability isn't properly working and doesn't damage items when it is used. That issue will be addressed in a future WolfyUtils update.
  • 9c372b10 — Update Oraxen and fix durability application
  • 7251fda9 — Directly move from the ItemCreator to the Recipe ItemEditor when cancelling
  • 1ec37ad8 — Update Recipe ItemEditor GUI when editing/selecting item
  • 790dd645 — Opening the ItemCreator from the main menu now clears the previous item
  • 9fbf37ea — Reset previous settings when opening the ItemCreator to edit a new item
  • 5c73046a — Don't allow items in empty smithing ingredients
  • 6eb03614 — Fix Smithing Recipe preserve & onlyChangeMaterial properties
  • d5ed0bc8 — Fix ItemEditor 'Edit Item' interaction hint
  • a2a46712 — Fix ingredient choices not applying to RecipeCreator after editing them via the ingredient menu
Full Changelog: v4.16.9...v4.16.9.1
----------, Mar 17, 2024

This update requires the latest WolfyUtils 4.16.15 update! Download it here!

Improved Item Editor

By default, CC detects the source of the item, like Oraxen or MMOItem, etc., but if an item was manipulated manually, or contains multiple third-party plugin options, that system falls apart.
This update adds a new identifier selector to the Item Editor, so you can change the source of the detected stack.
[​IMG]
In this example the Oraxen Amethyst was renamed outside Oraxen, CC detects that the stack is from Oraxen and links to it.
However, we want to keep the changes, so we shift + right-click on the result, and shift + right-click again to open the Item Editor.
Here we select the Bukkit parser, that keeps the item as is, so it is no longer linked to Oraxen, and manual stack changes are kept.

Data Directory Backup
When using the local storage loader (default) a backup is created before the recipe and item configs are upgrade to the new format.
This applies to both the automatic upgrade and manual upgrade using the /recipes save.

The backups are stored as zip files inside the CustomCrafting/data_backups directory.
By default, each backup is kept for 60 days. The old backups are only deleted after the specified duration and only when a new backup was created.

The backup feature can be toggled and configured in the config.yml under local_storage.backup.
keep_for specifies the duration for which to keep the backups. The unit can be MINUTES, HOURS, DAYS, and even SECONDS etc.

Better Lockdown mode visibility
The lockdown command requires a confirmation before actually toggling the mode.

When Lockdown is enabled, then a log message is printed on the first craft attempt after lockdown has been enabled.
Then another message on the first craft attempt every hour.

Changelog
  • Improved Stack Editor with new identifier parser selection
  • #328 — Fix Invalid Smithing Recipe Data Base Slot
  • #334 — Implement StackReferences & Separate CustomItems from external ItemStack references
  • #342 — Fix Smithing Recipe Crafting & Creation
  • #336 — Fix Vanilla Cooking Recipe Placeholders using Result item as source
  • #353 — Add Data Directory Backup For Local Storage
  • 54d5ad4 — Reindex Recipe Book when recipes are validated after their dependencies
  • 5abf142 — Add a lockdown warning
    A log message is printed on the first craft attempt after lockdown has been enabled, then on the first craft attempt every hour.
  • 602e8dc — The lockdown command requires a confirmation now
  • f3e01eb — Fix ShapelessRecipe ingredients failing before validation
  • 6f07c40, 5d99bba — Use the new Result#item methods & remove CustomItem usages
  • e43a7bf — Fix error in NBTMergeAdapter when selected ingredients are empty
  • 9056989 — Fix Anvil Recipe Validator not taking repairTask settings into account
  • 22f66be — Fix recipe book title in de_DE lang
  • 21ac468 — Fix old config files not accepted by validator due to missing original stack
  • cfdf5a2 — Update Cauldron Menu Title when collecting result
  • 483e27c — Replace bukkit recipe when registering in case it already exists
Full Changelog: v4.16.8.5...v4.16.9
----------, Mar 3, 2024

This is a release candidate. If there are no last minute critical bug fixes required, this update will be released tomorrow, with a changelog summarising all the changes since 4.16.8.5.

Data Directory Backup
When using the local storage loader (default) a backup is created before the recipe and item configs are upgrade to the new format.
This applies to both the automatic upgrade and manual upgrade using the /recipes save.

The backups are stored as zip files inside the CustomCrafting/data_backups directory.
By default, each backup is kept for 60 days. The old backups are only deleted after the specified duration and only when a new backup was created.

The backup feature can be toggled and configured in the config.yml under local_storage.backup.
keep_for specifies the duration for which to keep the backups. The unit can be MINUTES, HOURS, DAYS, and even SECONDS etc.

Changelog
  • #353 - Add Data Directory Backup For Local Storage
Full Changelog: v4.16.9-beta.8...v4.16.9-rc.1
----------, Mar 2, 2024

The final beta update for CustomCrafting. All critical issues should be fixed now. Think of this as a release candidate, so this version will become a stable release the next day/s, if no major bug fixes are required.

Remember to update WolfyUtils! Latest: WolfyUtils v4.16.15-beta.12!

Changelog

  • #328 — Fix Invalid Smithing Recipe Data Base Slot
  • cfdf5a2 — Update Cauldron Menu Title when collecting result
  • ff134ea — Use GuiUpdate#inventory instead of #getInventory in CustomRecipeStonecutter
  • 483e27c — Replace bukkit recipe when registering in case it already exists
Full Changelog: v4.16.9-beta.7...v4.16.9-beta.8
----------, Feb 28, 2024

Changelog
  • 54d5ad4 — Reindex Recipe Book when recipes are validated after their dependencies
  • 5abf142 — Add a lockdown warning
    A log message is printed on the first craft attempt after lockdown has been enabled, then on the first craft attempt every hour.
  • 602e8dc — The lockdown command requires a confirmation now
  • f3e01eb — Fix ShapelessRecipe ingredients failing before validation
  • acac090 — Revert RecipeItemStack validator original stack check
Full Changelog: v4.16.9-beta.6...v4.16.9-beta.7
----------, Jan 11, 2024

This is just a quick hotfix update, that adds backwards compatibility with old configs.

Changelog
  • 21ac468 — Fix old config files not accepted by validator due to missing original stack
  • 22f66be — Fix recipe book title in de_DE lang
Full Changelog: v4.16.9-beta.5...v4.16.9-beta.6
----------, Jan 6, 2024

This update REQUIRES the latest WolfyUtils BETA again, due to another breaking change! So make sure to fetch the v4.16.15-beta.6 update from Modrinth!

Changelog

  • #346 — Optional StackReference Identifier
  • e43a7bf — Fix error in NBTMergeAdapter when selected ingredients are empty
  • 9056989 — Fix Anvil Recipe Validator not taking repairTask settings into account
Full Changelog: v4.16.9-beta.4...v4.16.9-beta.5
----------, Jan 2, 2024

Just a quick reupload, because the previous upload was missing the shaded classes like bstats.
----------, Dec 16, 2023

This update finally makes the Item Creator functional again and fixes a huge issue with Smithing Recipes.

This REQUIRES the latest WolfyUtils Beta update, due to a breaking change in the latest update!

Changelog

  • #341 — Item Creator Upgrade to WolfyUtils Beta
  • #342 — Fix Smithing Recipe Crafting & Creation
Full Changelog: v4.16.9-beta.3...v4.16.9-beta.4
----------, Dec 15, 2023

!! Beta Update !!
This is a beta update! It is highly advised to not use it in production or on public servers!It is mostly untested and still very much in development, so breaking changes may occur. Additionally, it may cause game breaking issues (disappearing items, item duplication, config corruption).

There are only a few recommended scenarios where you may use it:
  • Your server is private, and you do not mind game breaking issues (like loosing items, item duplication, config corruption)
  • You want to try the latest version on a test server, help test it and report issue before release.
Either way, you should make a backup of your server/data before installing this beta.

This Update REQUIRES the latest WolfyUtils BETA! Download on Modrinth


Known Issues
  • The ItemCreator is broken and does not apply changes made to an item stack
Changelog
  • #336 - Fix Vanilla Cooking Recipe Placeholders using Result item as source
  • e53d728 - Fix RecipeItemStack not storing new StackReferences in config
  • 6f07c40, 5d99bba - Use the new Result#item methods & remove CustomItem usages
Full Changelog: v4.16.9-beta.2...v4.16.9-beta.3
----------, Nov 19, 2023

!! Beta Update !!
This is a beta update! It is highly advised to not use it in production or on public servers!
It is mostly untested and still very much in development, so breaking changes may occur.
Additionally, it may cause game breaking issues (disappearing items, item duplication, config corruption).

There are only a few recommended scenarios where you may use it:
  • Your server is private, and you do not mind game breaking issues (like loosing items, item duplication, config corruption)
  • You want to try the latest version on a test server, help test it and report issue before release.
Either way, you should make a backup of your server/data before installing this beta.

This Update REQUIRES the latest WolfyUtils beta! Download on Modrinth

Improved Item Editor
By default, CC detects the source of the item, like Oraxen or MMOItem, etc., but if an item was manipulated manually, or contains multiple third-party plugin options, that system falls apart.
This update adds a new identifier selector to the Item Editor, so you can change the source of the detected stack.

[​IMG]

In this example the Oraxen Amethyst was renamed outside Oraxen, CC detects that the stack is from Oraxen and links to it.
However, we want to keep the changes, so we shift + right-click on the result, and shift + right-click again to open the Item Editor.
Here we select the Bukkit parser, that keeps the item as is, so it is no longer linked to Oraxen, and manual stack changes are kept.

Changelog
  • Improved Stack Editor with new identifier parser selection
  • #334 - Implement StackReferences & Separate CustomItems from external ItemStack references
Full Changelog: v4.16.9-beta.1...v4.16.9-beta.2
----------, Oct 31, 2023

This update migrates CustomCrafting to a whole new building system and introduces a multithreaded and improved local storage recipe loader.
Because of all that, there may be issues that I haven't encountered and still need fixing.

The overall goal of the improved loader is making it easier to find issues with recipes, and improving the compatibility with other plugins. For more infos see the changelog.

This beta requires the latest WolfyUtils update ( here )!

Changelog
  • #328 - Fix Invalid Smithing Recipe Data Base Slot
  • #329 - Migration to Gradle
  • #325 - Improved & Multithreaded Recipe Parser and Loader
Full Changelog: v4.16.8.4...v4.16.9-beta.1
----------, Sep 6, 2023

This is a very small bug fix only update, that fixes a critical issue in Smithing Tables happening upon result collection.

Changelog
  • #328 - Fix Invalid Smithing Recipe Data Base Slot
Full Changelog: v4.16.8.4...v4.16.8.5
----------, Sep 6, 2023

Changelog
  • #321 - Fix Smithing Recipes Cross Version (1.19 & 1.20) issues
  • #322 - Only allow empty hand interaction to open Cauldron GUI
  • #323 - Fix Furnace Recipe Cache not taking the Z-Axis into account
Full Changelog: v4.16.8.3...v4.16.8.4
----------, Aug 21, 2023

Changelog
  • #315 - Fix Missing InjectableValue when loading old recipes
  • #316 - Fix Duplicate Bukkit Recipes
  • #318 - Fix incorrect Furnace Results
  • #319 - Fix Duplicate Disable Button In Recipe List
Full Changelog: v4.16.8.2...v4.16.8.3
----------, Aug 15, 2023

Changelog
  • #309 - Add Config Option to toggle vanilla cooking recipe fallback check
  • #307 - Fix NullPointerException in Recipe Condition
  • #308 - Update & Fix Elite Crafting Table Condition Settings
  • #310 - Fix Anvil Recipes ignoring hidden recipes & not checking conditions
  • #311 - Fix recipe priority for various recipe types
Full Changelog: v4.16.8.1...v4.16.8.2
----------, Jul 10, 2023

Changelog
  • #300 - Add Exlude Option to Lore, Book & Banner Merge Adapter
  • #303 - Add Armor Trim Merge Adapter
  • #306 - Add Preserve Trim Option to Smithing Recipe
  • #295 - Fix Error on interactions in Recipe Lookup Menu
  • #297 - Fix Recipe Book Editor Error in 'Add Category/Filter' Menu
  • #299 - Fix Invalid Cooking Recipe Result
  • #301 - Fix Inability to save Smithing Recipes on pre-1.19.4 servers
  • #302 - Fix Invalid Match Result of the Elite Crafting Table Condition
  • #304 - Fix Empty Base/Addition Ingredient causing Anvil Recipe to not load
  • #298 - Fix Campfire Interaction with Buckets, Flint and Steel, and more
  • #305 - Fix duplicate recipe list entry for disabled recipes
Full Changelog: v4.16.8.0...v4.16.8.1
----------, Jul 3, 2023

Hey everyone,
It is time for the proper release of CustomCrafting v4.16.8. The biggest addition since last beta is the Recipe Book Overhaul and a few small bug fixes.
The changelog below will give you an overview over all the changes from the previous betas.
This update requires the latest WolfyUtils v4.16.12 available on GitHub, or CurseForge once approved.

1.20 Changes & NMS Removals

Smithing Recipe Changes

Smithing Recipes created in previous versions of CC will be loaded and converted.
By default, they will require the Netherite Upgrade Template to work. So similar to Netherite upgrade recipes.
You can edit the recipe using the in-game editor and remove the template, so that the recipe works without any template.

  • Smithing Recipes can have empty ingredients now. Leave the slot in the editor empty for that.

Crafting Recipe Changes

The crafting system got a complete overhaul again.
Crafting Recipes will register two Bukkit recipes now:

  • Display recipe, that contains the ingredients with NBT and may be sent to the client's recipe book.
  • Placeholder recipe, that contains the ingredients without NBT and is never send to the client.
Due to the placeholder recipes, it may override vanilla recipes, which then no longer work!
In that scenario, you need to create a custom recipe that is the same as the vanilla recipe and has a lower priority as the other custom recipe.

Campfire Recipe Changes
Campfire recipes are now completely based on Spigots API and no longer use any NMS code like in previous CC versions.
There are no breaking changes here, and it may even work more flawlessly than previously.

Item Type Merge Adapter
The item type merge adapter allows recipes to change the type of the result stack depending on an ingredient.

This is useful for repair/transform recipes, and other similar recipes, where the type of the ingredient should determine the result type.

The ID of the merge adapter is customcrafting:item and acts similar to the other merge adapters, with the difference that it only ever uses the first targeted ingredient slot.

For example, you could create a recipe that converts swords into axes:

Code (YAML):
# HOCON format
target {
  mergeOptions
: [ {
   slots
: [ 4 ]
   adapters
: [ {
     key
: "customcrafting:item"
     typeMappings { # Maps the sword types of the ingredient to a type for the result stack
       wooden_sword = wooden_axe
       stone_sword = stone_axe
       iron_sword  = iron_axe
       golden_sword = golden_axe
       diamond_sword = diamond_axe
      }
    } ]
  } ]
}
For the recipe to work, it of course needs to allow all the different variants of items.
You can do that by shift + right-click on ingredient slots!

This is not meant to replace type specific recipes like for boats, doors, etc.
For those it is still required to create separate recipes, because this can only ever target a single ingredient!

Recipe Book Editor Overhaul

Realiable Editing & Saving
When opening the Editor, it copies the current state of the Recipe Book, and you'll edit the copy from there.
(In comparison, prior to this update, you'd edit the original config directly)

When saving it, it creates a recipe_book_backup.conf of the current config.
It then saves the copy to the recipe_book.conf, which overrides the current config.

Overview Improvements
Each Category/Filter listed has an extra configure button below it that allows you to edit it, or move it to the left/right, to change the order of the categories/filters.

Future Improvements
This is plainly a redesign and bug fix update of the editor.
It still does not cover all the settings available in the recipe_book.conf, so editing the file is still the preferred way.

Changelog
  • Added support for empty ingredients in smithing recipes
  • Added Crafting and Cooking placeholder recipes, that represent the recipe without NBT ingredients.
  • Added docs to cooking listeners and manager adapters
  • Added ICustomVanillaRecipe#toPlaceholder function to create the placeholder keys
  • Added Campfire Listener to replace NMS system
  • Updated Recipe Book Smithing Recipe Menu to 1.20
  • Updated Smithing Recipes to handle templates in 1.20
  • Updated Smithing Recipe Creator to support 1.20 templates
  • Updated paper-api to 1.20
  • Updated to WolfyUtils 4.16.12
  • Fix buggy behaviour (like flickering and duplication) in crafting tables
  • Removed the NMS based crafting system in its entirety
  • #286 – Fix GUI Item Input Buttons deleting stacks on certain interactions
  • #292 - Add Item Type Merge Adapter
  • #290 - Fix Disappearing Ingredients When Using Recipe Book Recipe Completion
  • #294 - Recipe Book Editor Overhaul

Full Changelog: v4.16.7.2...v4.16.8.0

----------, Jun 25, 2023

Item Type Merge Adapter
The item type merge adapter allows recipes to change the type of the result stack depending on an ingredient.

This is useful for repair/transform recipes, and other similar recipes, where the type of the ingredient should determine the result type.

The ID of the merge adapter is customcrafting:item and acts similar to the other merge adapters, with the difference that it only ever uses the first targeted ingredient slot.

For example, you could create a recipe that converts swords into axes:
Code (YAML):
## hocon syntax!
target {
  mergeOptions
: [ {
   slots
: [ 4 ]
   adapters
: [ {
     key
: "customcrafting:item"
     typeMappings { // Maps the sword types of the ingredient to a type for the result stack
       wooden_sword = wooden_axe
       stone_sword = stone_axe
       iron_sword  = iron_axe
       golden_sword = golden_axe
       diamond_sword = diamond_axe
      }
    } ]
  } ]
}
For the recipe to work, it of course needs to allow all the different variants of items.
You can do that by shift + right-click on ingredient slots!

This is not meant to replace type specific recipes like for boats, doors, etc.
For those it is still required to create separate recipes, because this can only ever target a single ingredient!

Changelog
  • #292 - Add Item Type Merge Adapter
  • #288 - Fix Recipe Book Title Update Error Upon Reopening
  • #290 - Fix Disappearing Ingredients When Using Recipe Book Recipe Completion
  • #291 - Fix Invalid Ingredient slots in 1.19 Smithing Recipes
Full Changelog: v4.16.8-beta.2...v4.16.8-beta.3
----------, Jun 23, 2023

Changelog
  • #283 – Fix not being able to re-enable recipes
  • #284 – Fix PlayerInteractEvent error on right-clicking blocks
  • #285 – Fix vanilla smithing recipes not working at all
  • #286 – Fix GUI Item Input Buttons deleting stacks on certain interactions
Full Changelog: v4.16.8-beta.1...v4.16.8-beta.2
----------, Jun 20, 2023

This update requires the latest beta of WolfyUtils from GitHub here
This is a beta release, it is not guaranteed to work reliably.

Smithing Recipe Changes
Smithing Recipes created in previous versions of CC will be loaded and converted.
By default, they will require the Netherite Upgrade Template to work. So similar to Netherite upgrade recipes.
You can edit the recipe using the in-game editor and remove the template, so that the recipe works without any template.
  • Smithing Recipes can have empty ingredients now. Leave the slot in the editor empty for that.
Crafting Recipe Changes
The crafting system got a complete overhaul again.
Crafting Recipes will register two Bukkit recipes now:
  • Display recipe, that contains the ingredients with NBT and may be sent to the client's recipe book.
  • Placeholder recipe, that contains the ingredients without NBT and is never send to the client.
Due to the placeholder recipes, it may override vanilla recipes, which then no longer work!
In that scenario, you need to create a custom recipe that is the same as the vanilla recipe and has a lower priority as the other custom recipe.

Campfire Recipe Changes
Campfire recipes are now completely based on Spigots API and no longer use any NMS code like in previous CC versions.
There are no breaking changes here, and it may even work more flawlessly than previously.

Changelog
  • Added support for empty ingredients in smithing recipes
  • Added Crafting and Cooking placeholder recipes, that represent the recipe without NBT ingredients.
  • Added docs to cooking listeners and manager adapters
  • Added ICustomVanillaRecipe#toPlaceholder function to create the placeholder keys
  • Added Campfire Listener to replace NMS system
  • Updated Recipe Book Smithing Recipe Menu to 1.20
  • Updated Smithing Recipes to handle templates in 1.20
  • Updated Smithing Recipe Creator to support 1.20 templates
  • Updated paper-api to 1.20
  • Updated to WolfyUtils 4.16.12
  • Fix buggy behaviour (like flickering and duplication) in crafting tables
  • Removed the NMS based crafting system in its entirety
Full Changelog: v4.16.7.2...v4.16.8-beta.1
----------, Jun 19, 2023

Hey,
here is another update with a few improvements and bug fixes that were long overdue.

Firstly, CC no longer tries to load hidden files as recipes, because system files are not really recipes...
That means for everyone running the server on macOS, it ignores the ' .DS_Store' file, and should no longer crash.

The other big improvement should make crafting a lot smoother and less glitchy, and fix duplication issues.
Please let me know if you do encounter any issues, as those parts are prone to tons of edge cases that can cause issues.

Changelog
  • #276 - Only Load Recipes/Items from visible & valid Files
  • #275 - Collecting Grindstone results is no longer ignored in some cases
  • #277 - Fixed Oraxen Durability incompatibility
  • #279 - Improve Crafting Matrix Shrink Logic
Full Changelog: v4.16.7.1...v4.16.7.2
----------, May 30, 2023

Changelog
  • #269 - Add Missing Fields to recipe_book.conf & Don't save on shutdown
  • #270 - Reduce Shapeless Recipe Check Memory Allocation
Full Changelog: v4.16.7.0...v4.16.7.1
----------, May 6, 2023

Recipe Book Improvements
With this update you can finally properly sort recipes inside categories and/or filters.

Plus, the Creative Inventory Categories are back and updated to the latest 1.19.4 categories.
To get them to work, you need the new Recipe Book Config.

New Recipe Book Config
You can view the new recipe_book.conf here,

To use it on your server you may need delete your current recipe_book.conf and recipe_book.json to generate it, or replace the contents of the file manually.
Make sure to stop the server, then delete the config/s. Then start the server and it should generate the new config.

Additionally, now the old recipe_book.json gets renamed to recipe_book.conf if that doesn't exist yet, instead of keeping both versions.

Separate Category Title Property
Each category can now have both a name and title property.
The name is the name of the item in the main menu of the recipe book, while the title is the inventory title when the category is open.
If title is unspecified, it uses the name instead.

Sorting
There is no GUI editor for this, so it must be configured via the recipe_book.conf.
Each category and filter can have a sort property, that contains the sort behaviour settings.

defaultSort : Specifies the default algorithm used to sort the recipes/groups
  • NONE = keeps the recipe/group order of the category
  • ID = sorts both groups & recipes simultaneosly, groups and recipes may intersect
  • ID_GROUPS_FIRST = sorts groups and recipes seperately, groups are put before the recipes
  • ID_RECIPES_FIRST = sorts groups and recipes seperately, recipes are put before the groups
order : Specifies the order of the sort algo.
  • ASCENDING = from smallest to biggest value
  • DESCENDING = from biggest to smallest value
Then there are custom values for specific group/recipe sorting.
When in 'ascending' order, higher values come last. All undefined recipes/groups have a value of 0.
recipes : Map of recipe ids to values for custom sorting.
groups : Map of group names to values for custom sorting.

For example:
This example is from the new recipe_book.conf, so have a look at that for a fully working example

A category with the following settings sorts the recipes and groups simultaneously in acending order.

Code (Text):
sort {
  defaultSort = ID
  order = ACENDING
}
Then a filter inside that category can resort the already sorted recipes and therefore reorder recipes/groups.

Code (Text):
sort {
  # This defines the algo used to sort the recipes/groups.
  defaultSort = NONE # NONE              = keeps the recipe/group order of the category
                    # ID                = sorts both groups & recipes simultaneosly, groups and recipes may intersect
                    # ID_GROUPS_FIRST   = sorts groups and recipes seperately, groups are put before the recipes
                    # ID_RECIPES_FIRST  = sorts groups and recipes seperately, recipes are put before the groups
  order = ASCENDING # ASCENDING   = from smallest to biggest value
                   # DESCENDING  = from biggest to smallest value
  # Custom values for specific group/recipe sorting
  # When in 'ascending' order, higher values come last. All undefined recipes/groups have a value of 0
  recipes {
   "customcrafting:customcrafting/recipe_book": -100 # this recipe is put infront of all recipes/groups
   "customcrafting:customcrafting/advanced_crafting_table": 1 # and this recipe is put at the end of the category!
  }
  groups {
    any_group_name: -101 # so this group would be put before the customcrafting recipe book recipe defined above.
  }
}
Changelog
  • #260 - Fixed InteractionUtils causing glitchy behaviour in ECT and Cauldron GUI
  • #261 - Fixed Recipe Book Empty GUI
  • #262 - Recipe Book Category & Filter Recipe Sorting
  • #263 - Better Recipe Book Conversion from old config
  • #264 - Enable Stacktrace printing by default
  • #265 - Don't allow multiple viewers viewing the same Cauldron simultaneously
  • #266 - Fixed Invalid Cooking Recipe Icon In Recipe Book Menu
  • Added ru_RU language file translated by Nalurione
Full Changelog: v4.16.6.4...v4.16.7.0
----------, Apr 25, 2023

This update provides a hotfix for Paper servers and WolfyUtils 4.16.10 incompatibility. In case you are using plain Spigot or WolfyUtils pre-4.16.10 you won't be affected by this issue.

Changelog
  • #258 Fix Paper incompatibility
Full Changelog: v4.16.6.3...v4.16.6.4
----------, Apr 11, 2023

Changelog
  • #250 - Fix Cauldron Recipe Lava Consumption
  • #251 - Use Internal Merge Adapters in Smithing Recipes
  • #252 - Take EcoArmor Effective Durability into account for DamageMergeAdapters
  • #254 - Grindstone Recipe Logic Rewrite
  • #255 - Fix Cauldron 1.16 Incompatibility & Cauldron GUI changes
  • #253 - Fix Cauldron Ingredient Arrangement Inconsistency
Full Changelog: v4.16.6.2...v4.16.6.3
----------, Apr 9, 2023

NOTE:
For 1.19.4 support, you need the latest beta version of WolfyUtils!
It can be found on GitHub
here!


Changelog

  • #241 - Oraxen Support & Bug Fixes for Damage Merge Adapter
  • #242 - Anvil Compatibility & Stability Improvements
  • #243 - Properly handle Ingredient Remains inside Furnaces
  • #244 - Fixed Recipe Lookup Command not clearing Ingredients
  • #245 - Fixed NMS Functional Crafting Recipes
  • #246 - Fixed 'Pickup Half' (left-click) in ECT and Cauldron GUIs
  • #247 - Updated common lang usages to lang3 & Updated to Paper API 1.19.4
  • #248 - Improved Grindstone integration
Full Changelog: v4.16.6.1...v4.16.6.2
----------, Mar 21, 2023

Changelog
  • #228 by @BeepoWuff – Outdated Version Chat Message Colours
  • #229 by @BeepoWuff – Fix Recipe Book Single Category View
  • #231 – Recipe Book Category auto property resets to true
  • #237 – Elite Crafting Table Condition Fix
  • #234 by @BeepoWuff – Fix Item Editor Durability Cost Disabled Text
  • #236 by @BeepoWuff – Recipe Sub-Command Fixes and Improvements
  • #238 – Crafting Optimizations & Fixes
Full Changelog: v4.16.6.0...v4.16.6.1
----------, Mar 1, 2023

New Features
Cauldron Sneak Interaction
This alternative interaction allows players to open the CustomCrafting GUI by sneaking and right-clicking.

Code (YAML):
workstation:
  cauldron
:
   interaction
: NORMAL # or SNEAKING
Block Entity Merge Adapter
This adapter makes it possible to copy the Block Entity State that is currently bound to an item to the result.
Useful for upgrading tile entities like Shulker Boxes and preserving the contents.
[​IMG]

This is adapter does not have any additional properties, all that is required is the key property.

Code (Text):
{
  key : "customcrafting:block_entity"
}
Find more information about targets here on the wiki.

Compass Merge Adapter
This adapter makes it possible to merge the location and track property of an ingredient compass to the result, and to override them with custom values.

The values are all managed via ValueProviders and BoolOperators making it possible to use values from PAPI, select values based on boolean conditions, etc.

Code (Text):
{
  key : "customcrafting:compass",
  overrideLocation: true,
  location : {
   worldName : "world",
   x : 900,
   y : 79,
   z : -209
  },
  lodestoneTracked : false,
  overrideLodestoneTracked : true
}
Find more information about targets here on the wiki.

Changelog
  • #225 Added Cauldron Sneak Right-Click Interaction option
  • #216 Added Block Entity Tag Merge Adapter
  • #217 Added Compass Merge Adapter
  • #215 Fixed Item Input Slots in Elite Crafting Table
  • #219 Recipe Groups are IDs and only used internally
  • #220 Load Legacy Recipes Properly
Full Changelog: v4.16.5.1...v4.16.6.0
----------, Feb 4, 2023

Changelog
  • #209 Cauldron Recipe Player Conditions
  • #210 Editing shaped/shapeless mode causes recipes to not save
  • #212 Fixed Recipe Book group cycling + Cycle speed config option
  • #211 Improved Crafting Recipe Algorithm Performance

Full Changelog: v4.16.5.0...v4.16.5.1
----------, Jan 16, 2023

Book/Written Book Merge Adapter
Allows copying and merging pages, titles, and authors from ingredients into the result book/written book.
More info

Banner Merge Adapter
Allows copying of banner patterns and merging them into the result banner.
More info

Changelog
  • #203 Book/Written Book Merge Adapter
  • #204 Banner Merge Adapter
  • #207 Added zn_tw Translations
  • #206 Fixed Recipe/Custom Item Loading on non-unix systems
  • #201 Bottom Inventory Interactions are not blocked in Recipe Book and View
  • #208 Rewrote the way stacks are handled in item input buttons
  • Removed duplicate Recipe Book recipe/ingredient variant cycling
Full Changelog: v4.16.4.0...v4.16.5.0
----------, Jan 9, 2023

Recipe Book Category Alignment
Added Category Align options to the Recipe Book Config that makes it possible to further customize the Recipe Book main menu.
  • Dynamic main menu inventory size (adapts to the amount of categories)
  • Specify how items are aligned
  • Specify Max categories per row
  • Configure Minimum rows (max rows = 5 !)
  • Set Custom Category Slots
    • Works in combination with the align feature
More info about the alignment options etc. can be found in the wiki!

Lore Merge Adapter
The lore merge adapter makes it possible to merge lore from targeted ingredients into the result lore.
It provides options to select specific lines via value or index, and to insert them at a specific index in the result lore.
Plus, you can add extra lore lines to be added independently of the ingredients.
For info on how to use Targets and Merge Adapters, see here and here.

Changelog
  • #199 - Lore Merge Adapter
  • #198 - Recipe Book Category Alignment
Full Changelog: v4.16.3.2...v4.16.3.3
----------, Dec 20, 2022

Changelog
  • #193 - Nested Recipe List Directories
  • #195 - Level Limit for EnchantMergeAdapter
  • Do not use the paper specific editor for mc 1.18.1 or lower.
  • Fixed - Crafting matrix shrunk even when no result can be collected.
  • Fixed - EliteCraftingTable is not shrinking the crafting matrix
  • Check the shaped recipe dimensions properly
  • Don't try to add recipe to bukkit if it's null and causing an error message.
  • Properly display all patrons under the CC title
Full Changelog: v4.16.3.1...v4.16.3.2
----------, Dec 2, 2022

This update clears a few things up introduced in previous updates.

Like the MiniMessage info message popping up in places where it shouldn't.

It also adds the possibility to use fonts and probably other special tags inside stack names and lore.
Note, however, that this is only possible on Paper servers!

Changelog
  • No longer print the MiniMessage info message for all chat editors.
  • Added new info messages to ItemCreator Display Name and Enchant Tab.
  • Added Tab completion for ItemCreator Enchant Tab options.
  • Added separate Paper Lore Chat Editor & Item Name Editor
    This makes it possible to use <font:'key'> and other components inside lore and item names.
  • Fixed - Furnace Ingredients don't remove correct amount from the source stack.
  • Fixed - MergeOption slots property is not available when deserializing adapters
Full Changelog: v4.16.3.0...v4.16.3.1
----------, Nov 18, 2022

Changelog
  • #182 - Allow ItemsAdder Blocks For Elite Crafting Tables
  • #183 - Fixed Config Not Reading Database & LocalStorage Settings
  • #185 - Recipe Book Editor Overhaul & Better Chat List Editor
  • #186 - Added Text Hover Help for Chat Prompts
  • Reset rType column when updating recipes in the database.
  • CustomRecipes are applied to the inventory, to prevent various issues. (Requires WU 4.16.9 (not yet released!))
  • Fixed outdated version in config header
Full Changelog: v4.16.2.0...v4.16.3.0
----------, Nov 6, 2022

Warning! This update requires WolfyUtilities v4.16.8!
Download it from GitHub or if available from CurseForge!


Furnace CustomItem Checks

This is one major improvement in this update. All cooking recipes are based on NMS (net.minecraft.server) Recipes, and therefore allow for more custom behaviour. Finally, Cooking Recipes will support custom NBT checks and are faster.

NMS Based Crafting System
Similar to the cooking recipes above, this update introduces a new separate crafting system that loads the recipes directly into Minecraft, bypassing the Bukkit Recipe API.
This comes with various benefits, especially fixing a long-lasting duplication bug.
Caveats to this new system are that the priority configuration of recipes is not yet used, and possibly other unknown issues.
To use this new feature, stop the server, set the recipes.nms_based_crafting to true, then start the server again!

Changelog
  • #89 CustomItem checks for Furnace Recipes
  • #175 Keep Shaped Crafting Recipes As Is
  • #177 NMS Based Crafting System
  • #178 Updated/Improved CustomCraftEvent
  • #179 Update to latest CustomItem Data System
Full Changelog: v4.16.1.0...v4.16.2.0
----------, Oct 23, 2022

This update requires the latest version of WolfyUtilities (v4.16.6.1) to function properly!

HOCON Format
From this time on, recipes and items are saved in the HOCON (Human-Optimized Config Object Notation) format as .conf files.
It provides an easier to use configuration format and is for example the official configuration method for Sponge servers and plugins.

A good introduction to HOCON can be found in the Sponge docs.
https://docs.spongepowered.org/stable/en/server/getting-started/configuration/hocon.html
More detailed info about how to use the format can be found here:
https://github.com/lightbend/config#using-hocon-the-json-superset

All previous JSON files are still working like normal, and will still be supported in the future.

Configurable Recipe Type Titles
The recipe book title previously used the same title for the recipe view GUI no matter what recipe you were viewing.
Now it uses a different title depending on the recipe type you are viewing.

Additionally, those titles can be configured inside the config.yml:
  • <translate:"language_key"> to use values from the language
  • <papi:"placeholder"> to use PAPI placeholders (using the player that views the GUI)
Code (YAML):
recipe_book:
  recipe_type_titles
:
   crafting_shaped
: <translate:recipe.type.crafting.crafting_shaped>
   crafting_shapeless
: <translate:recipe.type.crafting.crafting_shapeless>
   elite_crafting_shaped
: <translate:recipe.type.crafting.elite_crafting_shaped>
   elite_crafting_shapeless
: <translate:recipe.type.crafting.crafting_shaped>
   furnace
: <translate:recipe.type.cooking.furnace>
   blast_furnace
: <translate:recipe.type.cooking.blast_furnace>
   smoker
: <translate:recipe.type.cooking.smoker>
   campfire
: <translate:recipe.type.cooking.campfire>
   smithing
: <translate:recipe.type.smithing>
   anvil
: <translate:recipe.type.anvil>
   cauldron
: <translate:recipe.type.cauldron>
   stonecutter
: <translate:recipe.type.stonecutter>
   grindstone
: <translate:recipe.type.grindstone>
   brewing_stand
: <translate:recipe.type.brewing_stand>

Changelog
  • #165 - Toggle Auto Recipe Discover On Player Login
  • #166 - Recipe Book: Configurable Recipe Type Titles
  • #167 - 2x2 Elite Crafting Table
  • #168 - HOCON Format Migration
Full Changelog: v4.16.0.1...v4.16.1.0
----------, Sep 11, 2022

Changelog
  • Added permission for interacting with the cauldron workstation.
    Permission: customcrafting.workstation.cauldron.interact
  • Fixed missing previous page button to RecipeList
  • Fixed missing Result when loading old Cauldron Recipes
  • Fixed old Ingredients not building choices for old Cauldron Recipes
  • Prevent negative pages in MenuCategoryOverview
Full Changelog: v4.16.0.0...v4.16.0.1
----------, Aug 23, 2022

Cauldron Recipe Changes & New Features
Major changes
  • Items can no longer be dropped into the Cauldron, instead it'll open up a GUI on right-click
    [​IMG]
    • Displays the Fluid type & level (Water & Lava)
    • Displays Type of Campfire
    • Displays if the Campfire is a Signal Fire
  • Every Cauldron in the world works for Cauldron Recipes
  • One Cauldron can only process a single recipe at once
  • Better performance thanks to a more efficient system that ticks the cauldrons
  • Cauldrons are saved directly in the chunks' NBT data (instead of a weird separate file!)
Additions
  • Distinguish between normal and soul campfire
  • Detect if the campfire is a signal fire
  • Support for Water and Lava Cauldrons
  • Support for up to 4 Results
Overhauled Recipe Creator
[​IMG]
  • You can specify four Results that are handled individually, including Result Extensions and Targets.
  • Both Water and Lava option disabled: Recipe only works in an empty Cauldron.
  • Both Campfire and Soul Campfire option disabled: Recipe works with lit, unlit, or no campfire.
Changelog
  • #158 – Cauldron Recipe Overhaul
  • #161 – Better Recipe & CustomItem Delete Feedback
Full Changelog: v3.16.8.1...v4.16.0.0
----------, Aug 22, 2022

Previous version didn't actually work and fix the issue. Therefore, this update drops support for ProtocolLib v4. To not cause issues if you still use v4, it'll print an error on startup telling you to update to the latest v5 version and doesn't initiate the features, so you can continue using CC without issues.

Changelog
  • Dropped support for ProtocolLib v4 in favour of v5 and supporting 1.19
Full Changelog: v3.16.8.0...v3.16.8.1
----------, Aug 11, 2022

This is a smaller update that adds cross-compatibility for ProtocolLib v4 and v5.
Stay tuned for more updates soon! It's just that the Cauldron Recipe overhaul I am working on depends heavily on an outdated clunky system in WolfyUtilities that needed some rewriting, so that took a bit, but is progressing very well.

Changelog
  • #157 – ProtocolLib v4 and v5 Cross Compatibility
Full Changelog: v3.16.7.0...v3.16.8.0
----------, Aug 8, 2022

This update focuses on improving the customisability of the Plugins' Recipe Book. Category Icons support Items with NBT data, so you can use CustomModelData and other things like enchants, etc. Shaped Crafting recipes are centred inside the Recipe Book as far as possible, to make it more pleasing to look at. Plus other improvements and bug fixes.

Changelog
  • #147 – Recipe Book Category Icon NBT/Stack Support
  • #148 – Center Shaped Crafting Recipes in Recipe Book
  • #149 – Unfiltered Recipe Book Categories
  • #151 – Fixed Missing Recipe Delete Confirm/Delete Messages
  • #150 – Separate Recipe Book GUIs for Category & Recipe overview
Full Changelog: v3.16.6.2...v3.16.7.0
----------, Jul 21, 2022

Changelog
  • Fixed missing injectable CC instance for recipes loaded via SQLDatabaseLoader.
----------, Jul 5, 2022

A smaller update to fix some overlooked issues and to clean up some code.

Changelog
  • #145 – Recipe Dependency Injection
  • Updated Patreon colours and credits
  • Fixed missing language key for back button in Recipe Creator
  • Fixed display of Recipe Book Categories using legacy colour codes
  • Reformatted & Cleaned up code & other files
  • Added a few more comments to some methods and functions.
More info on GitHub: https://github.com/WolfyScript/CustomCrafting/releases/tag/v3.16.6.1
----------, Jul 2, 2022

This update adds a new MergeAdapter called NBTMergeAdapter, that makes it possible to merge specific NBT tags from a target or multiple targeted ingredients with the result item stack.
For info on how to configure result targets and merge adapters, see https://github.com/WolfyScript/CustomCrafting/wiki/Result-Target
For more detailed info about NBTMergeAdapter, see #143

Changelog
  • #142 – Fixed & Improved the original Ingredient slot calculations
  • #144 – Fixed Crafting Recipe Symmetry Option
  • #143 – Added NBTMergeAdapter
  • The reload command can be executed from console now.
  • Fixed #140 – Error when opening an inventory GUI with mythic enchanted item
More info on GitHub: https://github.com/WolfyScript/CustomCrafting/releases/tag/v3.16.6.0
----------, Jun 25, 2022

This update adds a new option to change the behaviour of the Recipe Book when you reopen it. By default, it opens the last menu you had open. If disabled, it'll always go back to the recipe overview.

Changelog
  • #137 – Recipe Book "Keep Last Open" Toggle option
  • #138 by @Yummy-Cookie-S – update lang/zh_CN.json
  • Fixed last ingredient not being updated when using the recipe auto-complete. (Requires ProtocolLib)
More info on GitHub:
https://github.com/WolfyScript/CustomCrafting/releases/tag/v3.16.5.0
----------, Jun 14, 2022

This update fixes various issues related to Adventure as noted in WolfyUtilities v4.16.2.

The background glass panes can be toggled now, which should make custom textured menus more feasible.
Additionally, the crafting performance and behaviour has been improved.

Requires the latest WolfyUtilities 4.16.2 to function at all!! Please update WolfyUtilities first!

Changelog
  • #105 by @BeepoWuff – Update Database Sub-Command Completion Options
  • #110 – Brewing Recipes Cannot Be Loaded
  • #113 – Add NBT check toggle to the cooking recipe creator
  • #112 – Include Default recipes in the vanilla recipe book
  • #114 – Custom Durability Tag Adventure MiniMsg placeholder support
  • #117 – Fixed Crafting Recipe Behaviour & Duplications
  • #127 – Upgraded various Windows, Clusters & Buttons to the Adventure based API
  • #120 – Crafting Recipe Algo Improvements
  • #128 – Custom Player Check Condition
  • #129 – Correclty apply Anvil Recipe repair cost again
  • #131 – Slight Crafting Performance Improvements
  • #132 – Togglable GUI Background Glass Panes
  • #134 – Improved plugin permissions
Full Changelog: v3.16.3.3...v3.16.4.0
----------, Jun 6, 2022

Changelog
  • Added versions of api, bukkit info to the start-up log.
  • #103 – Default Recipes & Items Data Version Downgrade
  • #104 – Grindstone Recipe Improvements & Bug Fixes
  • Fixed #102 – Weird console error; all custom crafting recipes disabled.
Full Changelog: v3.16.3.2...v3.16.3.3
----------, Apr 9, 2022

This update requires the latest WolfyUtilities update (3.16.3.2) to function as intended!
Make sure to update WolfyUtilities!


WolfyUtilities Downloads:
GitHub: https://github.com/WolfyScript/WolfyUtilities/releases/tag/v3.16.3.2
SpigotMC: https://www.spigotmc.org/resources/64124/

Changelog
  • #100 – Recipe Check NBT QOL Improvements
  • #99 – GrindStone Recipe Loading issue
  • #97 – ItemCreator Modify Lore Line & MiniMessage support
  • #98 – Enchant Merge Adapter – Enchant additions & upgrades
  • #88 – ItemsAdder Custom Max Durability support
  • #87 – EliteCrafting Table & RecipeBook QOL improvements
  • #86 – Removed indicator for the type of edition
Full Changelog: v3.16.3.1...v3.16.3.2
----------, Mar 19, 2022

Changelog
  • #80 – Cleaned up recipe JSON files
  • #82 – Fixed invalid colour code in de_DE language
  • #81 – Fixed & Improved Recipe Book
  • #83 – Enable the option "Show In Vanilla Recipe Book" by default
Full Changelog: v3.16.3.0...v3.16.3.1
----------, Mar 6, 2022

Changelog
  • #79 – Player Scoreboard Condition
  • Fixed – Plugin doesn't start-up when PlaceholderAPI is installed, due to missing language.
Full Changelog: v3.16.2.2...v3.16.3.0
----------, Mar 1, 2022

Changelog
  • #73 – Furnace Recipe Experience & CustomItem blocking
  • #74 – More EnchantMergeAdapter settings
  • #75 – Prevent overflow of Furnace Recipe Cook Time
  • #76 – Fancier and Unified Button Names & Lore
  • #77 – Reload Command isn't loading new data
  • #78 – Various Recipe Registration Fixes
Full Changelog: v3.16.2.1...v3.16.2.2
----------, Feb 28, 2022

Changelog
  • Fixed - ItemCreator is hanging when placing in deleted/missing custom items.
  • Fixed - Anvil RepairTaskDefault is not creating result item.
  • Fixed - AbstractRecipeShapeless doesn't save ingredients in the new format.
  • Fixed - Brewing & Cauldron recipes include ingredient and ingredients option.
  • Fixed #59 - Elite Workbench Condition Always Fails
Full Changelog: v3.16.2.0...v3.16.2.1
----------, Feb 10, 2022

This update implements a new system to serialize and deserialize recipes as JSON files.
Instead of saving them into separate type specific folders, it writes all recipes into the same folder. Each recipe JSON file includes the type now, and can be more easily managed. See more #66
Old recipes and items are backwards compatible.

Updating recipes
You can update all recipes, that were successfully loaded, to the new format using /recipes save.
It still keeps the old recipe files and loads them after the new recipes.

Changelog
  • #66 - Restructuring Recipe data folders & serialization
  • #62 by @BeepoWuff - EnchantMergeAdapter Existing Enchant Level Increase
  • #63 by @BeepoWuff - Fix Recipe Book item opening Category List with single Category
  • #69 - Smithing Recipes - Copy Item Damage
  • #70 - Fixed ItemCreator crashes when placing in missing custom item
  • Fixed various issues with data loading (SQL & Local)
  • Compact starting logs, with more info about the loaded data.
  • Added Anvil RepairTask, for customized repair options (You can also register your custom ones).
Full Changelog: v3.16.1.0...v3.16.2.0
----------, Feb 9, 2022

This update introduces a new command, “/recipes lookup <recipe_namespaced_key>”, that allows you to view a single recipe in the GUI.

Changelog

  • #48 by @BeepoWuff - Fix Stonecutter recipes not showing with ProtocolLib present
  • #50 - Fixed Smithing Recipes
  • #49 - Single Recipe Lookup GUI & Command
  • #52 - Fixed Crafting recipe saving issue
  • #55 - Fixed Recipe Result
  • #56 - Recipe Discovery & Recipe Book Improvements
  • Fixed #46 - incorrect xp gained from custom recipe
----------, Jan 23, 2022

Warning, you need the latest WolfyUtilities 3.16 from GitHub!

This update fixes conflicts with other plugins and an incompatibility with 1.16.
Additionally, there are a few performance improvements and other bug fixes included.

For more info and internal breaking changes, see the WolfyUtilities v3.16 release.

Recipes command
The permission of the parent command /recipes stayed the same, but the sub-commands permissions were changed.
customcrafting.cmd.recipes_toggle - /recipes toggle
customcrafting.cmd.recipes_delete - /recipes delete
customcrafting.cmd.recipes_edit - /recipes edit
customcrafting.cmd.recipes_save - /recipes save

Changelog
  • #44 - Updated to shaded Jackson lib from WolfyUtilities
  • #43 - Prevent the usage of "minecraft" namespaces for recipes
  • #42 - Cauldron saving improvements (async saving)
  • #41 - Improvements to commands and config
  • #40 by @BeepoWuff - Recipe Book Editor Single Recipe Input
  • #45 by @BeepoWuff - Implement Cauldron XP Reward
  • Fixed - Recipe group isn't applied to vanilla Cooking and Stonecutter recipe placeholders.
  • Fixed - Permissions for recipes sub-commands are all granted using the parent permission.
----------, Jan 3, 2022

There is a known issue, that prevents the plugin from loading/enabling.
That issue is caused by other plugins shading the same library into the jar without relocating it! This is bad practice of these plugins and I can't do anything about it!
If you encounter such an issue, please let the author/s know that the libraries need to be relocated into another package!
It is also possible to use the libraries feature in the plugin.yml, that is available since Spigot 1.17.

Plugins causing issues so far: DiSky, EpicWorldGenerator.

Also see the new WolfyUtilities update on GitHub!
https://github.com/WolfyScript/WolfyUtilities/releases

Changelog

  • Added a new optional property to the ResultExtension called executionType.
    Property:
    "ONCE" (default) - The extension is always executed just once per completed craft.
    "BULK"
    - The extension might be called multiple times in a row. E.g. shift crafting in the crafting table.
  • Added DiSky and EpicWorldGenerator to loadbefore.
    This is necessary, because these plugins shade jackson, but don't relocate it (Bad practise!).
  • Reverted deprecated gson class removal.
    It is not available in 1.17 Spigot
  • Merged #37 by @BeepoWuff - Brewing Editor Invalid Initial State When Editing Saved Recipe.
  • Merged #36 by @BeepoWuff - Brewing Editor Fixes
----------, Dec 22, 2021

Important! Requires WolfyUtilities 2.16.1.1, that is currently only available on GitHub HERE.

This update fixes some issues regarding the compatibility with other plugins like Magic, where items from magic were not loaded in time to be available for the recipes.

Similar to the changes in WolfyUtilities, the Registry structure changed.
Instead of accessing the CCRegistry and CCClassRegistry, you need to get the Registries from the CustomCrafting instance.
Code (Java):
CCRegistries registries = CustomCrafting. inst ( ). getRegistries ( ) ;
registries. getRecipes ( ) ;
registries. getRecipeConditions ( ) ;
registries. getRecipeMergeAdapters ( ) ;
registries. getRecipeResultExtensions ( ) ;
registries. getItemCreatorTabs ( ) ;
Registering instances and types still works the same for all the registries.


Changelog
  • Updated to WolfyUtilities dependency system, to await data from dependencies.
  • Fixed #74 - Dupe Items Glitch with Elite Crafting Table.
  • Fixed - Shift + right-clicking on ingredients will put the items into your inventory (and then open the ingredient settings).
  • Fixed #77 - Exp being used in anvil, then being refunded as soon as new exp from external source is given.
  • Fixed - DataHandler isn't setting the save destination to database, if used.
  • Fixed - DataHandler isn't checking if localStorage loader exists.
  • Fixed - SQLDatabaseLoader isn't using correct recipe loader to convert recipes.
  • Fixed - LocalStorageLoader ins't ignoring old recipes in "workbench" folder.
  • Fixed - Crafting Creator doesn't allow ingredients with just tags.
  • Fixed - Various uninitialized default RecipeCache values.
  • Fixed - RecipeCacheCauldron doesn't initialize defaults and loading all settings from recipe.
  • Fixed - RecipeCacheBrewing doesn't apply ingredients to recipe.
  • Fixed - BrewingRecipeCache doesn't allow empty result.
  • Fixed - BrewingRecipeCache doesn't initiate default values.
  • Updated to new Jackson package, because of WU change.
  • Removed usage of deprecated gson class.
----------, Dec 20, 2021

Very important! Make sure to back up all of your data before installing this update!
This update will convert all of your items and recipes to the latest config format.
I can't guarantee that it will go smoothly, so please back up your data!

For Spigot 1.18 support, you require the latest WolfyUtilities 1.8.0.0!
Which can be found on CurseForge here!

This update fixes some issues related to Spigot 1.18 and various other critical issues and bugs.


Changelog
  • Added Player parameter to CraftingRecipe.removeMatrix.
  • Added ProtocolLib to soft-depends.
  • Fixed - CraftManager#calculateClick uses the result ItemStack from the CraftingInventory and causes some NBT to be converted.
  • Fixed - If an item with craft remain (bucket, bowl, etc.) is stacked, the material of the whole stack is edited.
  • Fixed - If a custom recipe cannot be added to Bukkit it will crash the plugin.
  • Fixed - Critical issue in the Shapeless recipe algorithm causes an infinite loop.
  • Fixed - Unable to save Cauldron recipes without hand item set.
  • Fixed - Too many recipes prevent clients from connecting to the server. (Requires ProtocolLib as it will modify the RecipeUpdatePacket to "fix" the MC-185901 issue).
    Recipes that are set to be visible in the vanilla recipe book (If they are not disabled or hidden) are still allowed through that filter. All other recipes are removed from the packet. That also means that players won't be able to view your recipes with mods like JEI.
  • Removed ButtonMetaIgnore.
  • Removed ButtonMetaIgnore keys from ItemCreatorTabs.
----------, Dec 2, 2021

This update fixes a lot of internal issues like Shapeless crafting recipes or plugin compatibility issues.
For more fixes and improvements, see WolfyUtilities 1.7.8.0 (Might not be available yet).

Changelog

  • Added vanilla book button to the recipe creator.
  • Added CraftManager.MatrixData#getItems which will return a list of non-Air items from grid.
  • Improved RecipeType.Container to include legacy ids.
  • Improved RecipeType.valueOf by indexing the types by their ids.
  • RecipeType.Container#valueOf will handle legacy ids to return the correct Container.
  • Deprecated Elite Crafting Table 5x5, and 6x6 grid sizes (more info).
  • Fixed LocalStorageLoader to work with the new legacy ids.
  • Fixed MMOItems IllegalStateException when placing items into the GUI.
  • Fixed - MMOItems items don't work in the ItemCreator.
  • Fixed - #21 Anvils makes you lose materials.
  • Fixed - icon for hide recipe button displays wrong state.
  • Fixed - Recipe slot of crafting recipes is not correctly passed into RecipeData. (They are meant to represent the slots inside the recipe, but are representing the slots inside the inventory).
  • Fixed - AbstractRecipeShapeless#check doesn't check all the possible variations of ingredient placements, causing the recipe to not get detected if items are placed in the wrong order.
  • Fixed - MySQL loader isn't able to load and convert old recipes.
  • RecipeBook filters are no longer index in parallel.
    This might reduce performance if you have lots of filters and containers, but prevents other important issues.
  • Anvil recipes now support MergeAdapters.
----------, Nov 18, 2021

Important! - Requires WolfyUtilities 1.7.6.0+ to work! Finally, another update. (v1.7.7.0 should also be available soon!)

This update took a bit longer, as I recently started studying Computer Science at university and there is lots of work to do. I try to have a more frequent update schedule soon.
With this update there is a new setting for each vanilla type recipe, to view it in the vanilla recipe book. This setting must be done in the json file of the recipe ( "vanillaBook": true).

Changelog
  • Removed ParticleEffect settings from the in-game GUI.
  • Removed ItemCreator Tab for particle animations.
  • Added invalid usage to database command.
  • Added option to recipes, to view them inside the vanilla recipe book. NBT data is only supported for the result, for ingredients they are not supported (This includes the autocompletion!)
  • Fixed - Disabled CustomRecipes register their bukkit recipe on startup, that makes it impossible to enable them via the RecipeList.
  • Updated recipes writeToBuf methods, so they use the new MCByteBuf#writeCollection.
  • Recipes send to the client via plugin messages are now split into separate packets. Each recipe will first send a head packet, that contains the length of bytes and amount of slices.
----------, Oct 31, 2021

The major improvements in this update are regarding chat input, especially for when you save recipes, so they will actually show an error message now. The give command will also print out a message with its usage now, instead of leaving you without any feedback.

Changelog
  • Added the @s target to give command. (So you don't have to type in your name to get an item)
  • Added an error message if an invalid namespaced key is typed in, which should clear up how to correctly type it in.
  • Added a mention of the /wui command into the input message of namespaced keys.
  • Improved Recipe Book Editor.
  • Improved feedback for give command (Like invalid usage, etc.).
  • Improved custom furnace fuel.
  • Minor Improvements
  • Fixed - Recipe Book saves hidden fields ("sortedCategories", etc.) into config.
  • Fixed - ItemCreator workstation buttons for custom fuel are not displaying their correct state.
  • Fixed - NPE in RecipeList when toggling the filter button.
  • Fixed - OutOfBoundsException when having more categories in the recipe book than allowed.
  • Fixed - NPE of the WorldTimeCondition, in the edge case that the block is null.
----------, Oct 12, 2021

This update is focused on performance improvements and further polishing.

The new cache of recipes will (at the cost of using a bit more ram) execute resource intensive tasks only once or a few times, instead of a thousand or ten thousand times. The cache only resets when you register (save) or remove a recipe. But if you leave it be, it will calculated a value once, cache it, and then use that saved value instead for the next requests.

I would like to thank all of you, that support me on Patreon or bought the plugin! I greatly appreciate it and even though my time is quite limited at the moment as I started university, I will keep my schedule with at least one update per week.
Once again, if you got any ideas that would improve the plugin, let me know. For these feature ideas and bugs, please use GitHub, as it is the best place to keep track of them.

Changelog
  • Improved performance of RecipeList filtering.
  • Implemented more recipe caching into the registry, that should improve the performance of crafting and recipe list. (This includes recipes by result, namespace, type, and group)
  • Improved previous recipe registry caching.
  • Fixed UnsupportedOperationEx in the "recipes toggle" command.
  • Fixed disabled vanilla recipes not listed in Recipe List
  • Fixed recipes edit command not opening GUI.
  • Fixed RecipeCache not saving recipe group.
  • Minor improvements. Mostly for readability.
  • Minor performance improvements
  • Replaced custom serializer/deserializer of Categories with annotations.
----------, Oct 3, 2021

The version is now out of the beta phase. There can still be bugs, so if you encounter any, please report them on GitHub.
As previous update, you need WolfyUtilities 1.7.4.0 which is available on CurseForge here.

Changelog
  • Added new Smithing Recipe setting to only change the material of the item.
  • Added DisplayNameMergeAdapter.
  • Added FireworkRocketMergeAdapter to set power levels depending on gunpowder count in the grid.
  • Added the possibility of empty ingredients in shapeless recipes. (This is meant for recipes that would otherwise require many variations, like the firework recipe)
  • Added workstation filter to the Recipe List.
  • Implemented caching: The registry caches recipes by namespace and group for better lookup times.
  • Changed lore of GitHub button.
  • Updated Patreon credits.
  • Fixed condition causing error in recipe book menu.
  • Fixed RecipeData#getBySlot not returning items based on recipe slot.
  • Fixed UnsupportedOperationEx in ResultExtension#getEntitiesInRange
  • Fixed Shapeless Crafting Recipes not correctly checking ingredients.
  • Fixed WolfyScript/CustomCrafting-Wiki#43
----------, Sep 25, 2021

This version only works with the latest WolfyUtilities 1.7.4.0!
It can be downloaded on CurseForge here!


The main purpose of this update was to integrate the new particle effect system and provide a better API for furnace recipes to improve compatibility with ItemsAdder, etc.

Changelog
  • Implemented API (CookingManager) for other plugins to check if the furnace event has a custom cooking recipe.
  • Added improved FurnaceStartSmeltEvent for 1.17 servers to more efficiently block invalid recipes. (Important: Recipes that fail to smelt will not automatically start smelting again! This can only happen when a condition is not met. The ingredient must be taken out and placed back in to restart the process).
  • Removed old particle system effect settings.
  • Disabled ItemCreator particle effect settings temporarily.
  • Updated default particle animations to the new particle system.
  • Fixed Anvil recipes durability mode not working.
  • Updated Patreon list.
  • Updated to WolfyUtilities 1.7.4.0
----------, Sep 23, 2021

This update adds a new Advancement condition, that can be used for any recipe executed by players, and allows you to require specified advancements.
Additionally, a new Advancement Result Extension was added, that allows you to grant or revoke an advancement or advancement criteria of players. More info can be found here: https://github.com/WolfyScript/CustomCrafting-Wiki/wiki/Result-Extensions#advancement

Changelog
  • Added ConditionAdvancement
  • Added ResultExtensionAdvancement to grant advancements or criteria.
  • Fixed anvil recipe creator "Block repair" button changing block enchant setting.
  • Fixed anvil recipe not accepting empty result when using "durability" or "none".
  • Fixed anvil recipes not actually blocking repairing items.
  • Fixed stonecutter creator not applying settings to the recipe.
  • Fixed ClassCastException to ButtonNamespaceRecipe
  • Minor improvements.
----------, Sep 22, 2021

Beta 1 - 2 were skipped since they only contained bug fixes and improvements.

Changes since beta0:

  • Fixed old crafting not being loaded.
  • Fixed crafting recipes not being visible in the recipe book.
  • Fixed CraftingContainer loading shaped crafting recipes as shapeless and shapeless as shaped - RecipeBookConfig should automatically fix itself (reset to default) if it is broken now.
  • Fixed Recipe Creator outputting error message when recipe was successfully saved.
  • Fixed Recipe Creator not constructing cooking/smelting, grinding, and smithing recipes.
  • Fixed Furnace recipes outputting incorrect amount of items.
  • Updated/Fixed byte buffer encoding of recipes.
  • Fixed Stonecutter recipes not being created on save.
  • Improved the recipe API and made it more secure by checking arguments for other recipe types too (before only for crafting recipes).
  • Refactored GUI component classes, so they can only be accessed in their specific package.
  • Removed unused code
  • Changed default advanced crafting table recipe to the previous version.
  • Removed ICraftingRecipe and ICustomRecipe and instead put the methods directly into the CraftingRecipe and CustomRecipe abstract classes.
  • Updated Patreon list.
----------, Sep 22, 2021

Warning! Even though this version is relatively stable it is still being tested and might contain issues, that can corrupt your data! Before using this version, make a backup of the plugin folder! I didn't come across any breaking changes in my testing, but that doesn't mean it is fully stable. Please note that this is a beta version and there might be further changes. If you do find bugs or glitches or other issues, please let me know either on GitHub or Discord! So that's all the warnings done, let's go over the changes in this update.

Version number
The first number indicates major rewrites and plugin changes. So it was increased by 1. The second number is indicating the lowest compatible Minecraft version. The rest of the numbers stay the same in meaning. The third is for feature updates/api level, and the last for bug fixes.

Crafting Recipes

One of the biggest changes are the crafting recipes. They got a completely new structure internally and tons of improvements. Something that you might notice is the performance, when testing it on my server the timings concluded that it's up to 2x faster when placing in items into the grid and up to 6x faster when collecting the result. (Of course, these timings are just like this on my server. Performance might vary on your server. It would be interesting to hear about your findings.) The recipes are saved into two separate folders now, depending on if they are shapeless or shaped.

crafting_shaped or crafting_shapeless
crafting_elite_shaped
or crafting_elite_shapeless
Recipes from the old workbench/ elite_workbench folders will still be loaded, but will be ignored if a duplicate recipe exists in the new folders. Custom Shapes are back!
This for example removes a lot of duplicate ingredients and will simply create a chest.
[​IMG]
The in-game GUI creator is not capable to create these shapes yet, and you would have to optimize your configs manually for now.

Recipe Conditions

The conditions have been completely overhauled. Old conditions are still compatible and will be loaded. The condition menu works differently than before. You might notice that the menu is empty. That's because you need to add a condition using the add button on the top right.
[​IMG]
Then a menu will open with the available conditions for that recipe. Clicking on a condition will add it to the recipe. Go back, and you will see the condition is added and clicking on it will show a remove button at the bottom right and optionally further settings in the middle. The recipe only saves and checks the set conditions, which further improves performance. You can also code and register your own conditions (More news in future, as I might change some parts internally).

Disabling Recipes

You can disable any kind of recipe now, including campfire, stonecutter and smithing recipes. The recipes are temporarily completely removed from Minecraft and saved in the plugin. Once you enable them again, they are re-added to Minecraft.

Result Extensions & Targets

The package of Result Extensions & Targets changed from me.wolfyscript.customcrafting.recipe_item to me.wolfyscript.customcrafting.recipes.items to better group related classes together. Additionally, deprecated code has been removed.

API

CustomCrafting always had this kind of "API" with no guaranteed compatibility. CC 2 API is going to be more stable, in compatibility and usage. When creating recipes, for example, it will give you direct feedback if you pass in wrong arguments etc. (Print out an error that tells you what is actually wrong). Please remember that the API in this beta is still in development and might change (Changes will be made clear in future change logs).
----------, Sep 22, 2021

Resource Information
Author:
----------
Total Downloads: 483
First Release: Sep 22, 2021
Last Update: Aug 24, 2024
Category: ---------------
All-Time Rating:
17 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings