🧩 Plugin Concept: Custom Crafting + Ritual System (Paper) 📌 Overview The plugin is a custom crafting system with a GUI editor, allowing players to: Create custom crafting recipes via an in-game GUI Define outputs, ingredients, and limits Add a ritual mechanic to certain recipes Instead of crafting normally, some recipes trigger a ritual event: Item floats above a crafting table A boss bar displays crafting progress + coordinates A timed ritual completes and drops the item 🧱 Core Systems 1. Command System Primary command: /customcraft Subcommands: /customcraft create → Opens recipe creation GUI /customcraft edit <id> → Edit existing recipe /customcraft delete <id> /customcraft list /customcraft give <player> <recipe> Permissions: customcraft.admin customcraft.use 2. GUI-Based Recipe Creator GUI Layout (Chest-based) Use a 6-row inventory GUI: Top rows → Ingredient grid (3x3 crafting layout) Side slots → Settings buttons Bottom row → Save / Cancel Buttons: ✅ Save Recipe ❌ Cancel ⚙ Toggle Ritual Mode 🔢 Set Craft Limit ⏱ Set Ritual Time ✨ Set Visual Effects 📍 Toggle Coordinate Broadcast Behavior: Players drag items into the grid Click output slot to define result item Clicking settings opens sub-GUIs (anvil input or chat input) 3. Recipe Data Structure Each recipe should store: id: unique_id ingredients: - slot: 0 material: DIAMOND output: material: NETHER_STAR name: "&dCustom Star" ritual: enabled: true time: 10 # seconds broadcast: true effects: - PARTICLE: PORTAL - SOUND: BEACON_ACTIVATE limits: maxCrafts: 5 perPlayer: true 4. Craft Detection System Hook into: PrepareItemCraftEvent CraftItemEvent Logic: Check if recipe matches a custom one If NOT ritual → give item instantly If ritual enabled → cancel craft and start ritual 🔮 Ritual System (Core Feature) Trigger When a player crafts a ritual recipe: Cancel normal crafting Start ritual sequence Ritual Behavior 1. Spawn Floating Item Spawn invisible armor stand at crafting table Set item as helmet or use dropped item with gravity disabled Apply slow rotation 2. Boss Bar Display Create boss bar: Title: Crafting at X: 123 Y: 64 Z: 456 Progress decreases over time Color configurable 3. Timer System Runs every tick (or every second) Decreases boss bar progress Plays effects periodically 4. Effects During Ritual Examples: Particles (PORTAL, ENCHANTMENT_TABLE) Sounds (BEACON, AMBIENT) Lightning (optional, configurable) 5. Completion When timer ends: Remove floating entity Drop item naturally Play completion sound Broadcast message (optional) 6. Failure Conditions (optional feature) Player moves too far → cancel ritual Block broken → cancel ritual Timeout → fail result ⚙️ Config System (Highly Customizable) config.yml example: general: prefix: "&6[CustomCraft]&r" debug: false ritual: enabled: true default-time: 10 bossbar: color: PURPLE style: SEGMENTED_10 broadcast-coordinates: true cancel-on-move: false max-distance: 10 limits: default-max-crafts: -1 per-player: true effects: particles: true sounds: true lightning: false gui: title: "&8Custom Craft Creator" 💾 Data Storage Use: YAML files per recipe OR Single recipes.yml Structure: /plugins/CustomCraft/ recipes.yml config.yml data/ Optional: Use SQLite for scalability 🧠 Advanced Features (Optional but Recommended) 1. Craft Limits Per player tracking Global limits Cooldowns 2. Permissions Per Recipe customcraft.recipe.<id> 3. Placeholder Support Integrate with PlaceholderAPI: %customcraft_uses_<id>% 4. Animation Enhancements Item spiraling upward Expanding particle rings Sound progression 5. Multi-Block Rituals (Future Idea) Require structure (e.g., candles, blocks) Validate structure before ritual starts 🔧 Technical Implementation Notes Use Bukkit Scheduler (BukkitRunnable) for timers Use BossBar API Use PersistentDataContainer to tag custom items GUI handling via InventoryClickEvent Use enums/config parsing for effects 🧪 Example Flow Player runs /customcraft create Opens GUI → defines recipe Enables ritual + sets time = 15 seconds Saves recipe Player crafts item in table Craft is intercepted Item floats above table Boss bar shows coordinates + countdown After 15 seconds → item drops 🎯 Goal Summary This plugin combines: GUI-based recipe creation Custom crafting system Ritual-style crafting animation Highly configurable settings Expandable architecture