Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
Advanced Minecraft Recipe Management Plugin
Extensive Recipe Support · Trigger System · Script Engine · GUI Interface · Item Plugin Integrations
Why Craftorithm
- Matches items by other plugin-provided item ID — renaming, adding enchantments, or even changing item types won't affect crafting
- Implements functionality by injecting into the vanilla crafting system — performance far surpasses plugins that rely on event listeners, with full support for all vanilla features
- Disable recipes from vanilla or other plugins
- Result processors, triggers, custom chest menus, and other powerful customization features
Features
Quick Start
Requirements
- Java: 21 or higher
- Server: Paper / Spigot 1.20+ (Folia supported)
Installation
- Downloa plugin
- Place the JAR file in the
plugins/directory - Restart the server
Create Your First Recipe
/cra create vanilla_shaped
Place ingredients and result items in the GUI, then click confirm. Recipes are automatically saved to
plugins/Craftorithm/recipes/.
Powerful Configuration
Result Processors
Result processors allow you to apply additional modifications to crafting results, for example:
result_processors:
enchantments:
type: copy_from_source
lore:
type: add
data:
value:
- "&7Legendary Weapon"
- "&aForged in the Nether"
attributes:
type: merge_source
Supports copy_from_source / add / merge_source / remove strategies for various component types including
enchantments, attributes, lore, item flags, and more.
Crafting Remainders
remainders controls what each crafting input slot leaves behind after a craft. Each rule uses action to select
durability damage, item replacement, or keeping the original item:
remainders:
- ingredient: minecraft:flint_and_steel
action: damage
damage: 1
- ingredient: my_items:magic_water_bucket
action: replace
item: minecraft:iron_ingot 2
- ingredient: my_items:reusable_catalyst
action: keep
damage: keeps the consumed item and applies the configured durability damage; it breaks when durability runs out.replace: returns the configureditem; the amount follows the item ID (for exampleminecraft:iron_ingot 2) and defaults to 1.keep: returns one unchanged copy of the consumed item.- Ingredients use the same IDs as recipe ingredients, including vanilla IDs, custom IDs,
tag:, anditem_pack:. - Slots without a matching rule keep their vanilla remainder. When multiple rules match, the first one wins.
World Isolation
enable_worlds restricts a recipe to specific worlds. When omitted, the recipe is available in every world:
# Single world
enable_worlds: world
# Multiple worlds
enable_worlds:
- world
- world_nether
- World names are Bukkit world names, not namespaced IDs.
- Unknown worlds are reported as errors during loading and skipped.
- Recipes without
enable_worldsare not restricted. - Currently applies to anvil, brewing, and stonecutting recipes.
Documentation
| Module | Description |
|---|---|
| Quick Start | Installation, commands, permissions |
| Recipe System | Multiple recipe types explained |
| Trigger System | Event listeners and conditions |
| Script Engine | Syntax and built-in functions |
| Item System | Custom items and external plugins |
| Configuration | Configuration reference |
| UI System | GUI and custom menus |


