Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details

Note: This is my own fork of the CraftEnhance project, originally released on Spigot. This version can safely replace the Spigot one.
Showcases
The plugin allows you to create and disable any recipe in-game through guis. Itās simple and intuitive to use. Hereās a slightly outdated but still useful video that demonstrates the core features:
Demonstration

Recipe support
Supports fully custom recipes for brewing, crafting tables (including the crafter), furnaces, smokers, and blast furnaces. If ālearn recipesā is enabled, recipes will also be granted to players on join.
In addition, the plugin will attempt to register recipes directly on the server using full item metadata, including ingredients, when the Minecraft version supports it (modern versions like 1.14+). In legacy versions, ingredient metadata support may be more limited compared to output items. Regardless of version, the plugin guarantees full functionality by automatically falling back to a compatible plain-item registration method so recipes always work as expected.
Custom Items
You can create recipes using enchantments, custom names, durability, potions, or basically any item data available in the game.
GUI Support
Editing recipes, creating recipes, viewing recipes and ordering the recipes in the viewer GUI are all possible through inventory GUIs.
Quick Edit Access
Opening the editor for a recipe is not done through a command, but done through a simple middlemouseclick on a recipe in the recipe viewer. This does require a permission.
Set permission
To give server owners full control, permissions for the custom recipes exist. People that don't have the permission for a custom recipe, canāt craft or view it. The 'seeing' part can be configured.
Hide recipes
You can simply hide recipes for the players that don't have the 'bypass' permission for it. They'll still be able to craft the recipes if they have permissions for the recipe.
Disable vanilla recipes
There's a gui which you can use to disable all the vanilla recipes you want. No more over-powered, cheap diamond/netherite armor!
Edit items in-game
To make cool recipes an item editor is needed. This item editor allows users to set colored lore, colored names, durability, enchantments, item flags, and even the localized name of items. And for the record: Item flags (used to hide enchantments or attributes) are also supported.
Tab completion support
I personally think this is a must have feature since the 1.13 update of Minecraft. No more remembering all commands, just the first few letters of the basics.
These are the commands related to custom recipe creation and viewing.
Commands
/ceh -> Use tabcompletion on this!
/ceh viewer [page or category] [number or name] -> Open the recipe viewer GUI. You can also open specific page or a recipe category.
/recipes -> Open the recipe viewer GUI.
/ceh createrecipe [key] [perms] -> Create a recipe with the specified key and permission. If no arguments are given it'll generate a key for you and let the recipe require not permission.
/ceh specs [key] -> Show the specs of the recipe with the specified key. The specs only include the permission currently.
/ceh setpermission [key] [perms] -> Change the permission of the recipe with the specified key to new_permission.
/ceh changekey [key] [newKey] -> This command allows users to change the key of the recipe with the specified key.
/ceh reload -> Reloads the whole plugin!
Item editing
Item editing
/edititem -> This is the basic command for editing items. Please use tab completion on this./edititem name [name] -> Edit the name of the item in your main hand.
/edititem durability [1-100] -> Set the durability of the item in your main hand to [1-100]% of it's max durability. /edititem enchant [enchantment,clear] [level] [... etc.] -> Set your specified enchantments to your held item. It removes all enchants (will not remove old enchants, any more) and then adds the specified ones. Please let me know if this is weird and needs modification. For clear old enchants use clear instead of the enchantment name.
/edititem itemflag [itemflag] [itemflag] [... etc.] -> Toggle the specified itemflags on your held item.
/edititem lore [line_number] [lore] -> Set the specified line of the lore of your held item to be the specified text. The text section can be left empty if an empty line needs to be added.

The permissions are configurable! However, these are the default permissions. You can also look these up in the config.yml file.
Permissions
craftenhance.edit -> for /ceh createrecipe, /ceh cleanitemfile, /ceh reload, /ceh setpermission, /ceh specs, /ceh changekey. This is also the permission required to middleclick recipes to open the editor.
craftenhance.view -> for /ceh viewer, /recipes
craftenhance.edititems -> All commands that start with /edititem.
craftenhance.edit_categorys -> gives you the option to edit categories, so you can move recipes from this category,remove category,change category name and change the display item.
Alongside config.yml, four additional files will be generated: guitemplates.yml, recipes.db, categorys.yml, and server-recipes.yml.
GUI Templates
This file allows you to fully customize all GUIs used by the plugin. The preset configuration should be fairly self-explanatory, so only the core concepts are covered here:
- fill-space: Defines a range of slot indexes where items can be automatically filled (for example, recipe slots in the recipe viewer). -Menus: Contains the different GUI menus. Do not rename these keys, as they are required internally.
- buttons: Specifies button locations, as well as the name and lore displayed for each button in the menu.
- action_type: Defines what action a button performs. These are hardcoded and cannot be modified.
Recipes Database
All recipes are stored in this SQLite database. While it is possible to manually create or edit recipes here, it is not recommended, since all recipes can be managed through the in-game GUIs.
config
This file contains various settings, including messages and permissions. Two important options are: one that allows you to disable custom crafting without affecting recipes already registered on the server, and another that controls whether players can view recipes they donāt have permission to use.


