A modular Java toolkit for persistence, dependency injection, Minecraft platforms, Spring applications, and everyday utilities.
Foundation is organized as a Maven reactor. Each module can be used independently, so applications can choose the pieces that fit their stack.
| Module | What it provides |
|---|---|
| Database | PostgreSQL persistence with optional Redis storage and caching |
| Injector | Constructor-based dependency injection and component lifecycle management |
| Minecraft | Shared Minecraft support and Paper/Velocity plugin frameworks |
| Spring | Reusable Spring Boot web features |
| Utilities | General-purpose Java helper classes |
An entity persistence stack for PostgreSQL, with optional local and Redis caching, tiered lookups, schema synchronization, and batched writes. See the Database guide for usage details.
| Maven module | Purpose |
|---|---|
| Database-API | Entity, property, query, repository, holder, and tenant contracts |
| Database-Storage | Local cache, Redis storage, and entity codecs |
| Database-Lookup | Lookups across local cache, Redis, and PostgreSQL |
| Database-Core | PostgreSQL integration, schema management, repositories, and batched writes |
A lightweight dependency injector with constructor injection, application lifecycles, generic-aware providers, live component collections, and optional extensions. See the Injector guide.
| Maven module | Purpose |
|---|---|
| Injector-API | Annotations, contracts, callbacks, extension SPI, and exceptions |
| Injector-Core | Dependency resolution, component registration, and lifecycle runtime |
| Injector-Extensions | Optional additions to the Injector |
| Injector-Commons-Extension | Annotation-based lifecycle hooks |
| Injector-Scheduler-Extension | Scheduled component methods and executor integration |
| Injector-Configuration-Extension | JSON/YAML configuration loading, saving, and reloading |
Shared Minecraft support plus platform-specific plugin frameworks. Paper addons are optional and can be selected individually.
| Maven module | Purpose |
|---|---|
| Minecraft-Common | Shared code and Adventure text support |
| Minecraft-Paper-Plugin-Framework | Paper plugin framework integrated with Utilities and Injector |
| Minecraft-Paper-Addons | Optional Paper features |
| Minecraft-Paper-Addon-Billboard | Billboard displays and image/video support |
| Minecraft-Paper-Addon-Death | Death events and custom death messages |
| Minecraft-Paper-Addon-Hologram | Holograms and their lifecycle events |
| Minecraft-Paper-Addon-Item | Custom items, activation, recipes, and cooldowns |
| Minecraft-Paper-Addon-Sidebar | Player sidebar displays |
| Minecraft-Paper-Addon-Tablist | Player tab list management |
| Minecraft-Paper-Addon-Team | Team management and related events |
| Minecraft-Velocity-Plugin-Framework | Velocity plugin framework integrated with Utilities and Injector |
Reusable Spring Boot web components for servlet-based applications. The modules share common request configuration and can otherwise be adopted independently.
| Maven module | Purpose |
|---|---|
| Spring-Common | Shared properties, IP resolution, request path utilities, and filter ordering (guide) |
| Spring-Pages | Page routes, access rules, assets, caching, navigation, and pagination (guide) |
| Spring-Ratelimit | Annotation-driven controller rate limiting (guide) |
| Spring-Security | Security headers, Content Security Policy, and CSRF protection (guide) |
A collection of Java helpers for reflection, strings, numbers, HTTP, files, hashing, Base64, Argon2, and functional interfaces. Its Maven module is Utilities.
Use JDK 25 and Maven to build and install the complete project from the repository root:
mvn clean installThe root POM aggregates all module families and configures Java 25 compilation and JUnit tests.