Releases: WolfyScript/CustomCrafting
Further Bug Fixes & Improvements | v4.16.8.4
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
Bug Fixes | v4.16.8.3
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
Bug Fixes & Improvements | v4.16.8.2
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
Armor Trim Merge Adapter, Bug Fixes & more | v4.16.8.1
Armor Trim Merge Adapter
The new Armor Trim merge adapter makes it possible to copy armor trim patterns and materials from ingredients to the result stack.
It provides some further options to customize its behaviour.
Examples
Copies the pattern and changes the material to amethyst.
{
key = "customcrafting:armor_trim"
copyPattern = true
copyMaterial = false
defaultMaterial = "minecraft:amethyst"
}Copies the pattern from the ingredient in slot 1 and the material from slot 2.
{
key = "customcrafting:armor_trim"
copyPattern = [ 1 ]
copyMaterial = [ 2 ]
}Copies both the pattern and material.
{
key = "customcrafting:armor_trim"
copyPattern = true
copyMaterial = true
}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
Update to 1.20 / 1.20.1, Recipe Book Overhaul & more | v4.16.8.0
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:
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
Item Type Merge Adapter & Bug Fixes | v4.16.8-beta.3
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:
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
Bug Fixes & Improvements | v4.16.8-beta.2
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
Update to 1.20 / 1.20.1 | v4.16.8-beta.1
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
Bug Fixes & Improvements | v4.16.7.2
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
Recipe Book Config Fix | v4.16.7.1
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