Skip to content

About

A Minecraft and Hytale Framework to help the creation of Bukkit/Spigot Minecraft plugins and Hytale mods, with several utilities.

Topics

Resources

Stars

15 stars

Watchers

2 watching

Forks

Repository files navigation

EverNifeCore

EverNifeCore

One codebase. Minecraft and Hytale.
The framework that lets you write a plugin once and ship it from Minecraft 1.7.10 to the newest releases, and to Hytale.

Release Build Minecraft 1.7.10 to 26.x Hytale Java 8+
Discord Spigot downloads

📖 Wiki  •  🚀 Quick Start  •  ⬇️ Download  •  📝 Changelog  •  💬 Discord

EverNifeCore usage on bStats


✨ Why EverNifeCore

🌍 Write once, run anywhere

Your commands, configs, messages, screens and player data are written against an API that doesn't know which server it is on. The same class runs on Bukkit, Spigot, Paper, Forge hybrids and Hytale.

🕰️ A decade of versions in one jar

One jar covers Minecraft 1.7.10 through the year-based 26.x releases, including Forge hybrids like Crucible, Mohist and Arclight. Your server owners never ask "which build do I need?".

🧪 Proven on real servers

Thousands of unit tests, plus an in-server check-up that boots real Crucible, Mohist, Arclight, Paper and Hytale servers to check what only a live server can answer.

🗄️ Storage the admin chooses

Flat files, MySQL/MariaDB, PostgreSQL, H2 or MongoDB, picked in a config file and moved live with one command. No recompiling, no migration scripts. Powered by EveryDatabase for storage and EveryConfig for commented YAML configs.

🧩 Batteries included

Regions and flags, quests, dialogues, shops, chest screens, economy, boosters, rankings, groups, cooldowns and more. These are the parts every server ends up rebuilding.

🛠️ Built for developers

Annotated commands with typed arguments and tab-completion, configs that write their own comments, async player data, and a published test kit so you can test without a server.

🎮 Platforms

Platform Versions Artifact
⛏️ Bukkit · Spigot · Paper 1.7.10 → 26.x EverNifeCore-<version>.jar
🔥 Forge hybrids
Crucible · Mohist · Arclight
1.7.10 · 1.12.2 · 1.16.5 · 1.21.1 EverNifeCore-<version>.jar
🟧 Hytale latest server EverNifeCore-<version>-Hytale.jar

The Hytale port tracks the newest Hytale server and is under active development. Regions are already proven on a live server.
See Hytale Platform and Version Compatibility.


👀 A taste

⌨️ A command: parsed, permission-checked, tab-completed, with help generated for you
@FinalCMD(aliases = {"greet", "hi"}, permission = "myplugin.greet")
public class GreetCommand {

    @FinalCMD.SubCMD(subcmd = "bonus", permission = "myplugin.greet.bonus")
    public void bonus(FCommandSender sender,
                      @Arg("<player>") FPlayer target,
                      @Arg("<amount>") Integer amount,
                      @Arg.Flag(value = "--silent", aliases = "-s") Boolean silent) {
        // runs the same on Minecraft and Hytale
    }
}
🖼️ A screen: a chest GUI on Minecraft, a native page on Hytale
Screen<Layout> shop = Screen.of(3).title("§8Shop");
shop.icon(13, Icon.of("minecraft:diamond").displayName("§bBuy a diamond"))
    .onClick(click -> click.getViewer().sendMessage("§aBought!"));
shop.open(player);
🛡️ A protected region: flags that only cost something where a region uses them
arena.setFlag(CoreFlags.DENY_BLOCK_BREAK, Tristate.TRUE);
arena.setFlag(CoreFlags.GREETING, "§aWelcome to the arena");
arena.setFlag(CoreFlags.DENY_PVP, Tristate.FALSE, Duration.ofMinutes(5));   // a 5-minute PvP window
📦 Player data: a plain class, saved wherever the admin points it
public class JobsSection extends PDSection {
    public int level;

    public void levelUp() {
        level++;
        markDirty();   // persisted on the next flush, on any backend
    }
}

PlayerController.getPDSection(uuid, JobsSection.class).thenAccept(JobsSection::levelUp);
🌐 A message in every language: server owners reword it without touching your jar
@FCLocale(lang = LocaleType.EN_US, text = "&aWelcome, ${player}&a!")
@FCLocale(lang = LocaleType.PT_BR, text = "&aBem-vindo, ${player}&a!")
public static LocaleMessage WELCOME;

WELCOME.addPlaceholder("player", player.getName()).send(player);

🧰 What's inside

Foundations

Gameplay building blocks


🚀 Get started

🖥️ Server owners

  1. Download the jar for your platform from Releases
  2. Drop it in plugins/ (or mods/ on Hytale)
  3. Start the server

That's it. Plugins built on EverNifeCore find it on their own.

👩‍💻 Developers

repositories {
    maven { url = 'https://maven.petrus.dev/public' }
}

dependencies {
    compileOnly 'br.com.finalcraft:evernifecore-minecraft:3.0.1'
}

Then follow the Quick Start. Hytale and the shared common artifact are on Installation.


🔌 Plays well with others

Every integration is optional and stays quiet when its plugin is missing.

Vault PlaceholderAPI LuckPerms WorldEdit Protection plugins

Details on Integrations.


🧱 Built on

EveryDatabase the storage engine: entities, codecs, caching, backend drivers
EveryConfig the Jackson-first YAML layer: typed reads, inline comments, async saves
EveryLibs reflection, executor and collection helpers

Building from source is just git clone and ./gradlew build. Every dependency comes from a public repository. See Building from Source.


💬 Community

Discord  •  SpigotMC  •  Issues  •  Wiki


Developed with ❤️ by EverNife
Empowering Minecraft plugin development since 2016, and now Hytale too.

🌐 petrus.dev

About

A Minecraft and Hytale Framework to help the creation of Bukkit/Spigot Minecraft plugins and Hytale mods, with several utilities.

Topics

Resources

Stars

15 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages