EranoAPI
An open source (MIT) library for Minecraft plugins and mods: write your code once, run it on every version.
- Spigot / Paper / Purpur: one plugin jar for 1.8 to 26.x. Version-specific code is picked when the server starts, with its own Paper version for every revision.
- Bedrock players: with Geyser / Floodgate, menus and dialogs open as Bedrock forms.
- Forge / Fabric: one jar per Minecraft version with the same API, so your mod's code stays the same.
- Plain Java: network state for minigame servers, hubs and proxies.
| Download (server owners) | SpigotMC · GitHub Releases |
| Maven Central (developers) | io.github.erano01:EranoAPI-Spigot |
| Source code | GitHub |
Features
| Feature | Entry point | Versions |
|---|---|---|
| Materials, sounds, particles, potions, enchantments by today's names | EranoMaterial, EranoSound ... | 1.8 - 26.x |
| Action bar and titles | EranoServices.messages() | 1.8 - 26.x |
| Boss bars | EranoServices.bossBars() | 1.8 - 26.x (a wither bar on 1.8) |
| Per-player holograms | EranoServices.holograms() | 1.8 - 26.x |
| Inventory menus | InventoryMenu, MenuButton | 1.8 - 26.x |
| Dialog menus | DialogMenu, EranoServices.dialogs() | 1.21.6+ |
| Bedrock forms (Geyser / Floodgate) | EranoServices.bedrock(), InventoryMenu#setBedrockForm | 1.8 - 26.x |
| Adding new keys to yml files | YamlUpdate | any |
| Plugin channels to client mods | ServerNetwork, ClientNetwork | Spigot, Forge, Fabric |
| Minigame network state | Cluster | any (MySQL, Redis) |
| Server version | ServerVersion.current() | 1.8 - 26.x |
A service never fails on a version it doesn't cover: isSupported() is false and calls do nothing.
java
EranoSound.ENTITY_PLAYER_LEVELUP.play(player, 1f, 1f); // LEVEL_UP on 1.8
ItemStack wool = EranoMaterial.RED_WOOL.parseItem(16); // WOOL:14 on 1.8
EranoServices.messages().sendActionBar(player, "§cGo!");
GameBar bar = EranoServices.bossBars().create("Starting in 30s", "YELLOW");Next: Installation.