Description
Create a production-ready Minecraft Paper plugin named “DreamAdder” for PaperMC 1.21.x.
DreamAdder is a lightweight, free, ItemsAdder-like plugin that lets server owners create custom items, blocks, and furniture using YAML configuration files and an automatically generated resource pack.
Requirements:
- Modular, scalable, clean architecture
- Paper / Bukkit API only
- No NMS
- Optimized for large servers
- Java 17+
Features:
Core:
- Main class: DreamAdder
- Auto-generate folders on first run
- Safe reload system
- Versioned configs
Custom Items:
- Items defined in items/*.yml
- Supports material, CustomModelData, name & lore (MiniMessage), enchantments, attributes, durability, cooldowns, sounds, and click actions
- Items identified via PersistentDataContainer
- ItemManager for caching
- Commands:
/dreamadder give <player> <item>
/dreamadder list
/dreamadder reload
Custom Blocks:
- Implemented using NoteBlocks (solid) and Tripwires (thin)
- Supports custom hardness, sounds, drops, tools, animations
- Persistent across restarts using PersistentDataContainer
- BlockManager handles place, break, interact, explode events
Furniture:
- Implemented using ItemDisplay entities
- Supports rotation, hitboxes, seating, interactions
- Defined in YAML with protection & removal system
Resource Pack:
- Automatic resource pack generation
- Generates item/block models and textures
- Uses CustomModelData overrides
- Pack versioning with hash checking
- Commands:
/dreamadder resourcepack generate
/dreamadder resourcepack send
- External hosting via configurable URL
Configuration:
- Folder structure: items/, blocks/, furniture/, resourcepack/
- YAML validation with clear errors
- Hot reload support
Commands & Permissions:
- Base command: /dreamadder (alias /da)
- Subcommands: give, reload, list, debug, resourcepack
- Permissions:
dreamadder.admin
dreamadder.give
dreamadder.reload
Performance:
- Async file I/O
- No heavy logic on main thread
- Cached items & blocks
- Chunk-safe loading
Code Output:
- Full Java source code
- plugin.yml
- Example YAML configs
- Example resource pack structure
- Must compile successfully
Notes:
- Do NOT copy or reference ItemsAdder
- Implement original systems inspired by similar concepts
- Focus on stability, clarity, and extensibility
The result should feel like a real ItemsAdder alternative named “DreamAdder”.