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.

22

Quick challenge

How far can you run before the mobs catch you?

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: - Zero dependencies - Recipes defined in individual JSON files - Zero dependencies - Add recipes without server restarts - Zero dependencies - Familiar format for experienced users - Zero dependencies - Standalone plugin with no external requirements

Key Features

JSON-Based Recipe System

- Recipes stored in individual `.json` files in the `recipes/` folder - Comprehensive error handling with detailed logging for troubleshooting - Automatic example recipe generation on first run

Comprehensive Recipe Support

- Item Tag Support: Position-dependent crafting patterns (like vanilla tools) - Item Tag Support: 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

- Flexible output quantities: Full color code support using `&` formatting - Flexible output quantities: Multi-line item descriptions with color formatting - Flexible output quantities: Automatic enchantment application to crafted items - Flexible output quantities: Support for recipes producing multiple items

Recipe Management

- Hot-reload system with `/customrecipes reload` command - 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)

```json { "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)

```json { "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

- Data: Efficient recipe registration with minimal runtime overhead - Data: Works with Spigot, Paper, and Bukkit-based servers - Data: Handles numerous custom recipes without performance impact - Data: Minimal storage footprint with file-based configuration

Installation

1. Download the plugin JAR file 2. Place in your server's `plugins/` folder 3. Restart the server 4. Add JSON recipe files to `plugins/CustomRecipes/recipes/` 5. Use `/customrecipes reload` to load new recipes

ADS