-
Notifications
You must be signed in to change notification settings - Fork 7
Home
A multi-platform framework for Minecraft and Hytale on the JVM. Write commands, configs, messages and player data.
This wiki is the developer guide.
-
Installation - add the repository and one
compileOnlydependency. -
Quick Start - a minimal plugin: a
@FinalCMDcommand, a config value, and a localized message, end to end. - Project Layout - the Gradle modules and where the deployable JAR comes from.
-
Architecture Overview -
commonwith zero Bukkit imports, the two platforms, the startup sequence.
| 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 |
Resolve ${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 storage-backend | Inline Stroage Backends for Plugins |
| Cooldowns 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 |
| Charge, pay and read balances on any economy plugin | Economy |
| Target many Minecraft versions from one JAR | Version Compatibility |
| Import a server's pre-3.0 YAML data | Legacy Data Migration |
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.
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.
EverNifeCore stands on two sibling libraries, each with its own in-depth wiki - recommended reading whenever you want the layer beneath the framework:
- EveryDatabase - the storage engine behind PlayerData & PDSections and Storage Backends: entities, codecs, caching, references, backend drivers.
- EveryConfig - the Jackson-first YAML layer behind Configuration: typed reads/writes, inline comments, async saves.
-
Building from Source - JDKs, Gradle, the private
flatDirdependencies. - Java Versions & Toolchains - Jabel, Java 8 bytecode, the JDK 25 toolchain.
- Gotchas & Pitfalls - behavioral traps worth knowing before you hit them.
EverNifeCore · Home · made by Petrus Pradella
Getting Started
Commands & Text
Player Data & Storage
- PlayerData & PDSections
- Accounts
- Storage Backends
- Inline Backends for Plugins
- Legacy Data Migration
- Cooldowns
Config & Minecraft Systems
- Configuration
- Scheduler & Threading
- Items & NBT
- GUI Framework
- Integrations
- Economy
- Version Compatibility
Architecture & Reference