Sueta

OEssentials | Cross-Server Server Core • Folia • Web Panel •

7.1.5

Stop buying 10 plugins. Use one that actually understands networks

·Plugin
  1. 7.1.5latestOEssentials v7.1.5 — Stability, Bug Fixes & Visual Improvements3 days ago
    OEssentials v7.1.5 — Stability, Bug Fixes & Visual Improvements Minecraft 1.21.x | Paper & Folia ​ OEssentials 7.1.5 is now available! This update focuses on improving plugin stability, fixing command management issues, improving compatibility with optional dependencies, and refreshing the default scoreboard and TAB appearance. This release also includes all improvements and fixes from versions 7.1.1 through 7.1.4. Bug Fixes & Improvements Auto-Messages · Fixed auto-messages not restarting after using /oe reload. Command & Module Management · []Fixed command toggles not completely disabling their commands. []Disabling features in settings.yml no longer accidentally removes vanilla Minecraft commands such as /bossbar and /scoreboard. · Improved handling of disabled modules and their associated commands and listeners. Plugin Stability & Compatibility · []OEssentials can now continue running when PacketEvents or PlaceholderAPI is missing. []A failing optional module no longer prevents the entire plugin from starting. []Failed modules are now clearly identified with a red cross (❌) in the startup banner. []Fixed errors occurring with newly initialized player synchronization storage. Random Teleport · []Fixed /rtp using the wrong radius when teleporting between worlds. []Random teleportation now correctly uses the destination world's configured radius. Visual Improvements · []Introduced a new green theme for the default scoreboard. []Updated the default TAB appearance with matching green styling. Updating to 7.1.5 · []Download the latest OEssentials-7.1.5.jar. []Replace your existing plugin JAR. []Restart your server to apply the update. []Review your settings.yml to configure enabled and disabled modules. Thank you for using OEssentials! If you encounter any issues or have suggestions, feel free to report them. OEssentials v7.1.5 — More stable, more reliable, and better looking. ​
    4 downloads
  2. 7.1.4OEssentials v7.1.4 — Stability & Command Management Updatelast week
    Improved Stability • Safer Command Handling • Better Feature Toggles • PacketEvents Fallback GitHub & Source Code ​ Major Bug Fixes Fixed Startup Failure Without PacketEvents OEssentials no longer disables itself completely when PacketEvents is missing. • Custom TAB lists now support a Bukkit API fallback. • Custom nametags can initialize without PacketEvents. • The plugin remains operational even when PacketEvents is unavailable. • PacketEvents is still recommended for full packet-based TAB layouts and smoother nametag movement. Fixed Vanilla and Third-Party Commands Disappearing Previously, disabling certain OEssentials features could unintentionally remove commands registered by Minecraft or other installed plugins. For example: • Disabling the bossbar feature could remove vanilla /bossbar. • Disabling the scoreboard feature could remove vanilla /scoreboard. • Commands such as /hologram, /kit, /kits, /rtp, /wild, /trade and /maintenance could also disappear. Fixed! OEssentials now removes only its own command registrations, preserving commands belonging to vanilla Minecraft and other plugins. Improved Module Startup & Fault Isolation A single module failure will no longer bring down the entire OEssentials plugin. The following modules now support independent startup failure handling: • TAB lists • Scoreboards • Boss bars • Holograms • Nametags • Skins • Integrations • Discord integration • Web panel • Playtime • RTP and Group RTP • Jump pads • Player vaults • Clear Lag • Mobs If an optional module fails to initialize, OEssentials automatically marks it as unavailable while allowing other modules to continue running. Improved Startup Diagnostics • Failed modules are identified with a red cross in the startup banner. • Console messages now provide the reason a module could not initialize. • Server administrators can identify module-specific issues without troubleshooting an entire plugin shutdown. Example console message: Code (Text): Module 'tab' is unavailable: <reason> Reworked Command Toggle System The command management system in commands-toggle.yml has been improved to handle command registration and conflicts more reliably. Complete Command Unregistration Setting a command to enabled: false removes OEssentials' registration of that command, including: • Primary command name • Command aliases • Namespaced commands such as /oessentials • Tab completion • Its /help entry Vanilla and Third-Party Command Restoration When an OEssentials command overrides a command provided by Minecraft or another plugin, disabling OEssentials' version now restores the original command. Re-enabling the OEssentials command switches back to its implementation. Startup Registration Improvements Commands disabled during server startup are no longer registered in the first place, preventing unnecessary command conflicts. Improved Vanilla Command Compatibility The following commands can now be toggled safely: Code (Text): /tp /ban /kick /gamemode /clear /msg /enchant /kill /bossbar Add the relevant commands to commands-toggle.yml to control which implementation is active. The "This command is currently disabled" message now appears only when no alternative plugin provides the command. Fixed Feature Toggles in settings.yml Multiple feature switches previously disabled only part of their functionality or were ignored completely. Version 7.1.4 improves these switches so disabled features no longer leave related OEssentials commands or listeners active. Shop • Fixed the shop feature toggle being ignored. • Shop functionality now respects its enabled state. • The legacy top-level shop.enabled configuration remains supported. Help • Fixed the help feature toggle being ignored. • OEssentials' /help command is now removed when the feature is disabled. Player Warps • Fixed the playerwarps feature toggle. • /pw and /pwwhitelist are now removed when disabled. Homes Previously, only /home respected the feature toggle. The following additional commands are now removed when homes are disabled: Code (Text): /sethome /delhome /homes /homesgui /otherhome /otherhomes Player Vaults • /vaults is now removed when player vaults are disabled. Mobs • Previously, the toggle only affected mob health bars. • Mob management commands, including /spawnmob, /killallr and /killallrlog, are now removed when disabled. Jump Pads & Portals • Related event listeners no longer run when their features are disabled. • Associated commands no longer remain active after disabling these features. Playtime Rewards • /prewards is now removed when playtime rewards are disabled. • /playtime remains available. • Playtime tracking continues operating independently. Chat Channels Channel commands are no longer registered when the chat module is disabled: Code (Text): /channels /channel /channelannounce Random Teleport • Fixed the RTP join listener continuing to run when RTP was disabled. • The listener now respects the RTP feature switch. Maintenance Mode Maintenance configuration now works correctly from both supported configuration locations: Code (Text): maintenance.enabled features.maintenance.enabled Both configuration paths are now recognized correctly. Configuration & Runtime Behavior Important Configuration Reminder • Changes to feature switches in settings.yml require a server restart. • Command toggles can be applied immediately. This ensures module lifecycle changes are applied safely while allowing administrators to manage commands without restarting the server. Internal Improvements MinecraftModulith Updated to v0.5.0 Updated the bundled MinecraftModulith library to version 0.5.0. This release includes internal support for: • Optional modules • Ordering-only module dependencies These internal changes support OEssentials' more resilient modular initialization. OEssentials v7.1.4 A maintenance-focused release designed to make OEssentials more reliable, modular and compatible with other plugins. Recommended for all servers running OEssentials 7.1.x. Full Changelog / Source Code — GitHub Thank you for using OEssentials! ​
    10 downloads
  3. 7.1.3Fixes2 weeks ago
    OEssentials 7.1.3 — Update Notes Bug Fixes · Fixed /rtp <world> using the radius of the player's current world instead if the destination world's configured radius. · Fixed a startup crash when optional dependencies such as PlaceholderAPI are not installed. OEssentials now starts normally and only disables the affected features. · Fixed an error on fresh servers when YAML player-sync storage does not yet contain a data file. Changes · Added a new default Scoreboard and TAB design using the OEssentials green theme, including an animated gradient title, borders, and cleaner formatting. · Existing servers will keep their current scoreboard.yml and tab.yml. · To use the new defaults, delete the existing files inside: plugins/OEssentials/config/scoreboard-tab/ and restart the server. · Improved missing-dependency console warnings. They are now short and clear, showing the missing plugin, download link, and affected features instead of displaying a large warning banner. Compatibility · Minecraft 1.21+ · Paper · Folia
    18 downloads
  4. 7.1.1Fix3 weeks ago
    Fixed an issue where RtpConfig.radiusFor() was usuing the actual world of the player (p.getWorld().getName()) instead of the destination world to check the radius
    8 downloads
  5. 73 weeks ago
    3 downloads
  6. 7.1Fixed3 weeks ago
    OEssentials 7.1 Bug Fixes • Fixed startup command override issues for /heal, /god, /ban, /kick, /tp, /gamemode, /sell, /msg, /tell, /enchant, /ping, /clear, /kill, /bc and other commands. • OEssentials commands now correctly override conflicting vanilla or third-party registrations on startup. Internal • Removed leftover source files from the pre-7.0 package structure that were causing build failures after the refactor.
    13 downloads
  7. 7.0Changed configs3 weeks ago
    Changed and adapted configs to OEssentials
    7 downloads
  8. 6.7OreoEssentials 6.7Sep 20, 2026
    This update focuses heavily on stability, cross-server synchronization, Folia compatibility, and several important bug fixes, while also introducing new administration tools and migration features. Tab List · Fixed players appearing twice in the tab list · Fixed tab list flickering during latency updates · The tab list now dynamically expands from 1 to multiple columns depending on the number of online players · Decoration lines are now correctly restored when the number of columns changes Vanish · Fixed a cross-server issue where vanish state could incorrectly affect other players after disconnecting and reconnecting · handleQuit no longer unnecessarily persists vanish state; vanish is now saved only when changed through /vanish · Added: · /vanish list · /vanish clearall · Vanish debug messages are now only displayed when debug: true is enabled God Mode & Mob Targeting · Fixed a critical issue where mobs could ignore almost every player · The issue was caused by nametag teams being added to the main scoreboard · Paper also uses this scoreboard for mob AI behavior · Nametag teams are now handled using private per-viewer scoreboards · Fixed /god invulnerability persisting after a server restart · Minecraft's invulnerable=true NBT value could remain stored · Invulnerability is now automatically reset when the player joins unless God Mode is actually enabled Player Synchronization · Fixed inventory wipes during transfers such as: Lobby → Survival The lobby could previously save an empty inventory to MongoDB and overwrite the player's Survival inventory. · Added configurable: save-on-quit: false This is especially recommended for Lobby / Hub servers that should not save player inventories. Economy Added new administrative commands: · /money resetall · /money setall <amount> Both support cross-server synchronization and broadcasts. Additional changes: · force_vault_only is now enabled by default for: · Orders · Auction House · Currency selection is therefore disabled by default · Added bulk database operations for: · MongoDB · PostgreSQL · YAML New Features CMI Migrator Added a new migration system allowing servers to import data from CMI, including: · Homes · Warps · Economy balances Admin Homes GUI Administrators can now browse and manage player homes directly through a GUI. Walk Speed Added /walkspeed with per-player speed control. Ender Chest Improvements Improved Ender Chest administration and menus, including /ecsee. Trade Added player tab completion to /trade. Folia Compatibility & Stability A large number of systems have received additional Folia compatibility improvements. Updated systems include: · TPA · Portals · Playtime · ClearLag · Jail · TempFly · Freeze · Chat Bubbles · Player Sync Region-thread unsafe operations have been moved to the appropriate schedulers. Additional networking fixes: · RabbitMQ scheduler now remains active after reconnecting · RabbitMQ packets are now dispatched through the correct scheduler A large part of this update focuses on making OreoEssentials more reliable for multi-server networks, Folia servers, and larger production environments. As always, please report any issue you encounter through our support channels.
    20 downloads
  9. 6.6CMI Migration Support ! Bug Fixes , Enhancements ! AND MORE!Sep 12, 2026
    OreoEssentials v6.6 Patch Notes​ [HR][/HR] Mob Targeting (Critical Server-Wide Fix) · [CRITICAL] Fixed all hostile mobs (skeletons, zombies, creepers, etc.) failing to attack any player server-wide when the nametag module was active. The root cause was PlayerNametagManager placing every player on a scoreboard team (oe_nt_hidden) with NAME_TAG_VISIBILITY=NEVER on the main scoreboard. Paper 1.21's mob AI goal (NearestAttackableTargetGoal) reads the main scoreboard to determine if a player is a valid target — with all players on that team, every mob silently ignored them. Fixed by giving each viewer their own private scoreboard so the team never touches the main one. (Hoglins were unaffected because their AI goal bypasses the team check entirely.) · [CRITICAL] Fixed players who previously used /god having mobs unable to target them after a server restart. setInvulnerable(true) is saved to player NBT — after a restart, GodService loses its in-memory state but the NBT flag persists, leaving the player permanently untargetable by mobs (vanilla behaviour: invulnerable entities are excluded from mob targeting). GodListener now resets setInvulnerable(false) on join for any player not tracked as god. [HR][/HR] Vanish · [CRITICAL] Fixed all players (including brand-new ones) joining with vanish active server-wide, causing mobs to ignore everyone. The cause was handleQuit re-persisting vanish=true to storage for any player in the in-memory vanished set on disconnect — including players added via cross-server RabbitMQ packets. With shared MongoDB this contaminated the vanish state for the entire network. Fixed by removing the auto-persist-on-quit; vanish is now only written to storage when an admin explicitly runs /vanish on <player>. · [CRITICAL] Fixed applyStateLocal calling show() unconditionally on every player join, even for players who were never vanished. This caused fake join messages to be broadcast to all online players on every single join event. hide()/show() are now only called when the vanish state actually changes. · [HIGH] Added /vanish clearall (requires oreo.vanish.admin) — wipes all persisted vanish state from storage and un-vanishes every currently online player in one command. Essential for recovering from mass-contamination of vanish state. · [HIGH] Added /vanish list (requires oreo.vanish.admin) — shows all currently vanished players with their UUID and online/offline status. · [HIGH] Console can now use /vanish <player>, /vanish on|off <player>. Admins can target other players directly. · [MEDIUM] All vanish debug logs are now silent by default and only appear when debug: true is set in config.yml. Only genuine storage errors still log as warnings. [HR][/HR] Cross-Server Player Sync · [CRITICAL] Fixed players losing their entire inventory when transferring from a lobby/hub server to a survival or resource server. The lobby plugin clears inventory on join — when the player then left lobby, the sync saved that empty inventory to the shared MongoDB, overwriting the real survival inventory. Added a new config option playersync.save-on-quit: false for lobby/hub servers — they will still load sync state on join but will never overwrite shared storage when players leave. · [HIGH] Fixed inventory sync saving ItemStack[0] (empty array) instead of null when inventory sync is disabled on a server. applySnapshot already had a null-check for the inventory field but the empty array passed through it, causing the inventory to be wiped on the destination server. Fields disabled on the saving server are now stored as null and correctly skipped on apply. · [HIGH] Fixed XP being reset to 0 when transferring from a server with XP sync disabled to one with it enabled. XP-disabled servers now store level=-1 as a sentinel; applySnapshot skips XP application when level < 0. [HR][/HR] Economy · [MEDIUM] Added /money resetall — resets every player's balance to 0 across all backends (YAML, JSON, MongoDB, PostgreSQL). Broadcasts the action to all online players on the current server and cross-server via RabbitMQ. Requires permission oreo.money.resetall (default: op). · [MEDIUM] Added /money setall <amount> — sets every player's balance to the specified amount across all backends. Same cross-server broadcast behaviour. Requires permission oreo.money.setall (default: op). [HR][/HR] Orders & Auction House · [MEDIUM] Added force_vault_only: false config option to the Orders module (orders/settings.yml). When set to true, the currency selection GUI is skipped entirely and all transactions use Vault money — players are never prompted to pick a currency. · [MEDIUM] Added force_vault_only: false config option to the Auction House module (auctionhouse/config.yml). Same behaviour — when enabled, /ah sell bypasses the currency picker and goes straight to Vault. [HR][/HR] CMI Migration · [NEW] Added CMI migration module — import homes, warps, and economy balances from an existing CMI installation via /cmiMigrate. Supports importing directly from CMI's live data while it is still installed, using reflection to avoid a hard dependency. [HR][/HR] Other · [NEW] Added /walkspeed command for per-player walk speed control. · [NEW] Added admin homes GUI (AdminHomesGuiProvider) for browsing and managing any player's homes from the Player Actions menu. · [MEDIUM] Updated bStats to 3.2.1. [HR][/HR] OreoEssentials v6.6 — Built for Paper 1.21 | Java 21​
    13 downloads
  10. 6.5AFixesAug 29, 2026
    1. /ecsee stale items — live inventory read when target has EC open 2. EcSee GUI icon takeable — ClickableItem.empty → ClickableItem.of with explicit cancel on the ender chest icon and all lock barriers 3. Vanish fake quit/join + player count — fake messages in all 10 langs, player count excludes vanished for non-admins 4. Nametag still showing + 2s delay — permission-aware visibility check + immediate refreshOwnerVisibility() call
    11 downloads
  11. 6.5FIXAug 29, 2026
    OreoEssentials 6.5 Released August 29, 2026 [HR][/HR] Bug Fixes Folia Compatibility — Sweep #1 · Fixed player sync performing disk reads and Bukkit API calls on region threads — now properly offloaded · Fixed TPA directory lookups blocking region threads — now fully async with deduplicated cross-server notifications · Fixed local teleport requests not being Folia region-safe · Fixed cross-server teleport directory lookups running on wrong threads · Fixed chat bubble tracking causing thread violations on Folia Folia Compatibility — Sweep #2 · Fixed top/bottom teleport commands not being Folia region-safe · Fixed /tphere blocking the region thread — now non-blocking · Fixed freeze manager scheduling on wrong thread under Folia · Fixed tempfly tick scheduler violating Folia thread constraints · Fixed jail guard running on the wrong region · Fixed RabbitMQ packets being dispatched outside the server scheduler · Fixed RabbitMQ reconnect scheduler silently dying after failed reconnect attempts · Fixed cross-server TPA broker not being Folia-safe · Fixed clearlag task and TPS sampler not shutting down cleanly under Folia · Fixed playtime YAML saves being performed on tick threads · Fixed portal broker thread-safety under Folia · Fixed health bar listener leaking registered handlers on plugin reload Commands & Gameplay · Fixed RTP command not correctly handling edge cases on join and cross-server bridge · Fixed /sethome returning an incorrect response in certain conditions · Fixed trade session not cleaning up properly in some cancellation scenarios · Fixed /trade tab completion not suggesting online player names · Fixed /walkspeed permission being default: true — all players could change their own walk speed without any permission assigned. Now requires oreo.walkspeed (default: op) [HR][/HR] ✨ Improvements · /walkspeed now supports targeting other players: /walkspeed <player> <1-10|reset> — requires new permission oreo.walkspeed.others (default: op). Target player is notified when their speed is changed. [HR][/HR] Permission Changes Permission Default Description oreo.walkspeed op (was true) Use /walkspeed on yourself oreo.walkspeed.others op (new) Use /walkspeed to change another player's speed ⚠ Action required: If you previously relied on players having walk speed access by default, explicitly grant oreo.walkspeed to the appropriate rank groups in LuckPerms. [HR][/HR] Download: OreoEssentials-6.5.jar
    7 downloads
  12. 6.4dBug FixesAug 26, 2026
    [RTP] Fixed server freeze when using /rtp The /rtp command was loading ungenerated chunks synchronously on the main thread, causing the server to hang for 10+ seconds (and triggering a thread dump). Chunk discovery and safe-location search now run fully off the main thread. Teleportation uses teleportAsync, making this compatible with both Paper and Folia. [Trade] Fixed items disappearing when both players accept a trade When two players both confirmed a trade, items could silently vanish if the player directory (Redis) was unavailable or hadn't synced the player's server yet. The leader-election logic now falls back to local player presence when the directory returns no data, ensuring the trade always finalizes correctly on the server where both players are present. [Homes] Fixed /sethome blocked in underground caves Players mining below Y=0 (e.g. Y=−30 in a 1.18+ cave) were incorrectly told "You cannot set a home in the void." The void check was hardcoded to Y < 0, a leftover from pre-1.18 world generation. It now uses the world's actual minimum height (World#getMinHeight()), so only genuine void positions are rejected.
    6 downloads
  13. 6.4cStability & Folia UpdateAug 24, 2026
    OreoEssentials – Stability & Folia Update This update focuses heavily on stability, Folia compatibility, cross-server systems, and quality-of-life improvements. Fixes · Fixed /tpa confirmation messages appearing twice · Fixed duplicate notifications for some cross-server TPA requests · Fixed multiple Folia threading issues affecting teleportation · Fixed Chat Bubbles causing "Must use teleportAsync while in region threading" errors on Folia · Improved cross-server TPA arrival handling · Improved /tp and /tpa cross-server player lookups · Fixed Player Sync performing unsafe operations on Folia threads · Improved Player Sync loading/saving performance · Fixed /top and /bottom teleportation on Folia · Improved /tphere compatibility with Folia · Fixed Freeze system thread-safety on Folia · Fixed TempFly thread-safety on Folia · Improved Jail system compatibility with Folia · Improved ClearLag compatibility and scheduler cleanup · Fixed TPS sampler not properly stopping after ClearLag reload/disable · Improved cross-server Portal teleport handling · Improved RabbitMQ reconnect reliability · Improved cross-server packet handling and thread safety · Fixed Health Bar listeners/tasks potentially being duplicated after /oereload · Moved Playtime data saving away from server tick threads ✨ Quality of Life · Added player name tab-completion to /trade · /trade now suggests online players like /tpa · The player using /trade is excluded from their own suggestions · Improved command and teleport responsiveness on network setups ⚡ Folia A large part of this update focused on making OreoEssentials safer on Folia's region-threaded architecture. Several systems that previously accessed players/entities from the wrong region or used synchronous teleportation have been updated to use proper Folia-safe scheduling and asynchronous teleportation. If you are running Folia, updating is strongly recommended.
    9 downloads
  14. 6.4bFIXAug 23, 2026
    I accidently left fr in config as main language sorry^^
    6 downloads
  15. 6.4aAlias improvements & bug fixesAug 20, 2026
    New - custom-tabs now supports [players] as a dynamic token — expands to online player names at tab-complete time instead of being hardcoded at startup. Mixed entries like [players],console work as expected. [playerName] remains supported as a legacy alias. Fixed - check: inline conditions now correctly expand argument variables ($1, $2, etc.) before evaluation. Previously, check:'$1'='bread'! would always fail because $1 was passed as a literal string to the condition evaluator.
    7 downloads
  16. 6.4Alias System ImprovementsAug 20, 2026
    This update brings several improvements to the Alias module, including dynamic tab completion and some internal cleanup. ✨ Dynamic Player Tab Completion custom-tabs can now dynamically suggest currently online players using: custom-tabs: - "[players]" [players] is resolved live whenever tab completion is requested, so players who join or leave are reflected instantly without needing /oereload. You can also mix dynamic players with normal static suggestions: custom-tabs: - "[players],console" And regular static tabs continue working exactly as before: custom-tabs: - "give,take" Compatibility [playerName] can also be used inside custom-tabs as a compatibility alias for [players]. custom-tabs: - "[playerName]" This does not change the existing behavior of [playerName] inside alias commands. ️ Other Improvements · Player suggestions are now sorted case-insensitively · Duplicate suggestions are automatically removed · Prefix filtering still works normally · Zero online players are handled safely · Player suggestions are no longer cached at config load · PlaceholderAPI handling in the Alias module now uses the direct API instead of reflection · Improved exception handling · Failures while extracting the default aliases.yml are now properly logged instead of silently ignored · Added documentation and examples to aliases.yml Example: Code (YAML): playerinfo: enabled : true run-as : PLAYER commands : - "msg $1 Hello!" add-tabs : true custom-tabs : - "[players]" The alias system remains fully backwards compatible with existing static custom-tabs configurations.
    5 downloads
  17. 6.3Fixed — Vault Economy Provider RegistrationJul 31, 2026
    OreoEssentials will no longer register itself as a Vault economy provider when: Code (Text): economy: enabled: false ✅ Prevents conflicts with other economy plugins ✅ Allows another Vault-compatible economy plugin to automatically become the active provider ✅ Makes it easier to disable OreoEssentials' economy while keeping the rest of the plugin enabled This improves compatibility with plugins such as EssentialsX Economy, CMI, and other Vault-supported economy providers.
    11 downloads
  18. 6.2OreoEssentials v6.2Jul 29, 2026
    OreoEssentials v6.2 Patch Notes​ [HR][/HR] Economy & Vault · [CRITICAL] Fixed a race condition in PostgreSQL balance operations — reads and writes are now atomic using SQL LEAST()/GREATEST() functions. Two concurrent transactions can no longer both pass a balance check at the same time, preventing duplicate payouts and negative balances. · [CRITICAL] Replaced the shared database Connection field in PostgreSQLManager with per-method connections opened in try-with-resources blocks. Eliminates stale connection crashes and thread-safety violations under concurrent load. · [HIGH] Fixed /money set — the old code used a read-diff-write pattern through Vault that was not atomic. It now calls EconomyService.setBalance() directly. · [HIGH] Fixed cheque double-redeem (ChequeCommand) — funds are deposited first asynchronously; the item is consumed only after the deposit succeeds. A failed item consume triggers an automatic refund. · [HIGH] Fixed Vault resolvePlayer() — removed Bukkit.getOfflinePlayers() full scan which could freeze the server on large player counts. Replaced with an online-player loop + UUID parse + getOfflinePlayer(name) fallback. · [HIGH] Fixed concurrent withdraw race in OreoVaultProvider — per-UUID synchronized locks now prevent two simultaneous withdraws from the same account both passing the balance check. · [MEDIUM] Economy migration now checks if the destination already has a balance before depositing, preventing double-credit on interrupted migrations. · [MEDIUM] Economy migration now writes a timestamped YAML backup of all balances to disk before performing the migration. · [MEDIUM] Fixed RedisManager.clearCache() — no longer calls flushDB() (which would wipe unrelated keys). Now deletes only balance:* keys. [HR][/HR] Shop · [CRITICAL] Fixed anti-dupe vulnerability in sell transactions — funds are now deposited before items are removed. Item loss on economy failure is no longer possible. · [HIGH] Fixed sell price not refreshing after a shop config reload — price modifier cache now invalidates correctly. · [MEDIUM] Amount selection GUI now rejects negative quantities and zero-quantity sells before they reach the transaction layer. [HR][/HR] Auction House · [CRITICAL] Fixed a concurrent bid race condition — bids are now validated inside a per-listing ReentrantLock. Two simultaneous bids on the same listing can no longer both pass the minimum price check. · [HIGH] Fixed expired listing item loss — expired items are now returned to the seller's inventory (or mailed if offline) before the listing is removed from storage. · [HIGH] MongoDB listing updates now use findOneAndUpdate with an aggregation pipeline, preventing partial writes during high bid traffic. · [MEDIUM] Fixed ConcurrentModificationException in Browse GUI — the listing list is now copied before rendering during an async refresh. [HR][/HR] Vanish · [HIGH] Fixed vanish state being lost on relog — vanish is now persisted to the player data file on logout and restored on login. · [MEDIUM] Fixed tab list not updating — vanished players are now hidden from the tab list for all non-admin viewers. · [MEDIUM] Added configurable fake quit/join messages when vanishing or unvanishing. [HR][/HR] Personal Vaults · [CRITICAL] Fixed item duplication on concurrent vault opens — a per-player ReentrantLock now ensures two simultaneous open requests queue instead of both writing. · [HIGH] Fixed vault contents not being saved on a server crash — vaults are now flushed to storage on every close, not only on plugin disable. · [HIGH] Fixed NullPointerException in MongoDB storage when a document lookup returns null. [HR][/HR] Player Sync · [HIGH] Fixed player sync save blocking the main thread on quit — PlayerSyncListener.onQuit() now dispatches the save to an async thread via OreScheduler.runAsync(). [HR][/HR] Portals / Jump Pads / Near · [MEDIUM] Fixed portal teleport region check — WorldGuard flag check now correctly uses the destination region, not the source. · [MEDIUM] Fixed jump pad velocity not applying correctly under Folia — velocity is now applied via OreScheduler.runForEntity() on the entity's own thread. · [MEDIUM] Fixed /near command scanning the player list on the main thread — list is now fetched and sorted asynchronously with the result sent back on the main thread. [HR][/HR] Shards / Cross-Server · [HIGH] Fixed /shard writing config to the wrong path — was saving to shards.yml in the root data folder while OreoShardsModule reads from server/shards.yml. Both write locations corrected. · [HIGH] Fixed Redis subscriber thread not reconnecting after a disconnect — chunk preload subscriber now runs in a daemon thread with an automatic 3-second reconnect loop and a proper shutdown() method for clean plugin disable. · [MEDIUM] Replaced hardcoded "world" world name with getServer().getWorlds().get(0).getName() to avoid NPE on servers with non-standard main world names. [HR][/HR] RabbitMQ · [HIGH] Packet decode errors are no longer silently swallowed — PacketManager.onReceive() now logs at SEVERE level with a full stack trace when a packet fails to decode, making message-loss incidents visible in server logs. [HR][/HR] Bug Fixes & Internal · [HIGH] Fixed CommandAPI integration build error — OreoCommandAdapter was calling delegate.getName() which does not exist on the OreoCommand interface. Corrected to delegate.name(). · [MEDIUM] Fixed PlayerWarpDialogHandler crashing on startup — was calling OreoEssentials.getInstance() (no such method). Corrected to OreoEssentials.get(). · [MEDIUM] Fixed SkinRefresherPacketEvents type mismatch — List<? extends Player> stream results were being assigned to List<Player> variables. Fixed with explicit cast in stream pipeline. [HR][/HR] OreoEssentials v6.2 — Built for Paper 1.21 | Java 21​
    18 downloads
  19. 6.1FixesJul 11, 2026
    · Fixed Loading compatibility with Nexo · Custom Nameplates :Fixed an issue where custom nameplates would become visually offset or move incorrectly after updating to v6.0. · Shop GUI · Fixed the Back button disappearing when using smaller menu sizes (e.g. 2 or 4 rows). · Fixed items not appearing in specific slots (such as 6, 9, 13, and 14) in shop categories. · World Gamerules Menu · Fixed a bug where clicking the navigation arrow could break the GUI. · Players can no longer accidentally drop GUI items on the ground. · Gamerules can now be toggled normally without having to reopen the menu.
    17 downloads
  20. 6.0ProtocolLib -> PacketEvents AND MORE !Jul 6, 2026

    Bug Fixes

    - Fixed issue where /oesettings Boss Bar toggle was incorrectly disabling all boss bars. - Multi-bossbar system is now fully independent: - Welcome Bar - Staff Bar - Each boss bar can now be toggled without affecting others. --- ## ✨ New Features - Added independent toggles in /oesettings: - Welcome Bar → Toggles server welcome boss bar - ⚔️ Staff Bar → Toggles staff mode boss bar - Changes are applied instantly in-game (no reload required). --- ## ⚡ Performance Improvements (Tab List Rewrite) Major optimization of the custom tab list system for high player counts. ### Before (400 players): - ~16,000 PlaceholderAPI calls per second (per tick per player) - Full tab rebuild for 400 players every tick - ~160,000 packet operations per second (including de-listing) ### After (400 players): - ~4 PlaceholderAPI calls per second (cached system) - Work distributed across ticks (max 2 viewers processed per tick) - 5× reduction in de-listing frequency - ~97% of ticks perform zero tab processing work --- ## Core Changes - Dropped ProtocolLib entirely - Fully migrated all packet-level operations to PacketEvents --- ## Tab System (Full Rewrite) - Tab list system completely rewritten from scratch - Now fully powered by PacketEvents - More stable, more accurate, and significantly more performant --- ## ️ Nametag & Nameplate System - Entire custom nameplate / nametag system fully rewritten - Fixed issues with holograms conflicting with player visibility - Cleaner rendering and improved synchronization --- ## ⚙️ Settings System - Expanded /oesettings with more feature toggles - Additional systems can now be individually enabled/disabled directly from the GUI --- ## Notes - Visual behavior remains unchanged (animations, sorting, formatting preserved) - Major internal refactor for performance, stability, and scalability - Designed for large player networks and hub servers
    7 downloads
  21. 5.8FixesJun 20, 2026
    Minor Fixes
    8 downloads
  22. 5.7Update 5.7 Patch NotesJun 10, 2026
    ️ Nametags Fixed Nameplates (TextDisplay entities) now properly respect player visibility states. · Nametags instantly hide when a player starts sneaking. · Nametags instantly reappear when the player stops sneaking. · Vanished players now correctly refresh for all viewers when their vanish status changes. · Fixed cases where nametags could remain visible above sneaking or vanished players. Group RTP Fixed Resolved an issue where Group RTP could fail after the countdown completed, resulting in players receiving a "Couldn't find a safe location" message and never being transferred. Improvements · Increased the cross-server transfer delay from 3 ticks (0.15s) to 20 ticks (1 second) to prevent packet synchronization issues. · Safe-location failures on the destination server now provide clear feedback to the player. · Packet transmission errors are now properly caught and reported instead of silently failing. Paper Dialog API Support (NEW) Requires Paper 1.21.5+ OreoEssentials now supports the brand-new Paper Dialog API. When enabled, supported commands will use native Minecraft dialog windows instead of inventory GUIs. Bedrock Support Included Players connecting through GeyserMC + Floodgate automatically receive native Bedrock forms via Cumulus without any additional configuration. Enable in settings.yml dialog: enabled: true Feature Toggles dialog: enabled: true features: homes: true warps: true tpa: true player-warps: true kits: true near: true channels: true confirm-delhome: true confirm-delwarp: true confirm-mailclear: true confirm-pwremove: true New Dialog Interfaces Homes · /home · /homesgui View all homes and teleport with a single click. Warps · /warps Browse available server warps and teleport instantly. Player Warps · /pw gui View add teleport to player-created warps. Kits · /kits Displays available kits alongside cooldown information. Nearby Players · /near [radius] View nearby players and teleport directly to them. Channels /oechannels Switch chat channels through a native dialog interface. Confirmation Dialogs Added confirmation windows for destructive actions: · /delhome <name> · /delwarp <name> · /mail clear · /pw remove <warp> Players must explicitly confirm before the action executes. TPA Dialogs Incoming teleport requests now display a native dialog containing: · ✅ Accept · ❌ Deny The request can no longer be missed in chat and requires a direct response. Fallback Support If the Dialog API is unavailable, unsupported, or disabled, OreoEssentials automatically falls back to the existing inventory GUI or chat-based behavior. Other Fixes Fixed · Removed a duplicate reloadPlayerWarpsConfig() method definition that caused compilation errors. Thank you for supporting OreoEssentials ❤️ As always, if you encounter any issues or have feature suggestions, feel free to join our Discord and let us know!
    15 downloads
  23. 5.5FixesJun 8, 2026
    Fixed a premade config setting where balance and money command where added as aliases
    13 downloads
  24. 5.4Bug Fixes & Cross-Server ImprovementsJun 6, 2026
    - Fix: Cross-server RTP now works correctly — the RTP bridge was never being registered because packetManager is initialized asynchronously; bridge init moved to the correct async callback - Fix: Nametag "show to self" now defaults to false
    15 downloads
  25. 5.3Minor FixesJun 4, 2026
    - Config Fixes - Lang Fixes
    13 downloads
  26. 5.2v5.2 FixesMay 31, 2026
    Bug Fixes [FOLIA] UnsupportedOperationException on startup — YamlPlayerWarpStorage Replaced a Bukkit.getScheduler().runTask() call inside the constructor with OreScheduler.run(). Folia throws UnsupportedOperationException on any CraftScheduler call, causing the plugin to crash immediately on boot. --- [FOLIA] IllegalStateException: Asynchronous Recipe Add! — Custom Crafting When saving a recipe via /oecraft browse, the recipe was being registered to Bukkit's recipe manager from inside an async thread (Async.run()). Bukkit.addRecipe() requires the main thread on both Folia and Paper. Added saveAndRegisterAsync() method: file I/O stays on the async thread, then switches to the main thread via OreScheduler.run() before calling registerBukkitRecipe(). --- [FOLIA / PAPER] RabbitMQ connection blocking the server thread Phase 1: Added factory.setConnectionTimeout(5000) and factory.setHandshakeTimeout(5000) to the ConnectionFactory. Without these, a failed connection would block the server thread for the full OS-level TCP timeout (20–30+ seconds). Phase 2: Fully refactored initRabbitMQ() to be non-blocking. The server now instantly starts in local mode, fires an async thread to connect to RabbitMQ, and if successful, upgrades to cross-server mode on the main thread. Server startup is no longer affected by RabbitMQ availability at all. --- [BUG] Brokers initializing before RabbitMQ connected After the async RabbitMQ refactor, initBrokers() was running synchronously before the async connection completed, causing all brokers (MOD-BRIDGE, TRADE, HomeTeleportBroker, TPA, BackBroker, etc.) to report "PacketManager unavailable" even when RabbitMQ would later connect successfully. initBrokers() was removed from onEnable() and is now called from inside the RabbitMQ async callback — once on successful connect (with full PacketManager), and once on failure (sets all brokers to null with proper disabled messages). --- [BUG] Language setting not applied — server.language not read config.yml stores the language under server.language (nested under the server: block), but Lang.init() and Lang.reload() were reading from the root key language, causing the language to always default to English regardless of config. Fixed to read server.language first, falling back to the root language key for backwards compatibility.
    7 downloads
  27. 5.1Added LoadBeforeMay 28, 2026
    Added Loadbefore comapatibility with Perfranknpcs and ajLeaderboards
    7 downloads
  28. 5.0You can Now Configure your Server from a WEBPANEL!May 26, 2026
    The OreoStudios web panel has been completely redesigned and rewritten. New layout, better performance, and a ton of new features. ────────────────────────────────────── ⚙️ CONFIG EDITOR (NEW FEATURE) ────────────────────────────────────── You can now manage all your OreoEssentials config files directly from the web panel — no more SSH, no more FTP. Supported files: • config.yml • chat-format.yml • tab.yml • clearlag.yml • settings.yml • scoreboard.yml • afk.yml • maintenance.yml • rtp.yml • craft-actions.yml • join-quit-messages.yml • playervaults.yml • playerwarps.yml • dailyrewards.yml Features: [+] Visual form editor — edit settings through a clean UI [+] Raw YAML editor — full text editing with live validation [+] Push to Plugin — send config changes live via RabbitMQ (no server restart required) [+] Fetch from Plugin — pull current config files from your running server directly into the panel [+] Auto-save to database — configs are stored server-side ────────────────────────────────────── ️BUG FIXES ────────────────────────────────────── [*] Fixed internal server error when saving config files [*] Fixed RabbitMQ connection status showing incorrect state [*] Fixed panel crash on load (null element errors) [*] Fixed push failing silently when plugin was online [*] Fixed YAML parse error when config root was not a map [*] Stability improvements to the AMQP listener ────────────────────────────────────── ➕ OTHER CHANGES ────────────────────────────────────── [+] Servers can now be deleted from the dashboard [+] Improved error messages across the panel [+] Better RabbitMQ reconnection handling
    13 downloads
  29. 4.9FixesMay 21, 2026
    Custom Nameplates : Nameplate TextDisplay entities now stay hidden from the owning player when jumping in first-person view. The bug was caused by entity.teleport() resending the entity spawn packet to the client, which silently reset the hideEntity state. Visibility is now re-enforced for all non-viewers after every position update. MOTD Fixes an issue where MOTD was not parsing minimessage correctly
    9 downloads
  30. 4.8v4.8 — Massive Systems UpdateMay 14, 2026
    ✨ New Commands /day → Set server time to day /night → Set server time to night /oeworld → Full world management system • Gamerules • Borders • Weather • Async pre-generation • Void world creation /bottom → Teleport to the lowest solid block below you /top → Teleport to the highest block above you /price → Check buy/sell value of held item /recipe → View crafting recipe of held item /help → Fully configurable help menu /motd → Display server MOTD /rules → Display server rules /mail send|read|clear → Persistent player mail system /ignore → Ignore player messages /unignore → Remove ignored player /warn → Warn a player /unwarn → Remove warnings /warnings → View warnings /history → View punishment history /setfirstspawn → Configure first join spawn New Systems & Modules ⚠️ Warnings System A complete warning & moderation framework. Features: · Persistent warning history · Configurable punishment thresholds · Auto punishments · /warn, /warnings, /unwarn · Configurable in: server/warnings.yml ✉️ Mail System Players can now send persistent offline mail to each other. Features: · Read mail anytime · Clear mailbox · Persistent storage · Lightweight & optimized Commands: /mail send /mail read /mail clear Ignore System Block chat/messages from specific players. Commands: /ignore /unignore Help System Fully configurable paginated help menu. Config: server/help.yml Supports: · Multiple pages · Permission-based entries · MiniMessage formatting · Custom categories MOTD System Dynamic configurable MOTD command. Config: server/motd.yml Rules System Server rules management via configuration. Config: server/rules.yml Punishment Logger Track punishment history across your server. Tracks: · Bans · Kicks · Mutes · Warnings View via: /history <player> ️ Join Flood Guard New protection layer preventing massive join spam from impacting server stability. Helps protect: · Login spikes · Bot floods · Sudden player surges Container Spam Guard Prevents players from rapidly opening containers and causing unnecessary load. Benefits: · Reduces packet spam · Protects TPS · Improves large-server stability World Pre-Generator Generate chunks asynchronously in the background. Command: /oeworld pregen Features: · Async chunk generation · No TPS freeze · Progress tracking · Paper/Folia optimized ️ Void Chunk Generator Create fully empty void worlds directly from OreoEssentials. Integrated into: /oeworld Major Improvements & Rewrites ✨ Holograms · Fixed Paper 1.26.x support · Version adapter fallback system added · Improved AddLine / SetLine / Copy commands · FlatFile storage rewrite for better stability · Fixed command routing after unregisterCommandHard Scoreboard Complete internal rewrite. Improvements: · Better Folia compatibility · Reduced recreation spam · Cleaner packet handling · Better async safety Tab List Massive rewrite of CustomTablistLayout. Features: · More robust packet handling · Improved custom layouts · Better compatibility · Cleaner rendering pipeline Near (/near) · Added GUI provider support · New NearGuiProvider Homes · Major command rewrite · Cleaner cross-server synchronization · Improved service architecture Economy / Cheques · Full cheque system rewrite · Improved JSON/YAML backends · Better transaction reliability Shop · Fixed multiple buy/sell edge cases · TransactionProcessor improvements · ShopItem model fixes Trade · Fixed inventory close detection · Cleaner TradeSession handling Portals · Cross-server broker improvements · Listener fixes · Better transfer reliability Player Warps · Browse menu improvements · YAML storage fixes TempFly · Service-level fixes · Better timer handling ️ Nametags · Added NametagCondition support · Conditional nametag visibility · PlayerNametagManager improvements Spawn · Improved first join spawn listener · SpawnService refactor · Better startup reliability Jump Pads · Manager fixes · Stability improvements Shards · ShardManager fixes ⏱️ Playtime Rewards · Internal service improvements RabbitMQ · RabbitMQSender improvements · Better broker stability · Cleaner async handling ⚙️ Config & Resource Updates Added New Config Files server/help.yml server/motd.yml server/rules.yml server/warnings.yml Expanded Existing Configs settings.yml tab.yml custom-nameplates/config.yml plugin.yml · 117 new lines added · New permissions · New command registrations Performance & Stability This update focuses heavily on: · Folia compatibility · Async safety · Cross-server infrastructure · Packet optimization · Reduced memory overhead · Large-network stability OreoEssentials continues pushing toward being the most complete and optimized all-in-one Essentials core for modern Minecraft servers.
    9 downloads
  31. 4.7bFixes / AdditionsMay 10, 2026
    New Commands - /price — item price lookup - /recipe — view crafting recipes - /top — likely top players (balance/stats) - /oeworld (OeWorldCommand) — admin world management (625 lines, major feature) - /help — custom help system with HelpConfig - /ignore — player ignore system with IgnoreService - /mail — in-game mail system (MailCommand, MailService, MailListener) - /rules — display server rules - /history — punishment history viewer - /warn / /unwarn / /warnings — full warnings system with WarnService - /setfirstspawn — set the first-join spawn point New Systems / Services - MOTD — MotdConfig + MotdService - Join Flood Guard — JoinFloodGuardService (rate-limits joins) - Container Spam Guard — ContainerSpamGuardListener (anti-spam for container opens) - Punishment Logger — PunishmentLogger for audit logging - Void Chunk Generator — VoidChunkGenerator for void worlds Improvements - /cheque — heavily reworked (ChequeCommand, tab completer) - /near — GUI provider added (NearGuiProvider) - /homes — significant rework - Scoreboard — service refactor - Tab list — CustomTablistLayout expanded - Nametag manager — expanded - World gamerules menu — reworked GUI - /msg — minor additions New: /oeworld — World Management Full in-game world creation, import, and pre-generation without restarting the server. /oeworld create <name> <normal|nether|end|void> <border> <true|false> /oeworld import <worldname> [normal|nether|end|void] [border] /oeworld cancel <worldname> - Create normal, nether, end, and void worlds on the fly - Void worlds include a single bedrock platform at the center — players teleport directly onto it - Import existing worlds from disk — detects environment automatically from level.dat, registers for auto-load on restart - World border applied on creation/import - Lag-free async pre-generation — uses Paper's async chunk API, all chunk generation runs off the main thread with zero TPS impact. Progress reported every 5% in chat - Cancel any active pre-generation at any time with /oeworld cancel - Worlds persist across restarts — saved to plugins/OreoEssentials/worlds.yml and auto-loaded on startup - Full tab completion with inline hints (<worldname>, <border_in_blocks>, etc.) - Permission: oreo.oeworld (default: op) --- New: /setfirstspawn Sets a separate spawn location used exclusively for players joining the server for the very first time. Falls back to the regular spawn if not set. - Permission: oreo.setfirstspawn (default: op) --- Fix: PAPI placeholders not resolving in LuckPerms prefix/suffix PlaceholderAPI placeholders (e.g. %nexo_...%) set directly inside a LuckPerms prefix or suffix were shown as literal text in chat instead of being replaced. Fixed in both the standard chat listener and the chat channels handler. --- Fix: Server crash on startup when importing worlds without a border Importing a world without specifying a border saved Minecraft's default world border size (60,000,000) which is above Bukkit's hard cap of 59,999,968, causing IllegalArgumentException on the next startup. The value is now treated as "no border" and saved as 0. --- Compatibility: Paper / Folia / Purpur 1.21+ FIXES: 1 : reloadHolograms() race condition Previously unloadHolograms() submitted an async task and returned immediately, then loadHolograms() was called right away. The async unload could fire after the load, deleting newly-loaded holograms. Now reloadHolograms() submits unloadHologramsSync() and blocks with .get() until it completes before loading. 2:unloadHolograms() / unloadHolograms(world) key mismatch (three call sites) The holograms map uses name.toLowerCase() as its key, but all holograms.remove() calls in the unload methods were using hologram.getName() (no lowercase). Holograms with uppercase letters in their names were silently left in the map. All three removed. 3: saveConfig() swallows SnakeYAML exceptions Only IOException was caught. SnakeYAML's YAMLException (which can be thrown for unusual Unicode codepoints like ItemsAdder glyphs) is unchecked, so it was silently swallowed by the executor — the file was never written and the hologram reappeared on restart. Now a second catch (Exception e) block logs the error visibly. Fix 4 : Shutdown ordering (OHolograms.java nDisable) The hologram thread and file executor were shut down simultaneously. Pending hologram-thread tasks (like delete saves) that submit work to the file executor would get RejectedExecutionException if the file executor shut down first. Now the hologram thread is fully awaited before the file executor is shut down.
    8 downloads
  32. 4.6aperformance fixesApr 27, 2026
    Performance - Optimized the custom tab layout system. - Fixed a major tab performance issue where player list names were being rebuilt repeatedly in the same update cycle. - Tab header/footer and player names now use smarter caching and only update when needed. - Optimized scoreboard refresh performance. - Scoreboard rendering now shares cached animated/static line output across the refresh cycle instead of rebuilding the same content for every player. - Reduced unnecessary scheduler load from repeated UI rendering tasks. - Moved player-directory presence writes off the main thread. - Batched web panel sync to reduce spike lag. - Reduced unnecessary bossbar, actionbar, and nametag update work. - Redesigned nametag visibility updates to avoid constant full scans.
    20 downloads
  33. 4.6Folia FixesApr 27, 2026
    Fixed some console spam on folia
    15 downloads
  34. 4.5Apr 27, 2026
    19 downloads

Similar projects

Plugin →