Skip to content

Dreamin-MC/DreamAPI

Repository files navigation

DreamAPI

Version JitPack Java Paper License


Overview

DreamAPI is a modular API and runtime foundation for the Dreamin ecosystem. It targets modern Paper servers and provides reusable systems for commands, recipes, items, visual effects, world tools, localization, and service-driven architecture.


Key Features

  • Multi-module architecture with api, core, plugin-base, and example-plugin.
  • Service-oriented runtime with dependency-aware loading (@DreamAutoService) and lifecycle hooks.
  • Rich gameplay tooling including recipes, item registry, glowing, tab list, world border, and cuboids.
  • NMS visual utilities for fake entities, fake blocks, and client-side visual state.
  • Localization stack based on Adventure translators and JSON language files.
  • Plugin bootstrap layer via DreamPlugin with automatic service, listener, and command wiring.

Project Goal

DreamAPI aims to provide a public, production-focused foundation for Paper plugin development by:

  • reducing boilerplate through shared abstractions,
  • standardizing service patterns across projects,
  • enabling faster prototyping with reusable runtime components,
  • keeping plugin internals maintainable with clear module boundaries.

Project Structure

DreamAPI/
  api/            // Public interfaces, models, and contracts
  core/           // Runtime implementations
  plugin-base/    // DreamPlugin base class and bootstrap helpers
  example-plugin/ // Reference plugin using DreamAPI

Services Documentation

For plugin integration, service pages are usually the most useful entry point.

Visual & NMS

Gameplay & Data

Utility & Integration

Core/Internal Services

Full directory: docs/services/index.md


Developer Integration

Adding as a dependency

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.3.4</version>
</dependency>

Gradle (Kotlin DSL)

repositories {
  maven("https://jitpack.io")
}

dependencies {
  compileOnly("com.github.Dreamin-MC:DreamAPI:0.3.4")
}

Gradle (Groovy DSL)

repositories {
  maven { url = "https://jitpack.io" }
}

dependencies {
  compileOnly "com.github.Dreamin-MC:DreamAPI:0.3.4"
}

Dreamin Ecosystem

DreamAPI is the shared technical base used by Dreamin modules and plugins.

Project Description
DreamAPI Core modular API/runtime foundation

Project Status

Status Current Version Target Runtime
Active development v0.3.4 Java 25 + Paper 26.1.2.build.+
Version Line Runtime Notes
v0.2.x Current development line
v1.0.0 Planned stable line with API freeze

DreamAPI is still evolving. Breaking changes may happen before v1.0.0. For production servers, pin exact versions and test upgrades first.


Sub-Modules

  • api: public contracts and interfaces
  • core: service implementations and runtime internals
  • plugin-base: DreamPlugin bootstrap class
  • example-plugin: integration reference project

Documentation

If you are integrating DreamAPI publicly, start with:

  1. docs/index.md
  2. docs/architecture.md
  3. docs/services/README.md
  4. docs/examples/service-recipes.md

Contributing

Contributions are welcome. Before opening a pull request:

  • follow the existing code style and package conventions,
  • preserve backward compatibility where possible,
  • add or update tests when behavior changes,
  • update documentation for public-facing API changes,
  • validate on the current Paper runtime line.

External Dependencies

DreamAPI integrates with a set of known libraries, including:

Dependency scopes may differ by module (implementation vs compileOnly), see each module build file for exact runtime expectations.


License

This project is distributed under the GPL-3.0 license. See LICENSE.


Support

About

DreamAPI is a modular, feature-rich API framework forming the technical backbone of the Dreamin’ ecosystem, designed to accelerate Minecraft Paper plugin development with tools for commands, GUIs, configs, databases, events, services, animations and more. GitHub

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors

Languages