Lattice
A developer framework for structured, Folia-aware Paper plugins on Java 21.
Lattice standardizes lifecycle, modules, services, configuration, commands, text, tasks, UI, storage, diagnostics, and optional integrations so Minecraft plugins can stay small, explicit, and production-ready.
What Is Lattice?
Lattice is the shared foundation for BerylStudios and BerylLabs Minecraft plugins. It is not a gameplay plugin and it does not add commands, worlds, mechanics, or player-facing features by itself.
Plugin authors use Lattice to build Paper/Folia plugins with a consistent runtime shape: explicit modules, predictable lifecycle phases, typed services, validated configuration, Folia-aware task routing, storage helpers, and diagnostics that are useful when something breaks in production.
Deployment Model
Since 0.8.0, the preferred deployment model is the standalone shared runtime:
| Mode | Use When | Runtime Behavior |
|---|---|---|
| Standalone shared runtime | New Paper/Folia plugins that can depend on Lattice being installed on the server | The server installs the Lattice plugin once. Dependent plugins compile against Lattice without relocation and join the Lattice classpath through an explicit Paper dependency. |
| Legacy isolated library mode | Self-contained plugin jars or compatibility paths that still need shading | Each dependent plugin owns its own Lattice runtime, module graph, service registry, task tracking, storage handles, and diagnostics surface. |
The standalone runtime is the recommended path for new work because it avoids repeating shared infrastructure across every dependent plugin on the same server.
What It Provides
| Area | Built-in Support |
|---|---|
| Lifecycle | Load, enable, ready, disable, startup reports, and failure rollback |
| Modules | Explicit feature modules with dependency ordering and cycle detection |
| Services | Typed service registry without reflection-heavy dependency injection |
| Config | Configurate YAML, defaults, validation, schema versions, migrations, and optional Junction variable rendering |
| Commands | Backend-neutral command trees with Paper registration |
| Text | Adventure components, MiniMessage, and legacy input boundaries |
| Tasks | Folia-aware async, global, region, and entity scheduling |
| UI | Inventory menus, books, anvil input, and virtual sign input |
| Storage | SQLite, MySQL, MariaDB, PostgreSQL, HikariCP, migrations, JDBC helpers, and shared pool management in standalone mode |
| Diagnostics | Runtime snapshots for lifecycle, modules, services, commands, tasks, UI, storage, and integrations |
| Integrations | PlaceholderAPI, PacketEvents, Junction, Nexo, Oraxen, ItemsAdder, and CraftEngine |
Modules
Lattice is split into three Maven artifacts:
| Artifact | Purpose |
|---|---|
io.github.hydr46605:lattice-api |
Minimal API status markers and the first shared-runtime contract boundary. |
io.github.hydr46605:lattice-core |
Platform-neutral contracts and base implementations under dev.beryl.lattice. |
io.github.hydr46605:lattice-paper |
Paper/Folia bootstrap, scheduler, command, UI, diagnostics, storage, hook, integration, and standalone host adapters. |
lattice-core intentionally contains no Bukkit, Paper, or Folia classes. Server-specific behavior belongs in lattice-paper, keeping core APIs testable and stable for plugin authors.
Compatibility
- Java 21
- Modern Paper
1.21.x, currently targeting1.21.11 - Folia-aware scheduling through explicit task contexts
- Adventure components and MiniMessage as the primary text format
- Pre-1.0 API status while the framework is hardened against real plugin integrations
Current Status
Lattice is in the 0.x beta line. Stable authoring paths exist, but breaking changes can still happen before 1.0.
The current focus is the shared-runtime architecture: one installed Lattice host, dependent plugins that register into that host cleanly, shared JDBC pool management, clearer diagnostics, and a smaller public API surface for long-term plugin authoring.
- Edition: Minecraft Java
- File type: .jar
- Minecraft version listed: 1.21.11
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Modrinth — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
- Ships as lattice-paper-0.8.9-standalone.jar — drop this file into the mods folder
- Download size: 19.6 MB
- Download link checked 22 Aug 2026 — working
These come from our own check of the pack file, not from the source page.
