Mericle's CustomRecipes
CustomRecipes is a lightweight Minecraft Spigot plugin that allows server administrators to add custom crafting recipes using simple JSON files. The plugin supports both shaped and shapeless recipes with hot-reload functionality.
📖About Mericle's CustomRecipes
MERICLE'S CUSTOM RECIPES
Project Description
CustomRecipes is a lightweight, developer-friendly Minecraft Spigot plugin that enables server administrators to easily add custom crafting recipes to their Minecraft servers using simple JSON configuration files. The plugin bridges the gap between complex recipe management systems and user-friendly configuration, providing a clean and intuitive way to extend Minecraft's crafting system.
Core Purpose
This plugin addresses the common need for Minecraft server administrators to add custom crafting recipes without requiring complex programming knowledge. It provides a simple, JSON-based approach to recipe creation that's both human-readable and easy to maintain:
- File-driven configuration - Recipes defined in individual JSON files
- Hot-reload capability - Add recipes without server restarts
- ZenScript-inspired syntax - Familiar format for experienced users
- Zero dependencies - Standalone plugin with no external requirements
Key Features
JSON-Based Recipe System
- Recipes stored in individual
.jsonfiles in therecipes/folder - Comprehensive error handling with detailed logging for troubleshooting
- Automatic example recipe generation on first run
Comprehensive Recipe Support
- Shaped Recipes: Position-dependent crafting patterns (like vanilla tools)
- Shapeless Recipes: Order-independent ingredient combinations (like vanilla dyes)
- Item Tag Support: Uses Minecraft's item tags (e.g.,
#minecraft:sand) to accept multiple material variants
Advanced Item Customization
- Custom display names: Full color code support using
&formatting - Rich lore text: Multi-line item descriptions with color formatting
- Enchantment application: Automatic enchantment application to crafted items
- Flexible output quantities: Support for recipes producing multiple items
Recipe Management
- Hot-reload system with
/customrecipes reloadcommand - Recipe validation with detailed error reporting
- Automatic registration with Bukkit's crafting system
- Conflict detection and resolution
Developer-Friendly Architecture
- Modular design with clean separation of concerns
- Extensible structure for future feature additions
- Modern Java practices utilizing Java 21 features
Commands
/customrecipes- Show plugin information/customrecipes reload- Reload all recipes without server restart
Recipe Format Examples
Shaped Recipe (position matters)
{
"type": "shaped",
"name": "reinforced_sword",
"result": {
"item": "minecraft:diamond_sword",
"count": 1,
"display_name": "&bReinforced Sword",
"lore": ["&7Enhanced with special materials"],
"enchantments": {"sharpness": 2, "unbreaking": 1}
},
"pattern": [
["minecraft:diamond", "minecraft:diamond", "minecraft:diamond"],
["minecraft:air", "minecraft:stick", "minecraft:air"],
["minecraft:air", "minecraft:stick", "minecraft:air"]
]
}
Shapeless Recipe (order doesn't matter)
{
"type": "shapeless",
"name": "dirt_diamonds",
"result": {
"item": "minecraft:diamond",
"count": 4,
"display_name": "&aDirt Diamond"
},
"ingredients": [
"minecraft:dirt", "minecraft:dirt",
"minecraft:dirt", "minecraft:stick"
]
}
Server Impact
- Performance: Efficient recipe registration with minimal runtime overhead
- Compatibility: Works with Spigot, Paper, and Bukkit-based servers
- Scalability: Handles numerous custom recipes without performance impact
- Data: Minimal storage footprint with file-based configuration
Installation
- Download the plugin JAR file
- Place in your server's
plugins/folder - Restart the server
- Add JSON recipe files to
plugins/CustomRecipes/recipes/ - Use
/customrecipes reloadto load new recipes