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.
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.ymlMail System
Players can now send persistent offline mail to each other.
Features:
Commands:
- Read mail anytime
- Clear mailbox
- Persistent storage
- Lightweight & optimized
/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:
MOTD System
- Multiple pages
- Permission-based entries
- MiniMessage formatting
- Custom categories
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:
View via:
- Bans
- Kicks
- Mutes
- Warnings
/history <player>
️ Join Flood Guard
New protection layer preventing massive join spam from impacting server stability.
Helps protect:
Container Spam Guard
- Login spikes
- Bot floods
- Sudden player surges
Prevents players from rapidly opening containers and causing unnecessary load.
Benefits:
World Pre-Generator
- Reduces packet spam
- Protects TPS
- Improves large-server stability
Generate chunks asynchronously in the background.
Command:
/oeworld pregen
Features:
️ Void Chunk Generator
- Async chunk generation
- No TPS freeze
- Progress tracking
- Paper/Folia optimized
Create fully empty void worlds directly from OreoEssentials.
Integrated into:
/oeworld
Major Improvements & Rewrites
Holograms
Scoreboard
- 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
Complete internal rewrite.
Improvements:
Tab List
- Better Folia compatibility
- Reduced recreation spam
- Cleaner packet handling
- Better async safety
Massive rewrite of CustomTablistLayout.
Features:
Near (/near)
- More robust packet handling
- Improved custom layouts
- Better compatibility
- Cleaner rendering pipeline
Homes
- Added GUI provider support
- New NearGuiProvider
Economy / Cheques
- Major command rewrite
- Cleaner cross-server synchronization
- Improved service architecture
Shop
- Full cheque system rewrite
- Improved JSON/YAML backends
- Better transaction reliability
Trade
- Fixed multiple buy/sell edge cases
- TransactionProcessor improvements
- ShopItem model fixes
Portals
- Fixed inventory close detection
- Cleaner TradeSession handling
Player Warps
- Cross-server broker improvements
- Listener fixes
- Better transfer reliability
TempFly
- Browse menu improvements
- YAML storage fixes
️ Nametags
- Service-level fixes
- Better timer handling
Spawn
- Added NametagCondition support
- Conditional nametag visibility
- PlayerNametagManager improvements
Jump Pads
- Improved first join spawn listener
- SpawnService refactor
- Better startup reliability
Shards
- Manager fixes
- Stability improvements
- ShardManager fixes
Playtime Rewards
RabbitMQ
- Internal service improvements
- 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
Performance & Stability
- 117 new lines added
- New permissions
- New command registrations
This update focuses heavily on:
OreoEssentials continues pushing toward being the most complete and optimized all-in-one Essentials core for modern Minecraft servers.
- Folia compatibility
- Async safety
- Cross-server infrastructure
- Packet optimization
- Reduced memory overhead
- Large-network stability
This update contains several bug fixes including :
Economy Fixes
Custom Currencies Fixes
Chat System Fixes
ClearLag imporoved and added Mob Clear System
AND MORE !
New Features & Additions
Auto Restart System
AFK Pool System
- Fully configurable automatic server restart
- Supports:
- Time-based or interval-based restarts
- Warning broadcasts before restart
- Pre-restart commands
- New SAFE_ZONE mode:
- Instead of kicking players, they can be:
- Teleported to a WorldGuard region
- Or sent to another server (cross-server safe reboot)
Command Control System (PL Hide Pro–like)
- Automatic AFK detection based on inactivity
- When AFK:
- Players can be teleported to a WorldGuard AFK pool
- Optional cross-server support (send AFK players to hub)
- Fully configurable timers & checks
- Designed for performance and large networks
Notes
- Advanced command visibility & execution control
- Features:
- Hide commands from tab completion
- Block command execution entirely
- Permission-based command access
- Default DENY ALL mode (allow only what you want)
- Perfect for:
- Hiding plugin commands
- Cleaning player tab completion
- Controlling what each rank can see/use
- All new systems are disabled by default and fully configurable
- Designed for networks & multi-server setups
- No performance impact observed
check more info here:
- Improved Scoreboard color supported for animation
- Added a complete new Multiple Currency System
Custom Multiple Economy System | OreoEssentials
New Admin GUI ! TO EDIT And customise all your Custom Created economies !
Preview video :
Fixes Placeholders related to CustomCurrencies
Updated Docs with DeluxeMenus integration tutorial
