DreamAPI is a comprehensive and modular API designed as the technical foundation for the entire Dreamin Ecosystem. Built for Minecraft Paper 1.21.10, it provides a rich set of tools and abstractions for creating advanced plugins with minimal boilerplate and maximum flexibility.
- 🎯 Multi-Module Architecture — Composed of
api,core, andplugin-basefor clean separation. - 🎨 Rich API Surface — Includes systems for animations, GUIs, commands, configs, databases, dialogs, events, and more.
- 🎮 Game-Ready Components — Built-in support for inventories, items, recipes, glowing effects, and game mechanics.
- 🔌 Plugin Foundation — Base classes and utilities to accelerate plugin development.
- 🌐 HTTP & Database Integration — Native support for external APIs and data persistence.
- 🧩 Service Architecture — Dependency injection and service management for scalable plugins.
- 🪶 Performance Optimized — Leveraging modern Java 21 features and Paper APIs.
- 🛠️ Developer Experience — Includes Lombok, annotations, and intuitive builders.
DreamAPI aims to provide a production-ready foundation for Minecraft plugin development by:
- offering reusable components for common plugin needs (GUIs, commands, configs, etc.),
- establishing consistent patterns and best practices across the Dreamin ecosystem,
- reducing boilerplate code through annotations and builders,
- enabling rapid prototyping with pre-built systems,
- ensuring compatibility and interoperability between all Dreamin modules.
DreamAPI powers all projects in the Dreamin ecosystem, including DreamHud, and is battle-tested in production.
📦 DreamAPI
┣ 📁 api/
┃ ┣ 📁 animation/ ─ Animation and interpolation systems
┃ ┣ 📁 cmd/ ─ Command framework and builders
┃ ┣ 📁 config/ ─ Configuration management
┃ ┣ 📁 database/ ─ Database abstractions and utilities
┃ ┣ 📁 dialog/ ─ Dialog and conversation systems
┃ ┣ 📁 event/ ─ Custom event handling
┃ ┣ 📁 game/ ─ Game mechanics and utilities
┃ ┣ 📁 glowing/ ─ Entity glowing effects
┃ ┣ 📁 gui/ ─ GUI creation framework
┃ ┣ 📁 http/ ─ HTTP client and REST utilities
┃ ┣ 📁 inventory/ ─ Advanced inventory management
┃ ┣ 📁 item/ ─ Item builders and utilities
┃ ┣ 📁 logger/ ─ Enhanced logging system
┃ ┣ 📁 recipe/ ─ Custom recipe management
┃ ┣ 📁 services/ ─ Service architecture and DI
┃ ┗ 📁 util/ ─ Common utilities and helpers
┣ 📁 core/ ─ Core implementations
┣ 📁 plugin-base/ ─ Base plugin class and utilities
┗ 📄 README.md
DreamAPI is organized into specialized modules covering all aspects of plugin development:
| Module | Description |
|---|---|
| 🎬 Animation | Frame-based animations with interpolation support |
| ⌨️ Command | Modern command framework with auto-completion |
| ⚙️ Config | YAML/JSON configuration with type-safe access |
| 💾 Database | SQL and NoSQL database abstractions |
| 💬 Dialog | In progress |
| 🎯 Event | Custom event system with priority handling |
| 🎮 Game | Game state management and mechanics |
| ✨ Glowing | Per-player entity glowing with team support |
| 🖼️ GUI | Inventory-based GUIs with InvUI integration |
| 🌐 HTTP | HTTP client for REST API communication |
| 🎒 Inventory | Advanced inventory serialization and management |
| 🔧 Item | Fluent item builders with NBT support |
| 📝 Logger | Colored logging with configurable levels |
| 🍳 Recipe | Dynamic recipe creation and registration |
| 🔌 Services | Dependency injection and lifecycle management |
| 🛠️ Utilities | String, math, player, and world utilities |
Maven
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependency>
<groupId>com.github.Dreamin-MC</groupId>
<artifactId>DreamAPI</artifactId>
<version>0.0.9.1:all</version>
</dependency>Gradle (Kotlin DSL)
repositories {
maven("https://jitpack.io")
}
dependencies {
compileOnly("com.github.Dreamin-MC:DreamAPI:0.0.9.1:all")
}Gradle (Groovy)
repositories {
maven { url "https://jitpack.io" }
}
dependencies {
compileOnly 'com.github.Dreamin-MC:DreamAPI:0.0.9.1:all'
}DreamAPI is the cornerstone of the Dreamin Ecosystem, providing shared functionality for all modules:
| Project | Description |
|---|---|
| 🧠 DreamAPI | Central and modular API foundation (you are here) |
| 🌈 DreamHud | Dynamic HUD display system using bossbars |
More modules coming soon!
| Status | Version | Compatibility |
|---|---|---|
| 🧪 In active development | v0.0.9.1 |
Paper 1.21.10 |
| 🔜 Beta Release | v0.1.0 |
Enhanced documentation & stability |
| 🚀 Stable Release | v1.0.0 |
Full API freeze & production-ready |
⚠️ DreamAPI is under active development. Breaking changes may occur until v1.0.0.📌 Recommendation: Pin to specific versions in production and test thoroughly before upgrading.
DreamAPI consists of four modules that can be used independently or together:
api— Pure interfaces and abstractions (no Paper dependency)core— Implementation of API contracts for Paperplugin-base— Base plugin class with lifecycle management
📘 Documentation (coming soon)
- API reference with Javadocs
- Integration guides and tutorials
- Architecture patterns and best practices
- Migration guides between versions
Contributions are welcome! Before submitting a PR:
- Follow the existing code style (Lombok, builders, etc.)
- Ensure backward compatibility when possible
- Add tests for new features
- Update documentation and examples
- Test on Paper 1.21.10+
DreamAPI integrates with popular libraries for enhanced functionality:
- InvUI — Advanced inventory UIs
- LuckPerms API — Permission management
- Citizens API — NPC support
- BKCommonLib — Packet utilities
- Apache HttpClient 5 — HTTP communication
- Jackson — JSON processing
All external dependencies are marked as compileOnly — your plugin decides which to include.
This project is distributed under the GPL-3.0 license. ➡️ See the LICENSE file
- Issues: GitHub Issues
- Discord: Join our Discord
Made with ❤️ by the Dreamin Studio