▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Lattice

Lattice

A Java 21 shared runtime and framework for structured Paper/Folia plugin development.

Оцените первым
69
1

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:

ModeUse WhenRuntime Behavior
Standalone shared runtimeNew Paper/Folia plugins that can depend on Lattice being installed on the serverThe 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 modeSelf-contained plugin jars or compatibility paths that still need shadingEach 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

AreaBuilt-in Support
LifecycleLoad, enable, ready, disable, startup reports, and failure rollback
ModulesExplicit feature modules with dependency ordering and cycle detection
ServicesTyped service registry without reflection-heavy dependency injection
ConfigConfigurate YAML, defaults, validation, schema versions, migrations, and optional Junction variable rendering
CommandsBackend-neutral command trees with Paper registration
TextAdventure components, MiniMessage, and legacy input boundaries
TasksFolia-aware async, global, region, and entity scheduling
UIInventory menus, books, anvil input, and virtual sign input
StorageSQLite, MySQL, MariaDB, PostgreSQL, HikariCP, migrations, JDBC helpers, and shared pool management in standalone mode
DiagnosticsRuntime snapshots for lifecycle, modules, services, commands, tasks, UI, storage, and integrations
IntegrationsPlaceholderAPI, PacketEvents, Junction, Nexo, Oraxen, ItemsAdder, and CraftEngine

Modules

Lattice is split into three Maven artifacts:

ArtifactPurpose
io.github.hydr46605:lattice-apiMinimal API status markers and the first shared-runtime contract boundary.
io.github.hydr46605:lattice-corePlatform-neutral contracts and base implementations under dev.beryl.lattice.
io.github.hydr46605:lattice-paperPaper/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 targeting 1.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.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

1.21.x

Платформы

Поддерживаемые окружения

Сервер

Ссылки

Детали

Лицензия:
Опубликован:2 месяца назад
Обновлён:3 недели назад
Главная