Skip to content
Petrus Pradella edited this page Jul 23, 2026 · 7 revisions

EverNifeCore

One core library. Every plugin. Bukkit and Hytale.

A multi-platform framework for Minecraft plugins on the JVM. Write your commands, config, messages and player data once against a small, typed API - annotation-driven commands, a multi-language locale system, rich chat text, and async player data backed by any database - then ship it on Bukkit / Spigot / Paper or Hytale without rewriting the plumbing.

The common core never imports Bukkit. Platform-specific behavior reaches it through a provider/platform abstraction, so the same business logic runs on either engine.

This wiki is the developer guide.


Start here

  1. Installation - add the repository and one compileOnly dependency.
  2. Quick Start - a minimal plugin: a @FinalCMD command, a config value, and a localized message, end to end.
  3. Project Layout - the Gradle modules and where the deployable JAR comes from.
  4. Architecture Overview - common with zero Bukkit imports, the two platforms, the startup sequence.

What can it do?

You want to… Go to
Register a command from an annotated class/method Command Framework
Auto-parse typed command arguments (and write custom parsers) Argument Parsing
Ship messages in multiple languages Localization
Build hover/click rich chat text FancyText
Replace {placeholders} and hook PlaceholderAPI Placeholders
Store per-player data on any backend, async PlayerData & PDSections
Link a player's data across alt accounts Accounts
Let admins choose where data lives Storage Backends
Route your own plugin's data through a backend Inline Backends for Plugins
Import a server's pre-3.0 YAML data Legacy Data Migration
Rate-limit actions per server or per player Cooldowns
Read/write commented YAML config Configuration
Schedule sync/async tasks (virtual threads) Scheduler & Threading
Build item stacks with NBT Items & NBT
Open paginated inventory GUIs GUI Framework
Hook Vault, PAPI, WorldEdit, protection plugins Integrations
Target many Minecraft versions from one JAR Version Compatibility

Multi-platform

The framework runs on two platforms, sharing everything in common:

Platform Module Deployable artifact
Bukkit / Spigot / Paper minecraft minecraft:shadowJar (the plugin JAR)
Hytale hytale hytale:shadowJar (classifier Hytale)

How platform code plugs into the Bukkit-free core is on Platform Abstraction; the Hytale port's current state is on Hytale Platform.

Storage

Player data is persisted through the external EveryDatabase library, so an admin can point the same plugin at MySQL, PostgreSQL, H2, MongoDB, or local files by editing storage.yml - no code change. The database-level details (entities, codecs, caching, references) live in EveryDatabase's own guide: EveryDatabase wiki.

Related projects

EverNifeCore stands on two sibling libraries, each with its own in-depth wiki - recommended reading whenever you want the layer beneath the framework:

Reference & help

Current version: 3.0.1, from https://maven.petrus.dev/public.

This wiki is a separate git repository (gitignored by the main repo). To contribute, see Editing this Wiki.

Clone this wiki locally