Features
- Cross-server sync: economy, chat, homes, warps, spawn, enderchests, RTP, TPA and PlayerWarps.
- NEW in 2.5: Massive RTP, TPA, Chat, Lang & PlayerWarps Overhaul — a huge stability & QoL update focused on teleports, cooldowns and cross-server reliability.
- 🧭 RTP System Rework
- ✔️ Fixed duplicate variable error in
RtpCommand(plugin/cfg conflict). - ✔️ Fixed RTP cooldown tiers not applying correctly and always using the same value.
- ✔️ Fixed OP players and console not bypassing RTP cooldown.
- ✔️ Fixed per-permission cooldown + radius (now uses proper tier permission nodes).
- ✔️ Fixed cross-server RTP not launching on join (pending service + join listener).
- ✔️ Fixed target world selection logic and cross-server detection (null/remote cases).
- ✔️ Fixed “Random teleport disabled” duplicated code block and world allowlist logic.
- ✔️ Fixed RTP execution when world not loaded and missing fallback when cross-server fails.
- ✔️ Fixed safe-location scan sometimes teleporting into air or liquids (unsafe blocks respected).
- ✔️ Fixed packet registration order, packet read/write order and consumption before player spawn.
- ✔️ Fixed cooldown timestamp caching and YAML reload issues (no more overwriting translations).
- ✔️ Fixed local RTP used instead of cross-server when server mismatch and tab-completion leaking forbidden worlds.
- ✔️ Fixed radiusFor() ignoring per-world overrides and flickering chunk loads before RTP.
- ✔️ Fixed async issues by moving critical RTP operations back to safe main-thread tasks.
- ➕ Added per-permission RTP cooldown support:
cooldown.default+cooldown.tiers.*with fullcooldownFor(player)helper.- Dynamic radius calculation from permissions (vip, mvp, elite, etc.).
- ➕ Added unsafe block blacklist in
rtp.ymland liquid checks infindSafeLocation(). - ➕ Added player-based cooldown cache and full debug logging for every teleport decision.
- ➕ Added target-world override:
/rtp <world>with world/server mapping. - ➕ Added random angle + radius algorithm, yaw/pitch randomization and auto chunk loader.
- ➕ Added French-compatible lang entries for RTP messages and countdowns.
- ✔️ Fixed duplicate variable error in
- 🌍 Cross-Server RTP Core
- ➕ Added
RtpTeleportRequestPacketwith deterministic read/write order. - ➕ Added individual server → server channels and
RtpCrossServerBridge. - ➕ Added
RtpPendingServiceandRtpJoinListenerto apply pending RTP on join. - ➕ Added
serverName()and world → server mapping in config:cross-server: world-servers: world: survival1 - ➕ Added default-target-world for non-RTP worlds and instant RTP when player is already on target server.
- ✔️ Fixed RTPRequestPacket not handled on destination server and not sent to the correct channel.
- ✔️ Fixed players arriving too early (added 1 tick delay) and teleporting while player was still null.
- ✔️ Fixed missing pending-RTP cleanup, wrong mapping and bridge initialization before PacketManager.
- ➕ Added debug tracing from "packet received → pending → applied" for easier debugging.
- ➕ Added
- 🎯 TPA System & Teleport Flow
- ✔️ Fixed TPA cooldown + countdown messages being sent to the wrong player (receiver instead of requester).
- ✔️ Fixed TPA cross-server countdown not showing and movement detection applied to the wrong player.
- ✔️ Fixed premature teleport when countdown enabled and missing cancel messages on movement.
- ✔️ Fixed double accept / spam and ignored checks when countdown disabled.
- ✔️ Fixed that now the player who runs
/tpa <player>must not move during countdown, while the target can move (head rotation allowed, body movement blocked for requester). - ➕ Added movement-cancels-teleport feature with per-player runnable.
- ➕ Added countdown title/subtitle and translated French messages in
lang.yml. - ➕ Added toggle in
settings.ymlfor movement blocking behaviour. - ➕ Added “only requester gets countdown” logic and cross-server compatible countdown.
- ➕ Added full Lang + debug logging integration for all TPA flows.
- 📜 Lang & Message System Improvements
- ✔️ Fixed
Lang.get()signature mismatch and PAPI placeholders when PlaceholderAPI is not installed. - ✔️ Fixed
%prefix%not applied everywhere and colors not applied to titles. - ✔️ Fixed newline (
\n) replacement and missing title/subtitle messages for countdowns. - ✔️ Fixed places that used hardcoded English strings instead of
lang.yml. - ✔️ Fixed French translations being overwritten on restart and teleport countdown messages not customizable.
- ✔️ Fixed message sending when no lang value is provided (now safely ignored).
- ➕ Added new entries:
teleport.countdown.title: "&aTéléportation..." teleport.countdown.subtitle: "&fDans &e%seconds% &fs" teleport.cancel.moved: "&cTéléportation annulée car vous avez bougé." teleport.no-move: "&7Ne bougez pas pendant la téléportation." rtp.cooldown: "&cVous devez attendre &e%seconds%s &cavant d'utiliser &e/rtp&c." tpa.countdown: "&7Téléportation dans &e%seconds%s&7..." tpa.cancel.moved: "&cTéléportation annulée car vous avez bougé." - ➕ Added support for titles/subtitles from lang.yml with variable + placeholder replacement.
- ➕ Added safe
color()helper, configurable prefix and global French translation compatibility.
- ✔️ Fixed
- 🧭 /warp & /spawn Cooldowns + Teleports
- ✔️ Fixed warp command cooldown applying even from console and to OP players.
- ✔️ Fixed unreachable code and duplicated countdown blocks in
WarpCommand. - ✔️ Fixed spawn command countdown not bypassing for OP.
- ✔️ Fixed spawn cooldown applying incorrectly in cross-server teleports.
- ✔️ Fixed countdown movement detection inconsistencies for warp/spawn.
- ✔️ Fixed cross-server warp/spawn messages when plugin messaging failed.
- ✔️ Fixed multiple places where console could not use teleport commands.
- ➕ Added unified cooldown system for warp & spawn with proper OP/console bypass.
- ➕ Added 5s spawn cooldown with same “don’t move” logic as TPA.
- ➕ Added movement cancel for /warp cooldown (only body movement; head rotation allowed).
- ➕ Added instant teleport behaviour for console and OPs.
- ➕ Added improved logging for warp, spawn and RTP packets.
- 🎮 Gamemode QoL
- ➕ Added support for numeric gamemodes:
gm 0 / gm 1 / gm 2 / gm 3. - ➕ Added unified numeric + text gamemode system, including VISITOR mode.
- ➕ Added support for numeric gamemodes:
- 💬 Chat Sync, Control & Moderation
- ✔️ Fixed missing
broadcastSystemMessageinChatSyncManager. - ✔️ Fixed chat control packets not handled correctly and chat sync ignoring
muteServicefor remote messages. - ✔️ Fixed Base64 decoding errors in chat sync and structured packet formats.
- ✔️ Fixed potential duplicate events and better main-thread enforcement for remote events.
- ✔️ Fixed default chat filter not blocking base example words (insult, badword) — now respects config.
- ➕ Added cross-server channel message system:
CHANMSG(player-facing channel messages).CHANSYS(system messages across the network).
- ➕ Added network-wide chat controls: CLEAR_CHAT, GLOBAL_MUTE, SLOWMODE.
- ➕ Added mute propagation across all servers.
- ➕ Added safe Base64 helpers for all chat sync messages.
- ➕ Added structured packet formats + improved debug logs for chat channels.
- ✔️ Fixed missing
- 📦 Invsee & EnderChest Reliability
- ✔️ Fixed invsee behaviour (local & cross-server) — editing now stable and safe.
- ✔️ Fixed EnderChest “empty” message sending a blank line when set to
""(now properly ignored). - ➕ Added ignore-empty-message support in EnderChest open message (no more ghost blank lines).
- 🧹 Core Safety & Null Protection
- ✔️ Fixed NullPointer safety for
WarpDirectoryandSpawnDirectory. - ✔️ Fixed incorrect permission checks for
/warpand/warp <warp> <player>. - ✔️ Fixed multiple places where console could not use commands due to bad sender checks.
- ➕ Added proper OP/console cooldown exceptions across all teleport commands.
- ➕ Added consistent main-thread execution for all remote events.
- ✔️ Fixed NullPointer safety for
- ⭐ PlayerWarps 2.0 — Best New Feature in 2.5
- ✨ Fully documented PlayerWarp Command → Permission mapping:
- Global gate:
oe.pw.basefor all /pw usage. - Usage:
/pw <warp>,/pw usewithoe.pw.baseoroe.pw.use. - Creation:
/pw set→oe.pw.set(+oe.pw.limit.bypassfor limit bypass). - GUI & self warps:
/pw gui,/pw mywarps→oe.pw.gui,oe.pw.mywarps. - Edition: desc, category, lock, icon, cost, managers, password via
oe.pw.meta.*and admin overrideoe.pw.admin.meta. - Whitelist management:
oe.pw.whitelist(owner) andoe.pw.admin.whitelist(admin any warp). - Admin tools:
/pw setowner,/pw removeall,/pw addwarps,/pw reloadwithoe.pw.setownerandoe.pw.admin.*. - Bypasses:
oe.pw.bypass.passwordto ignore passwords and full meta access withoe.pw.admin.meta.
- Global gate:
- ➕ Added robust service.canUse(...) checks (cost, lock, whitelist, etc.) for every warp use.
- ➕ Added support for cross-server PlayerWarps with cost, lock, admins, managers & whitelists.
- ➕ Added dedicated GUI,
/pw near,/pw amount,/pw rtpand more. - 💪 PlayerWarps is now one of the most complete & configurable warp systems available for Spigot networks.
- ✨ Fully documented PlayerWarp Command → Permission mapping:
- 🧭 RTP System Rework
- Cross-server sync: economy, chat, homes, warps, spawn, enderchests.
- NEW in 2.4b: Local & Cross-Server Invsee Rebuild, Safer Inventory Editing, Enhanced Teleportation & AFK Fixes — a major stability update focused on reliability and network-wide consistency.
- 📦 NEW — Complete Invsee System Overhaul
- 🔁 Full rebuild of
InvseeServiceto unify local, offline, and cross-server inventory logic. - 📥 Offline inventories now load correctly from Mongo/YAML snapshots with zero blank states.
- 🧰 Local editing now updates the real player inventory in real time (dupe bug fully resolved).
- 🌐 Cross-server editing uses safe remote apply packets to sync changes across nodes instantly.
- 🛡️ Snapshot validation prevents empty/invalid snapshots from ever overwriting player data.
- 🔁 Full rebuild of
- 🧯 Major Duplication & Sync Fixes
- ♻️ Fixed stale snapshots causing reverted inventories or ghost items.
- 🪝 applySnapshotFromGui() now correctly writes to online inventories AND persists storage.
- 🧱 Remote edits now send back a refreshed state to the viewer to avoid out-of-sync menus.
- ⛔ Fully prevented rare duplication cases caused by invalid apply orders.
- 🧠 InvSee Menu (ModGUI) Enhancements
- 🧩 Menu rebuilt to integrate the new service (correct sessions, snapshots, and viewer routing).
- 🛡️ Armor, offhand, and hotbar slots now map correctly without shifting or null slots.
- 💾 Offline edits now save instantly — no more duplicated items on rejoin.
- 🧭 Improved /warp System — Teleport Other Players
- 👤 Staff with
oreo.warp.otherscan teleport other players:/warp warzone test0308. - 🖥️ Console can warp players locally or cross-server with no restrictions.
- 🚀 Cross-server warp routing fixed — correct world selection even when player wasn’t previously in that world.
- 🌍 WarpDirectory + PlayerDirectory ensure accurate node selection across the network.
- 👤 Staff with
- 🔧 Cross-Server Reliability & Network Consistency Fixes
- 📡 PlayerDirectory now powers /tphere, /clear, /tp, and /invsee with correct cross-server name lookup.
- 🔄 Packet routing cleaned — remote inventories no longer misroute to default worlds.
- 📨 Refined async/sync boundaries for safer inventory reads over RabbitMQ.
- 💤 AFK System Repair
- 🚫 Fixed AFK prefix spam (no more “AFK AFK AFK AFK” in tab list).
- 🔁 AFK state now clears properly on movement, chat, commands, or interaction.
- 🧹 Core System & Safety Improvements
- ⚙️ Added extensive debug logging for inventory sync, packets, and moderation actions.
- 🔍 Snapshot handling now includes strict safety validation across all apply paths.
- 💡 Local & remote session handling completely fixed (correct owner, viewer, and menu links).
- 📂 InventoryService is now correctly loaded via Bukkit Services API.
- ✨ General UX, Stability & Quality Improvements
- 🎨 Cleaner ModGUI with consistent layout and safer slot mapping.
- ⚡ Faster snapshot load time with optimized deserialize/apply logic.
- 📜 Better admin feedback when opening inventories, editing items, or routing teleports.
- 🌐 More stable cross-server experience with fewer sync delays.
- NEW in 2.4a: Cross-Server Invsee Overhaul, Reliable Inventory Saving & Enhanced Warp Functionality — a deep stability patch focused on cross-network consistency.
- 📦 NEW — Complete Cross-Server Invsee Rewrite
- 🔁 Fully rebuilt
InvBridgefor safe routing, correct server ownership, and clean packet handling. - 👁️ Remote invsee now opens in read-only mode to prevent duplication exploits.
- 🛠️ SmartInvs editing now syncs directly to the owner's server using real-time apply logic.
- 💾 Inventories no longer load blank or revert to old snapshots — all sync issues resolved.
- 🔁 Fully rebuilt
- 🧯 Critical Fix — Inventory Loss on Shutdown
- 🛑 Fixed bug where stopping a server caused inventories to revert when Velocity moved the player to hub.
- 💾 New safe shutdown pipeline: all inventories are saved before any proxy redirection.
- 🔧 Rewritten
onDisable()to properly flush Mongo, storage, RabbitMQ, GUI managers, scoreboard, and Vault. - 🧹 Prevents all rollback, duplicate, or outdated inventory states on restart.
- 🧭 Improved /warp System — Teleport Other Players
- 👤 Players with
oreo.warp.otherscan now teleport any player:/warp warzone test0308. - 🖥️ Console can teleport players across servers flawlessly.
- 🚀 Fixed cross-server warp routing: correct node detection and reliable proxy switching.
- 🌐 Works seamlessly with Velocity/Bungee using proper Connect plugin messages.
- 👤 Players with
- 🧩 Cross-Server Reliability / Network Consistency Fixes
- 📡 Improved PlayerDirectory lookups for remote invsee, warp targeting, and teleport routing.
- 🔄 Fixed packet fallback behavior to avoid empty snapshots or incorrect handlers.
- 🧵 Cleaned up async/sync boundaries to eliminate thread-safety issues when fetching remote inventories.
- 🔧 Core System Polish & Safety Enhancements
- 🛠️ Added strict null-safety around PacketManager initialization for cleaner startup.
- 🧹 Improved logging across invsee, warp, RabbitMQ, and inventory systems.
- ⚙️ Fixed multiple edge cases where invalid arr/slots caused corrupted snapshots.
- 💡 GUI editing now rejects empty snapshots to prevent accidental overwrites.
- ✨ General UX, Performance & Quality Improvements
- 🎨 Cleaner debug output for easier admin troubleshooting.
- ⚡ Faster inventory deserialization using improved codec logic.
- 📁 Smoother cross-server transitions with fewer flickers or sync delays.
- 📜 Better validation/messages when opening remote inventories or warps.
- 📦 NEW — Complete Cross-Server Invsee Rewrite
- NEW in 2.4: Unified Settings, Cross-Server Tablist, Massive Tab-Completion Fixes & Major ModGUI Expansion — a fully modernized, network-ready essentials update.
- 🛠️ NEW — Centralized
settings.yml- 🔧 All feature toggles moved into one clean file for easy control.
- ☑️ Turn cross-server systems, GUIs, placeholders & modules on/off instantly.
- 📁 Cleaner configuration layout and fewer scattered YAML sections.
- 🌐 NEW — Cross-Server Unified Tablist
- 📋 Works across every server in the network — including Velocity.
- 🧩 Requires OreoNetwork extension for seamless proxy integration.
- 🌍 Shows global online count, unified footer/header & synced stats.
- 🧩 Expanded Kit Engine + Command Delays
- ⏱️ New syntax:
delay! <seconds>to schedule actions inside kits. - 🔮 Allows animated kit rewards, potion stacking delays & multi-step logic.
- 🐛 Fixed
%oreo_kit_cooldown_formatted_*%placeholders now displaying correctly.
- ⏱️ New syntax:
- 📝 Massive Lang File Expansion
- 🌍 Dozens of new translatable messages for ModGUI, kits, moderation & inventory actions.
- 💬 Cleaner text, better placeholders & full localisation support.
- 🧹 Deprecated hardcoded messages — nearly everything is now in
lang.yml.
- 🛡️ NEW — ModGUI Network Upgrade
- 📡 Cross-server actions through RabbitMQ: heal, feed, kill, freeze, vanish, GM cycle.
- 🔍 Improved live inspector, player notes, IP alts & inventory viewing.
- ⚡ Faster packet delivery + safer remote execution to prevent duplication.
- ⚙️ Major Bug Fixes & Core Improvements
- ✅ Fixed tab completion for
/mute,/unmute,/tp,/tpa,/kick,/banand ALL mod commands. - ✅ Cross-server /tp now works perfectly — proper routing through PlayerDirectory.
- ✅ Fixed /invsee cross-server issues — stable live snapshots & remote edits.
- ✅ Fixed placeholder issues in kits — OreoPlaceholders now load correctly.
- ⚡ Better packet fail-safes to avoid null targets and broken actions.
- 📦 Fixed tab completion on
/clearcommand.
- ✅ Fixed tab completion for
- ✨ General UX, Performance & Stability Enhancements
- 🗃️ Better error handling for cross-server inventory service.
- 🔄 Faster directory lookups for global player names.
- 📁 Cleaner config & YAML auto-correct for safer reloads.
- 🎨 Improved GUI text formatting & consistent colors across modules.
- 🛠️ NEW — Centralized
- NEW in 2.3: Cross-Server Trades, Gradient Chat & 50+ New Placeholders — huge network upgrades for a smoother, more modern experience.
- 💸 NEW — Cross-Server Trades
- 🔁 Trade with players on ANY server — fully synchronized through RabbitMQ.
- 📦 Safe dual-inventory system with confirmation states.
- 🛑 Anti-dupe protection, remote inventory sync & instant UI updates.
- 🧩 Works seamlessly with existing OreoEssentials GUI logic.
- 🌈 NEW — Gradient Chat Support
- ✨ Beautiful hex-gradient chat formatting (e.g.
<#ff8800:#ff00ff>Hello). - 🎨 Compatible with RGB, hex, and modern color systems.
- 🔃 Fully synchronized across all servers — your colors follow you everywhere.
- ✨ Beautiful hex-gradient chat formatting (e.g.
- 🧩 NEW — 50+ Placeholders Added
- 📊 PlaceholderAPI expansion now includes 50+ new values.
- 👤 Player stats, server data, cross-server info, and moderation placeholders.
- ⚙️ Designed for Scoreboards, ActionBars, GUIs, and Discord integrations.
- ⚙️ Bug Fixes & Improvements
- ✅ Chat color synchronization fixed — colors now appear correctly on every server with no delay.
- ✅ Cross-server
/ecoption restored — missing config entry added & fully functional again. - ✅ Cross-Server
/tpfixed — teleportation now correctly routes between servers without hanging. - ⚡ Faster player lookup + cleaner packet pipeline for network actions.
- ✨ UI/UX & Config Improvements
- 📝 New config fields for trade behavior, placeholders & chat gradients.
- 📁 More stable YAML saving for cross-server options.
- 🔄 Internal improvements for faster message parsing and trade item updates.
- 💸 NEW — Cross-Server Trades
- NEW in 2.2: Moderation GUI + RTP & TPA Fixes — powerful admin tools, critical bug fixes, and cleaner cross-server logic.
- 🛡️ NEW — Moderation Control Panel (
/modgui)- 🎛️ SmartInvs GUI: A full in-game admin control center — no more typing long commands.
- 👤 Player Moderation: Ban, mute, kick, heal, feed, kill, invsee/ecsee, freeze, vanish & gamemode cycle — all clickable.
- 🌍 World Moderation: Per-world settings:
- 🕒 Time & weather controls (Day, Night, Rain, Storm).
- 📍 Set world spawn & resize world borders (1k/2k/5k blocks).
- ⚙️ Toggle gamerules (keepInventory, doDaylightCycle, doMobSpawning, etc.).
- 🚫 Per-world mob bans (e.g., disable Creepers/WitherSkeletons in specific worlds).
- 🔐 Per-world whitelist — allow/deny specific players from a world.
- 🖥️ Server Moderation:
- 🧭 Change server difficulty (Peaceful → Hard cycle).
- 🎮 Toggle server whitelist on/off.
- 🌍 Change default gamemode (Survival/Creative/Adventure/Spectator).
- 👹 Quick-spawn hostile mobs at your location (Zombie, Skeleton, Creeper, Blaze…)
- 🗂️ ModGUI package: All available under
fr.elias.oreoEssentials.modgui, using SmartInvs throughout.
- ⚙️ Bug Fixes & Improvements
- ✅ Cross-server TPA now fully works again — teleport requests correctly send players to another server and complete the teleport after arrival.
- ✅ RTP Global Toggle Fixed: Setting
enabled: falseinrtp.ymlnow properly disables /rtp instead of ignoring the option. - ✅ Safeguards added to prevent NullPointerExceptions when RTP config is missing or not loaded.
- ✅ Improved Mongo classloading stability — no more “zip file closed” errors during server boot with MongoDB enabled.
- ✨ UI/UX Improvements
- 🔄 All ModGUI menus support live refresh after clicking (no need to reopen manually).
- 📁 Consistent SmartInvs navigation, ready for back buttons / breadcrumb support.
- 💾 Per-world and server settings save automatically to YAML — survive restarts.
- 🌈 GUI items now support glowing states, icons with translated names, and clean lore formatting.
- 🆕 New Commands & Permissions
/modgui—oreo.modgui.open(full admin control panel)- Per-world whitelist/mob bans stored under
modgui.yml - Upcoming hooks planned: Discord moderation logging & staff activity audit.
- 🛡️ NEW — Moderation Control Panel (
- NEW in 2.1: Homes & Warps Overhaul + Kits QoL — fresh GUIs, smarter cross-server logic, and silky admin workflows.
- 🏠 Homes
- 🐞 Fix: Home list not showing reliably is resolved. Lists now load instantly and paginate correctly.
- 🗺️ Homes GUI:
/homesgui(perm:oreo.homes.gui) — browse & teleport from a clean SmartInvs menu. - 🗑️ Confirm delete: safe 2-step dialog before removing a home.
- 🌐 Cross-server aware: auto-routes via proxy when the home lives on another server (RabbitMQ + plugin messaging).
- 🧭 Warps
- 🗂️ Player GUI:
/warps(perm:oreo.warps) — list all warps (network-wide) and teleport in one click. - 🛠️ Admin GUI:
/warpsadmin(perm:oreo.warps.admin)- ✏️ Rename warp: safely renames and migrates metadata (server owner + permission).
- 🧹 Delete warp: confirm dialog with rollback safety.
- 🔐 Per-warp permission: set a custom node (e.g.
oreo.warp.use.spawn) or clear to make it public. - ↔️ Cross-server aware: indicates owning server and teleports across servers automatically.
- ⚙️ Directory integration: warp permission + server ownership stored centrally when Mongo directory is enabled.
- 🗂️ Player GUI:
- 🎁 Kits
- 🔌 Toggle on/off:
/kits toggle(perm:oreo.kits.admin) — persists tokits.yml. - 👁️ Kit Preview: Right-click a kit in the GUI to preview contents and “runs on claim” commands before taking it.
- 🪫 Disabled state clearly greys out titles/lore and blocks claiming until re-enabled.
- 🔌 Toggle on/off:
- 🧱 Polish & Reliability
- 🚀 Cross-server teleports for Homes/Warps queue a request and proxy-switch you to the right server automatically.
- 🧰 Admin menus include back buttons, refresh controls, and page counters for fast navigation.
- 💾 All toggles and edits persist to storage (YAML/Mongo), surviving restarts.
- 📘 New Commands & Perms
/homesgui—oreo.homes.gui/warps—oreo.warps/warpsadmin—oreo.warps.admin(actions: rename / delete / set or clear permission)/kits toggle—oreo.kits.admin- Kit preview — right-click in Kits GUI (respects existing kit perms like
oreo.kit.claim/oreo.kit.bypasscooldown).
- 🏠 Homes
- NEW in 2.0: One-Click Feature Toggles — enable/disable core systems live, with in-GUI switches and admin commands.
- 🎁 Daily Rewards
- 🔌 Toggle in-game:
/daily toggle(perm:oreo.daily.admin) - 🕹️ GUI switch: Lever at bottom row, slot
5(admins only). When disabled, all reward tiles are greyed and unclaimable. - ⚙️ Config:
daily.yml→enabled: true|false(persisted automatically when you toggle).
- 🔌 Toggle in-game:
- 🧰 Kits
- 🔌 Toggle in-game:
/kits toggle(perm:oreo.kits.admin) - 🕹️ GUI switch: Lever at bottom row, slot
5(admins only). Disabled state tints titles/lore and blocks claiming. - ⚙️ Config:
kits.yml→settings.enable: true|false(updated on toggle).
- 🔌 Toggle in-game:
- ⏱️ Playtime Rewards
- ⚙️ Config-only toggle:
playtime_rewards.yml→settings.enable: true|false - 💡 Honors toggle live on
/prewards reload. Disabled state blocks claims and autoclaims.
- ⚙️ Config-only toggle:
- 🪄 Quality-of-Life
- 🖼️ Menus reflect disabled state with grey titles and a clear “DISABLED” status line.
- 💾 Toggles persist back to YAML so your choices survive restarts.
- 🔐 Clear permissions:
oreo.daily(use),oreo.daily.admin(toggle);oreo.kit.claim,oreo.kit.bypasscooldown,oreo.kits.admin.
- 🎁 Daily Rewards
- NEW in 1.9: OreoHolograms System — the next-gen 3D display framework built directly into OreoEssentials, designed for items, blocks, and text with zero dependencies.
- ✨ 3D Display Entities — create
TEXT,ITEM, orBLOCKholograms using modern Display Entities (Paper 1.20+). Every hologram is fully persistent, tagged in-world, and auto-reattaches after restart — no more dupes or orphaned entities. - 🔄 Auto-Rotate & Billboard Modes — each hologram supports
FIXED,CENTER,VERTICAL, andHORIZONTALbillboards. Blocks and items now smoothly rotate toward nearby players automatically (with optionalFIXEDlock for statues). - 📦 Block & Item Displays — place any
minecraft:blockoritemadder:blockin 3D space with lighting, shadow, and brightness control. Supports CustomModelData, full ItemsAdder integration, and per-hologram scaling and view range. - 💬 Text Displays — colorized, multiline text with background color, alignment (
left,center,right), and shadow. Perfect for floating titles, NPC names, and server area labels. - 🧭 Complete Command Suite — new
/ohologramcommand:/ohologram create <text|item|block> <name>– spawn holograms at your location./ohologram edit <name> ...– modify billboard, move, rotate, scale, change block/item, text lines, and more./ohologram remove <name>– safely delete (auto-clears all tagged copies)./ohologram cleanup– remove orphaned holograms left in-world.
- 🧱 Intelligent Tab-Completion — the editor now suggests all
minecraft:block IDs and, if ItemsAdder is installed, allitemadder:custom blocks. The list is cached and filtered dynamically for lightning-fast autocompletion. - 🔒 Safe Persistent Tagging — every display entity is internally tagged using PersistentDataContainer with
oreo_hologram,oreo_name, andoreo_typekeys, ensuring perfect recovery after reloads and automatic cleanup of old entities. - ⚙️ Developer API — programmatically spawn, edit, or remove holograms via
OreoHolograms. Async-safe, reload-proof, and MongoDB-friendly for cross-server holograms. - 🧾 File Added:
oreoholograms.yml— stores all hologram data (type, location, scale, billboard, shadow, brightness, visibility, etc.). Reloads instantly with/ohologram reload(coming soon in 1.9.1). - 💡 Optimized Startup — the system auto-migrates and refreshes existing holograms, smoothly restoring rotation states and cleaning duplicates.
- 🧩 Fully Integrated — OreoHolograms connects natively with OreoEssentials’ async MongoDB layer and SmartInvs menus, bringing visual feedback to your existing systems (daily rewards, jails, etc.).
- ✨ 3D Display Entities — create
- NEW in 1.8: Daily & Playtime Rewards Expansion — brings two massive progression systems into OreoEssentials: fully configurable, MongoDB-compatible, and GUI-based for a next-level player experience.
- 🎁 Daily Rewards System — new
dailyrewards.ymllets you design a full 30-day reward calendar with per-day items, icons, and commands. Supports CustomModelData, glowing icons, per-day GUI positions, streak tracking, and automatic claim/reset logic. Open with/dailyto browse and claim your daily streaks! - ⏱️ Playtime Rewards System — complete milestone & repeating reward engine stored in
playtime_rewards.yml. Define rewards for 1h, 6h, 12h, 24h, 7d, 30d milestones or repeating payouts (hourly/daily). Features AutoClaim, permission-based VIP tiers, SmartInvs GUI, and stackable offline payouts. - 🧩 SmartInvs GUIs — both systems use interactive menus with per-reward icons, titles, glow states (
LOCKED,READY,CLAIMED,REPEATING), and customizable fillers, rows, and global GUI skins. - 💾 MongoDB Support — stores player progress, streaks, and claims across all servers. Fully async and reload-safe.
- 🧱 Full YAML Configuration — no external dependencies required. Each section includes built-in comments explaining
AutoClaim,PayFor,PayEvery,StackRewards, and advanced command directives (asConsole!,asPlayer!,delay!). - 🧠 Highly Customizable — supports CustomModelData, per-page GUI layouts, custom titles, placeholder expansion, and optional reminders for unclaimed rewards.
- ⚙️ Commands Added:
/daily,/prewards, and/prewards top— open menus, check progress, or view top streaks. - 🚀 Result: OreoEssentials 1.8 becomes a complete player-progression suite — merging the power of standalone daily-reward and playtime-reward plugins into one optimized core. 100% configurable, database-ready, and visually polished for modern Minecraft networks.
- 🎁 Daily Rewards System — new
- NEW in 1.7: Gameplay & Automation Expansion — introduces the complete Effects, Events & Interactive Commands suite for total in-game customization.
- ✨ New Utility Commands —
/spawnmob <EntityType>to summon any mob at your location,/flyspeed <1–10>for adjustable flight speed,/effectsme <effect> <seconds> <amplifier>to apply effects to yourself, and/effectsto <player> <effect> <seconds> <amplifier>to apply effects to others. - 🧩 Interactive Commands System — bind any command to blocks, entities, or signs via
/ic. Supports placeholders ([playerName],$1-$3), directives (asConsole!,asPlayer!,delay! <sec>), and instant persistence ininteractive-commands.yml. - 🪧 Public Signs — create signs with
[ic:<name>](requiresoreo.ic.sign) that automatically beautify and pass arguments from lines 2–4. - 🔧 /ic Commands —
/ic new,/ic addblock,/ic addentity,/ic addcmd,/ic public,/ic list,/ic info, and/ic reload. - 🌦️ Event Automation System — configure
events.ymlto trigger commands on dozens of actions: joins, quits, deaths, PvP start/stop, level change, teleport, respawn, advancement, and more. - ⚙️ Supports advanced directives:
asConsole!,asPlayer!,delay! <sec>, and dynamic placeholders such as[fromWorld],[toWorld],[advancement], and[opponent]. - 💀 Death Message Engine — complete YAML-based replacement for vanilla messages with per-cause and per-mob sections,
supporting MythicMobs integration. Variables:
[playerDisplayName],[sourceDisplayName],[item],[type]. - 🧠 Smart MythicMobs Hook — automatically displays MythicMob internal or display names in death messages when installed (reflection-based, no hard dependency).
- 💬 Commands:
/oedeath reloadto reloaddeath-messages.yml, and/oevents reloadto reload event triggers. - 📁 Config Files Added:
interactive-commands.yml,events.yml, anddeath-messages.yml. - 🔒 Permissions:
oreo.ic,oreo.ic.sign,oreo.events.reload, andoreo.death.reload. - 🧱 Performance & Persistence: all systems save to YAML instantly and reload live without restarting. Fully compatible with PlaceholderAPI.
- 🚀 Result: OreoEssentials becomes a modular, event-driven framework — letting servers automate gameplay, effects, and messaging entirely from configuration files.
- ✨ New Utility Commands —
- NEW in 1.6: Alias Editor Overhaul — complete rewrite with SmartInvs GUI and advanced checks system
/aliaseditor gui— open the interactive GUI to manage all aliases./aliaseditor create <name> <PLAYER|CONSOLE> <command...>— create a new alias./aliaseditor addline <name> <command...>//aliaseditor delete <name>— edit or remove aliases./aliaseditor enable|disable <name>//aliaseditor cooldown <name> <seconds>//aliaseditor runas <name> <PLAYER|CONSOLE>— manage settings live.- ✨ New Checks System — restrict alias usage using permission, money, exp, level, or PlaceholderAPI values.
/aliaseditor addcheck <name> <expr...>— add a condition (e.g.money>=100,permission:vip,%world%=lobby)./aliaseditor delcheck <name> <index>//aliaseditor listchecks <name>— remove or view existing checks./aliaseditor setlogic <name> <AND|OR>— choose how multiple checks are evaluated./aliaseditor setfailmsg <name> <message...>— define a custom message if requirements aren’t met.- 🧠 Logic-based evaluation (AND / OR) for combining checks; supports
money,exp,level, and string/number comparators. - 💾 Fully persistent:
logic,checks, andfail-messageare now saved inaliases.ymland survive restarts. - 🖼️ SmartInvs GUI — manage aliases visually: toggle enabled, switch run-as, cycle cooldowns, open submenus for checks and commands.
- 🔢 Rich tab-completion for all subcommands (alias names, constants, indices, AND/OR, PLAYER/CONSOLE).
- 📦 PlaceholderAPI integration — checks and commands support placeholders with numeric and string comparators.
- ⚙️ Permission:
oreo.alias.editor— grants full access to the Alias Editor.
- NEW in 1.5: CustomCraftings — in-game recipe editor with SmartInvs GUI
/oecraft browse— open the recipe browser./oecraft craft <name>— create or edit a recipe in a 3×3 grid + result box./oecraft delete <name>— remove a recipe./oecraft list//oecraft reload— manage and reload recipes.- GUI features: shaped ⇄ shapeless toggle, per-recipe permission toggle, delete button with SHIFT-confirm.
- Permissions:
- Admin:
oreo.craft(use editor/browse/delete/reload). - Per-recipe craft gate:
oreo.craft.use.<name>(optional; toggled in GUI).
- Admin:
- ItemsAdder support (soft-depend): IA items match by namespaced ID. Works even if IA is not installed.
- Fully language-driven (titles, lore, messages) via
lang.yml. - Recipes are persisted to
recipes.ymland registered as Bukkit shaped/shapeless recipes.
- NEW in 1.4: Alias Editor System — Create and manage custom command shortcuts in-game with
/aliaseditor./aliaseditor create <alias> <PLAYER|CONSOLE> <command...>— make your own commands instantly!- Supports multi-command execution, cooldowns per player,
%player%placeholders, and run-as console or player. - All aliases save automatically to
aliases.ymland reload dynamically (no restarts needed). - Perfect for custom kits, shortcuts, rewards, or automations.
- NEW in 1.4: Full Jail System — Detain and manage players inside jail regions.
- New setup commands:
/jailedit pos1,/jailedit pos2,/jailedit create <jail>, and/jailedit addcell <jail> <cell>. - New moderation command:
/jail <player> [time] [jailName] [cellId] (-s) (r:reason)— supports timed, permanent, or silent jail actions. - Automatic region enforcement — players are teleported back if they try to escape.
- Customizable command restrictions (spawn, home, warp, etc.) while jailed.
- Discord integration: jailing and releasing players automatically sends moderation logs to your configured webhook.
- New setup commands:
- IMPROVED: Discord Moderation Notifier — added support for
JAILandUNJAILevents alongside ban, mute, kick, and unban. - IMPROVED: Runtime safety in dynamic command registration — alias commands now automatically unregister and refresh without errors on reload.
- FIXED: Minor YAML parsing issues in
jails.yml(cells with 5 coordinates now load correctly after restart). - NEW in 1.3: Admin home tools —
/otherhome <player> <home>(cross-server) and/otherhomes <player>for listing. - NEW in 1.3: Unique “Visitor” gamemode via
/gamemode visitor [player]— Survival-like movement with locked interactions (no break/place/use/pickup). - NEW in 1.3: /uuid [player] — shows Java UUID, auto-detects Floodgate and prints Bedrock UUID.
- NEW in 1.3: ClearLag module with standalone
clearlag.yml; scheduled entity/item cleanup and TPS helpers. - NEW in 1.3: Killall logging —
/killallrcleanup +/killallrlogto review the last N actions. - NEW in 1.2: Offline player control — use
/invseeand/ecseeeven when the player is offline. - NEW in 1.2: Configurable mob healthbars above names, MythicMobs support, toggleable, fully customizable.
- 1.1: Configurable PlayerVaults with per-rank limits (vault count & slot caps) and network storage via MongoDB.
- Animated scoreboard & bossbar — fully configurable.
- Back/DeathBack, RTP, TPA, AdminTP, Fly, Heal/Feed, God, Vanish, Enchant…
- MongoDB + RabbitMQ (+ optional Redis cache) powered data layer.
- Optimized for Paper/Folia. Velocity/Bungee friendly.
Upgrade note (v1.2)
This update adds offline inventory control (
/invsee&/ecsee) and the configurable mob healthbar system. Regenerateconfig.ymlto get the newmobsblock, or merge the block below into your existing config.Mob Healthbar config
mobs: show-healthmobs: true healthbar: update-interval-ticks: 5 view-distance: 32.0 require-line-of-sight: true spawn-per-tick-cap: 40 # NEW: max new holograms created per sweeper tick format: - "&f<name>" - "&c❤ <bar> &7(<current>/<max>)" show-numbers: true segments: 10 full: "█" empty: "░" rounded: true left-edge: "❮" right-edge: "❯" color-full: "&a" color-mid: "&e" color-low: "&c" mid-threshold: 0.5 low-threshold: 0.2 include-passive: true include-players: false only-when-damaged: false line-offset: 0.35 y-offset: 0.5 use-mythicmobs: trueQuick install
- Drop
OreoEssentials-*.jarin/plugins. - Restart once to generate configs.
- Set
mongo,rabbitmq, and optionalredisinconfig.yml. For cross-server PlayerVaults, ensureessentials.storage=mongodborplayervaults.storage=mongodb/auto. - Restart again. Done.
Verify download (optional)
# Windows (PowerShell) Get-FileHash .\OreoEssentials-2.5-SNAPSHOT.jar -Algorithm SHA256 # Linux/macOS shasum -a 256 OreoEssentials-2.5-SNAPSHOT.jar - 📦 NEW — Complete Invsee System Overhaul