OreoEssentials  Best Essentials, CMI & ZEssentials Alternative- True Cross Server Synch Essentials icon

OreoEssentials Best Essentials, CMI & ZEssentials Alternative- True Cross Server Synch Essentials -----

The ONLY fully cross-server, all-in-one Essentials plugin — and completely FREE!




- Added CrossServer Trades , you can now trade between servers !
- Fixed an issue where chat colors did not synchronize
-Added Gradients Supports for chat ! REGENERATE CHATFORMAT.YML
- Fixed missing cross server ec option in config.yml
- Added 50 + placdeholders
Code (Text):
EconomyPlaceholders

%oreo_balance%
Player’s Vault balance (or 0 if Vault/Economy not present).

HomesPlaceholders

%oreo_homes_used% – number of homes used

%oreo_homes_max% – max homes allowed

%oreo_homes% – used/max

%oreo_homes_free% – free homes = max - used

%oreo_homes_usage_percent% – usage percent (0–100)

KitsPlaceholders

Global kit info:

%oreo_kits_enabled% – "true" / "false"

%oreo_kits_count% – number of defined kits

%oreo_kits_list% – comma-separated list of all kit IDs (trimmed to 64 chars)

Per-player kit info:

%oreo_kits_ready_count% – how many kits are ready for this player

%oreo_kits_ready_list% – comma-separated list of ready kit IDs

%oreo_kits_on_cooldown_list% – comma-separated list of kits still on cooldown

Per-kit dynamic placeholders (replace <kitId> with the kit’s ID):

%oreo_kit_ready_<kitId>% – "true" if ready, otherwise "false"

%oreo_kit_cooldown_<kitId>%

"ready" if no cooldown

or remaining seconds as a number

%oreo_kit_cooldown_formatted_<kitId>%

"ready" if no cooldown

or formatted duration like 1d 2h 3m / 45s

PlaytimePlaceholders

Base playtime:

%oreo_playtime_total_seconds%

%oreo_playtime_total_minutes%

%oreo_playtime_total_hours%

%oreo_playtime_total_days%

%oreo_playtime_formatted% – formatted Xd Xh Xm / Xs

Playtime rewards:

%oreo_prewards_enabled% – "true" / "false"

%oreo_prewards_ready_count% – number of ready rewards

%oreo_prewards_ready_list% – comma-separated ready reward IDs (trimmed)

Per-reward state (replace <rewardId>):

%oreo_prewards_state_<rewardId>% – one of LOCKED, READY, CLAIMED, REPEATING

VaultPlaceholders (PlayerVaults)

Global vault system:

%oreo_vaults_enabled% – "true" / "false"

%oreo_vaults_max% – max vaults from config

Per-player vault counts:

%oreo_vaults_unlocked_count% – number of unlocked vaults

%oreo_vaults_locked_count% – number of locked vaults

%oreo_vaults_unlocked_list% – unlocked vault IDs, comma-separated (trimmed)

%oreo_vaults_locked_list% – locked vault IDs, comma-separated (trimmed)

%oreo_vaults_list_all% – 1, 2, 3, ..., max (trimmed)

Per-vault dynamic placeholders (replace <n> with the vault number, e.g. 1, 2, 3):

%oreo_vault_can_access_<n>% – "true" / "false"

%oreo_vault_slots_<n>% – number of slots resolved for that vault

%oreo_vault_rows_<n>% – rows (slots / 9, at least 1)

%oreo_vault_title_preview_<n>% – colored title with <id> and <rows> replaced
----------, Nov 14, 2025

Fixed an issue where cracked player could not use Tpa
----------, Nov 8, 2025

Fixed an issue where cross server tps did not work in some server builds
----------, Nov 6, 2025

Mod GUI Preview Video:


✨ Highlights
This update introduces a full Moderation GUI system, fixes major cross-server teleport issues, and improves reliability across RTP, TPA, and admin controls.

New – Moderation GUI (/modgui)
A completely new SmartInvs-based admin panel to manage your server without commands.

Command: /modgui
Permission: oreo.modgui.open

Tabs Included:

Section Features
Player Menu
Ban, mute, unmute, kick, heal, feed, kill, invsee/ecsee, freeze, vanish, gamemode cycle
World Menu Change time/weather, set spawn, worldborder presets, per-world whitelist, gamerules, mob bans
⚙️ Server Menu Toggle whitelist, cycle difficulty & default gamemode, spawn mobs instantly
✔ Fully YAML-configurable (modgui.yml)
✔ Auto-refreshing, no console errors
✔ Works with permissions & persists after restart

Important Fixes
✅ Fix Description
Cross-Server TPA Working Again /tpa now properly teleports players across servers via RabbitMQ + plugin messaging. No more stuck requests.
RTP Toggle Respected enabled: false in rtp.yml now correctly disables /rtp & /wild instead of ignoring it.
SmartInvs Follow-Up Errors Fixed Missing .manager(plugin.getInvManager()) added to all inventories, no more exceptions.
Config Saving & Reloading All GUI changes (gamerules, whitelists, mob bans) persist across restarts.
Quality-of-Life Improvements
  • Cleaner ItemBuilder system (name + lore + hidden flags)

  • Player heads render correctly in menus

  • Auto-refresh on click (no reopen spam required)

  • Supports Paper/Purpur 1.20 → 1.21.8

  • GUI-safe execution — no unsafe commands / console spam
ModGUI Preview Again (for lazy scrollers )
----------, Nov 5, 2025

A small update packed with quality-of-life improvements, bug fixes, and two brand-new GUI systems for Homes and Warps.

Homes System Improvements
  • Fixed the issue where /home list and /homes didn’t show any homes.

  • Added Homes GUI (/homesgui) – a clean interface to:
    • View all your homes

    • Teleport with one click

    • Safely delete homes with confirmation popups
  • Fully supports cross-server homes (Bungee/Velocity + RabbitMQ):
    • If your home is on another server, you are automatically transferred and teleported.
New Warps System Overhaul
Player Warp GUI
  • New /warps command – view and teleport to all public warps across the network.

  • Works locally and cross-server automatically.
Admin Warp Control Panel
  • New /warpsadmin GUI with full warp management:
    • Teleport to any warp

    • Rename warps

    • Delete warps (with confirmation)

    • Set or remove permissions per warp
      • Example: limit a warp to vip players only with a permission node
    • Make a warp public or protected instantly
  • Displays server ownership of each warp + coordinates.

  • All actions are saved to storage and survive restarts.
Kits System Enhancements
  • Added Kit Preview – right-click any kit in the GUI to see:
    • All items inside the kit

    • Commands that will be executed when claimed
  • Added Enable/Disable Toggle for Kits:
    • Works in GUI and via /kits toggle

    • Kits become greyed out and unclaimable when disabled

    • The toggle automatically saves to kits.yml
⚙️ Other Changes & Improvements
  • All GUI states (homes, warps, kits) now persist to YAML/Mongo automatically.

  • Cross-server teleport messages are cleaner and more informative.

  • Admin interfaces now include refresh buttons, page indicators, and safe confirmation dialogs.

  • Menus dynamically reflect disabled features with tinted titles and clear status messages.
----------, Nov 5, 2025

This update introduces full control over core systems like Daily Rewards, Kits and Playtime Rewards — all of them can now be enabled or disabled instantly using commands or directly inside their GUIs. No restarts, no config file edits — just one click or command.

✨ What’s New

• You can now toggle features ON/OFF in real time:
 • Daily Rewards → /daily toggle
 • Kits System → /kits toggle
 • Playtime Rewards → enabled in playtime_rewards.yml

• GUIs now include admin-only lever buttons (bottom row slot 5 by default) to instantly disable features. When disabled:
 • The menus turn greyed-out
 • Items show “Disabled” in the lore
 • Players can’t claim or interact until it’s re-enabled

• All toggle states automatically save to YAML files so they remain active after a restart — no need to redo them.

• Clean messages and visual feedback are shown to staff and players when a system is disabled or on cooldown.

• Menu titles and item descriptions automatically update depending on whether a system is enabled or not.

Permissions

• oreo.daily – use /daily menu
• oreo.daily.admin – toggle daily rewards
• oreo.kit.claim – claim kits
• oreo.kit.bypasscooldown – ignore cooldowns
• oreo.kits.admin – toggle kits system
• oreo.prewards.admin – reload or manage playtime rewards

⚙ Configuration Notes

• Playtime rewards now respect settings.enable in playtime_rewards.yml
• Daily and Kits toggles are handled fully in-game and saved automatically
• No manual edits to config required unless you want to set defaults

✅ Summary

OreoEssentials 2.0 makes server management smoother and more professional — admins can disable systems in seconds, menus adapt instantly, and settings persist after restart. Ideal for maintenance windows, testing phases, or temporary shutdown of features.
----------, Nov 4, 2025

✨ **Introducing OreoHolograms — the next-gen 3D display system**
Bring your world to life with persistent, smooth, and fully customizable holograms!

**3D Display Entities**
Create stunning `TEXT`, `ITEM`, and `BLOCK` holograms that stay forever — even after restarts.
No more dupe issues or disappearing entities — everything is safely stored and tagged internally.

**Auto-Rotate & Billboard Modes**
Blocks and items now *smoothly rotate toward nearby players!*
Choose from `CENTER`, `VERTICAL`, `HORIZONTAL`, or `FIXED` display modes for statues or signs.

**Custom Models & ItemsAdder Support**
Full support for `minecraft:` and `itemadder:` blocks with live tab completion.
Use **CustomModelData**, glowing icons, custom scales, and dynamic shadows!

**Text Displays Reimagined**
Multiline colorized text, centered titles, and floating messages with
background colors, text alignment, and shadow options.

⚙️ **In-Game Editor Command**
> `/ohologram create <text|item|block> <name>`
> `/ohologram edit <name> <property>`
> `/ohologram remove <name>`
> `/ohologram cleanup` – removes orphaned entities safely

**Persistent & Dupe-Safe**
Every hologram entity is tagged with internal metadata (`oreo_hologram`, `oreo_name`, `oreo_type`)
so they always reconnect to their data after a restart or reload — *no more ghost holograms!*

**Fully Integrated**
Ties seamlessly into MongoDB & SmartInvs GUIs — the same smooth experience as your rewards, jails, and aliases!

**OreoEssentials 1.9** transforms your server visuals into a living, interactive world.
Say goodbye to static text — and hello to **dynamic, rotating, 3D holograms**.

Docs & Examples:
OreoHolograms System | OreoEssentials
----------, Oct 21, 2025

Daily Rewards & Playtime Rewards — fully configurable, database-ready, and GUI powered.
OreoEssentials 1.8 brings two massive systems built to replace the best standalone reward plugins.

Daily Rewards System
A complete calendar-style reward system with full customization:

  • 30-Day Layout — each day configurable in dailyrewards.yml.

  • CustomModelData Support — resource-pack ready icons.

  • Glowing States & Lore — show CLAIMED, READY, FUTURE status.

  • GUI Pagination — supports multiple pages and per-slot placement.

  • ⚙️ Flexible Logic — toggle daily reset, streak behavior, reminders, and world blacklists.

  • MongoDB integration for cross-server streak tracking.

  • Command: /daily — opens the full GUI for claiming and viewing progress.
    Code (YAML):
    # ===================== Daily Rewards (Mongo) =====================
    Storage
    :
      Mongo
    :
        Enabled
    : true
        Uri
    : "mongodb://localhost:27017"
        Database
    : "oreo"
        Collection
    : "daily_rewards"

    General
    :
      PrintErrorsToConsole
    : true
      PluginPrefix
    : "&8[&b&lOREO&8·&6&lDaily&b&lRewards&8]"
      PluginGuiTitle
    : "&b&lOREO &6&lDaily &b&lRewards"
      CheckForUpdates
    : true


    Claiming
    :
      ResetWhenStreakCompleted
    : true
      AvailableOnNewDay
    : false       # false = 24h cadence, true = 1 per calendar day
      PauseStreakWhenMissed
    : false
      SkipMissedDays
    : false

    Join
    :
      RewardAutoClaim
    : false
      RewardInstantPopup
    : false
      DailyRewardReminderEnabled
    : true
      DailyRewardClaimReminder
    : 1200
      DailyRewardReminderClickable
    : true
      DailyRewardReminderBlacklistedWorlds
    :
       - ""

    GUI
    :
      InventoryRows
    : 6
      ShowDayQuantity
    : true
      CloseOnClaim
    : false
      LiveUpdateTimer
    : true
      HideAttributes
    : true
      ButtonsDisabled
    : false

    # =================================================================
    # Rewards section (replaces the old rewards.yml)
    # New: Extras.CustomModelData (integer > 0) is supported.
    # =================================================================
    Rewards
    :

      Day Example
    :
        RewardName
    : "Daily Reward!"
        RewardIcon
    : "SUNFLOWER"
        RewardCommands
    :
         - "eco give <playerName> 5000"
          - "give <playerName> DIAMOND 1"
        RewardMessage
    : "You have claimed a special reward!"
        Extras
    :
          Enchanted
    : false
          CustomModelData
    : 1201
          GUI Position
    : 1
          GUI Page
    : 1

      Day 1
    :
        RewardName
    : "Welcome"
        RewardIcon
    : "EMERALD"
        RewardCommands
    :
         - "eco give <playerName> 100"
        Extras
    :
          Enchanted
    : false
          CustomModelData
    : 0

      Day 2
    :
        RewardName
    : ""
        RewardIcon
    : ""
        RewardCommands
    :
         - ""
        Extras
    :
          Enchanted
    : false
          CustomModelData
    : 0

      Day 3
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 4
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 5
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 6
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 7
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 8
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 9
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 10
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 11
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 12
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 13
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 14
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 15
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 16
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 17
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 18
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 19
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 20
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 21
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 22
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 23
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 24
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 25
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 26
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 27
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 28
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 29
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
      Day 30
    : { RewardName : "", RewardIcon : "", RewardCommands : [ "" ], Extras : { Enchanted : false, CustomModelData : 0 } }
     
⏱️ Playtime Rewards System
Reward players for hours, days, and milestones of playtime!

  • Repeating Rewards — give payouts every hour or every 24h (with stacking logic for offline players).

  • Milestone Rewards — one-time claimables like 1h, 6h, 12h, 24h, 7d, and 30d.

  • Permission-Based VIP/MVP Bonuses — exclusive rewards tied to groups (oreo.prewards.vip_hourly, etc.).

  • AutoClaim or Manual Claim — configurable per reward.

  • SmartInvs GUI Integration — sleek animated GUI with icons, glow, and placeholder lore.

  • Commands:
    • /prewards → opens playtime rewards menu

    • /prewards top → shows top players by playtime progress

    • /prewards reload → reloads configuration live
      Code (YAML):
      # ==========================================================
      # OreoEssentials — Playtime Rewards (SmartInvs GUI)
      # File: plugins/OreoEssentials/playtime_rewards.yml
      # ==========================================================
      # How it works:
      # - One-time rewards: trigger once when total playtime >= PayFor (seconds)
      # - Repeating rewards: trigger every PayEvery seconds (can stack when offline)
      # - AutoClaim: true => reward executes immediately; false => shown in GUI to click
      # - Commands support directives:
      #     asConsole! <cmd>     run as console
      #     asPlayer!  <cmd>     run as the player
      #     delay! <sec> <cmd>   run after delay (in seconds)
      # - Placeholders in commands:
      #     [playerName]  -> player name
      # - GUI:
      #     You can theme the inventory globally AND/OR per reward (slot + icon skin).
      #     Slots are 0-based indices across the inventory grid (row*9 + col).
      # ==========================================================

      settings
      :
        enable
      : true

        # Use the plugin's internal per-server tracker (recommended).
        # Other option: "bukkit" (uses vanilla lifetime across all servers).
        source
      : internal

        # On first time we see a player, copy their vanilla lifetime into the internal tracker once.
        baseline-from-bukkit-on-first-seen
      : true

        # On first sighting, mark repeating rewards as already paid up to current time
        # to prevent a burst of retroactive payouts.
        baseline-on-first-seen
      : true

        # How often to remind players if they have unclaimed manual rewards (0 = off)
        notify-every-minutes
      : 10

        # If true, repeating rewards will pay for every missed cycle
        # (e.g., offline for 3 hours on a 1h reward => 3x payout on next join)
        stack-rewards
      : true

        # Only used when source: bukkit. Safe to leave false here.
        use-bukkit-statistic
      : false

        # ---------- SmartInvs GUI skin ----------
        gui
      :
          # Inventory title & size
          title
      : "&bPlaytime Rewards"
          rows
      : 5                     # 1..6 rows
          fill-empty
      : true

          # Background filler item (when fill-empty = true)
          filler
      :
            material
      : GRAY_STAINED_GLASS_PANE
            name
      : "&7"
            custom-model-data
      : 0

          # Global state skins (applied on top of the per-reward icon)
          # You can override names/glow per-state globally here.
          states
      :
            LOCKED
      :
              material
      : BARRIER
              name
      : "&cLocked"
              glow
      : false

            READY
      :
              material
      : LIME_DYE
              name
      : "&aClick to claim"
              glow
      : true

            CLAIMED
      :
              material
      : SUNFLOWER
              name
      : "&eClaimed"
              glow
      : false

            REPEATING
      :
              material
      : CLOCK
              name
      : "&6Repeating"
              glow
      : true

      # ----------------------------------------------------------
      # Rewards
      # - Use either PayFor (one-time) OR PayEvery (repeating).
      # - AutoClaim: true => executes immediately; false => manual claim via GUI.
      # - StackRewards: per-reward override of the global setting (true/false).
      # - gui.slot is optional; if not set, items auto-flow left-to-right.
      # ----------------------------------------------------------
      rewards
      :

        # =======================================
        # REPEATING: Every 1 hour (AutoClaim)
        # =======================================
        hourly1
      :
          DisplayName
      : "&7Hourly reward"
          AutoClaim
      : true
          Description
      :
           - "&2Get a reward for every hour you are online."
            - "&7This one auto-claims!"
          PayEvery
      : 3600
          StackRewards
      : true
          Commands
      :
           - "asConsole! heal [playerName] -s"
            - "asConsole! money give [playerName] 20"
          gui
      :
            slot
      : 10
            icon
      :
              material
      : GOLD_NUGGET
              custom-model-data
      : 1201
              name
      : "&eHourly Reward"
              lore
      :
               - "&7Earned every &f1h&7 of playtime."
                - "&7Ready payouts will auto-claim."

        # =======================================
        # REPEATING: Every 24 hours (AutoClaim)
        # =======================================
        daily1
      :
          DisplayName
      : "&7Daily reward"
          AutoClaim
      : true
          Description
      :
           - "&2Get a reward for every 24 hours of playtime."
          PayEvery
      : 86400
          StackRewards
      : true
          Commands
      :
           - "asConsole! money give [playerName] 2000"
          gui
      :
            slot
      : 12
            icon
      :
              material
      : EMERALD
              custom-model-data
      : 1202
              name
      : "&aDaily Reward"
              lore
      :
               - "&7Earned every &f24h&7 of playtime."
                - "&7100% auto-claimed."

        # =======================================
        # ONE-TIME: First hour (Manual)
        # =======================================
        "1hour"
      :
          DisplayName
      : "&fOne hour reward"
          AutoClaim
      : false
          Description
      :
           - "&2Get this once when you hit your first hour!"
          PayFor
      : 3600
          Commands
      :
           - "asConsole! money give [playerName] 500"
          gui
      :
            slot
      : 14
            icon
      :
              material
      : IRON_INGOT
              custom-model-data
      : 1203
              name
      : "&f1h Milestone"
              lore
      :
               - "&7One-time reward at &f1h&7 total."
                - "&7Status shows &aREADY &7when claimable."

        # =======================================
        # ONE-TIME: 6 hours (Manual)
        # =======================================
        "6hour"
      :
          DisplayName
      : "&f6 hour reward"
          AutoClaim
      : false
          Description
      :
           - "&2Get this once when you reach &f6h&2 of total playtime."
          PayFor
      : 21600
          Commands
      :
           - "asConsole! money give [playerName] 2000"
          gui
      :
            slot
      : 16
            icon
      :
              material
      : DIAMOND
              custom-model-data
      : 1204
              name
      : "&b6h Milestone"
              lore
      :
               - "&7One-time reward at &f6h&7 total."

        # =======================================
        # ONE-TIME: 12 hours (Manual)
        # =======================================
        "12hour"
      :
          DisplayName
      : "&f12 hour reward"
          AutoClaim
      : false
          Description
      :
           - "&2Reach &f12h&2 total playtime to claim this."
          PayFor
      : 43200
          Commands
      :
           - "asConsole! money give [playerName] 5000"
          gui
      :
            slot
      : 28
            icon
      :
              material
      : NETHERITE_SCRAP
              custom-model-data
      : 1205
              name
      : "&d12h Milestone"
              lore
      :
               - "&7One-time reward at &f12h&7 total."

        # =======================================
        # ONE-TIME: 24 hours (Manual)
        # =======================================
        "24hour"
      :
          DisplayName
      : "&f24 hour reward"
          AutoClaim
      : false
          Description
      :
           - "&2Hit &f24h&2 total playtime and grab this big one!"
          PayFor
      : 86400
          Commands
      :
           - "asConsole! money give [playerName] 15000"
          gui
      :
            slot
      : 30
            icon
      :
              material
      : NETHER_STAR
              custom-model-data
      : 1206
              name
      : "&f24h Milestone"
              lore
      :
               - "&7One-time reward at &f24h&7 total."

        # =======================================
        # ONE-TIME: 7 days (Manual)
        # =======================================
        "7days"
      :
          DisplayName
      : "&f7 day reward"
          AutoClaim
      : false
          Description
      :
           - "&2A full &f7 days&2 of playtime. Respect."
          PayFor
      : 604800
          Commands
      :
           - "asConsole! money give [playerName] 50000"
          gui
      :
            slot
      : 32
            icon
      :
              material
      : TOTEM_OF_UNDYING
              custom-model-data
      : 1207
              name
      : "&67d Milestone"
              lore
      :
               - "&7One-time reward at &f7d&7 total."

        # =======================================
        # ONE-TIME: 30 days (Manual)
        # =======================================
        "30days"
      :
          DisplayName
      : "&f30 day reward"
          AutoClaim
      : false
          Description
      :
           - "&230 days of playtime — absolute legend!"
          PayFor
      : 2592000
          Commands
      :
           - "asConsole! money give [playerName] 500000"
          gui
      :
            slot
      : 34
            icon
      :
              material
      : DRAGON_EGG
              custom-model-data
      : 1208
              name
      : "&530d Milestone"
              lore
      :
               - "&7One-time reward at &f30d&7 total."

        # =======================================
        # (Optional) Rank-Gated Examples
        # Give only to players with `oreo.prewards.vip_hourly` permission.
        # =======================================
        vip_hourly
      :
          DisplayName
      : "&6VIP Hourly"
          AutoClaim
      : true
          requires-permission
      : true
          Description
      :
            - "&eVIP
      : &7extra hourly stipend. "
          PayEvery: 3600
          StackRewards: true
          Commands:
            - "
      asConsole! money give [playerName ] 75 "
          gui:
            slot: 19
            icon:
              material: GOLD_INGOT
              custom-model-data: 1211
              name: "
      &6VIP Hourly "
              lore:
                - "
      &7Requires &eoreo.prewards.vip_hourly "
                - "
      &7Earned every &f1h&7 of playtime. "

        # Give only to players with `oreo.prewards.mvp_daily` permission.
        mvp_daily:
          DisplayName: "
      &dMVP Daily "
          AutoClaim: true
          requires-permission: true
          Description:
            - "
      &dMVP : &7daily stipend. "
          PayEvery: 86400
          StackRewards: true
          Commands:
            - "
      asConsole! money give [playerName ] 5000 "
          gui:
            slot: 21
            icon:
              material: DIAMOND_BLOCK
              custom-model-data: 1212
              name: "
      &dMVP Daily "
              lore:
                - "
      &7Requires &doreo.prewards.mvp_daily "
                - "
      &7Earned every &f24h&7 of playtime. "
⚙️ Tech & Integration
  • Uses the SmartInvs system for all menus.

  • Fully compatible with MongoDB (async).

  • Supports CustomModelData, per-state icons, and multi-page GUIs.

  • Detailed YAML documentation with inline help for all options.

  • Hot-reload supported — no restart required.
Configuration Files Added
  • ️ dailyrewards.yml — full daily reward logic (30-day calendar, icons, commands, streaks).

  • ️ playtime_rewards.yml — milestone & hourly reward system with auto-claim support.
Result
OreoEssentials v1.8 transforms your server into a progression-driven experience — combining Daily Login Rewards and Playtime Rewards into one seamless, optimized, and configurable module.
Everything you’d expect from premium reward plugins… now built directly into your core.

Quick Summary
Feature Command Config Database
Daily Rewards /daily dailyrewards.yml MongoDB
⏱️ Playtime Rewards /prewards playtime_rewards.yml Internal / Bukkit
----------, Oct 19, 2025

This update brings massive interactivity and automation tools to your server — introducing new commands, event-driven actions, and a fully customizable death message system. Everything is live-reloadable and YAML-based, no restart needed.
READ WIKI FOR MORE INFORMATION
⚙️ New Utility Commands
  • /spawnmob <type> [amount] — instantly summon any entity.

  • /flyspeed <1–10> — change your flight speed dynamically.

  • /effectsme <effect> <seconds> <amplifier> — apply potion effects to yourself.

  • /effectsto <player> <effect> <seconds> <amplifier> — apply effects to other players.
Interactive Commands System
  • Bind any command to a block, entity, or sign using /ic.

  • Supports asConsole!, asPlayer!, and delay! <seconds> directives.

  • Placeholders: [playerName], $1, $2, $3 from sign lines.

  • Public signs: place [ic:<name>] on the first line to make clickable command signs.

  • Fully persistent in interactive-commands.yml, reloads live with /ic reload.

  • Permissions: oreo.ic, oreo.ic.sign.
Events System
  • ⚡ Automate commands from events.yml when specific actions occur:
    → Join, quit, respawn, teleport, advancement, PvP start/stop, world change, bed enter/leave, and more.

  • Use variables like [playerName], [fromWorld], [toWorld], [level], [reason], [advancement], and [opponent].

  • ⚙️ Directives supported: asConsole!, asPlayer!, delay! <sec>.

  • Reload anytime with /oevents reload.
Death Message Engine
  • Fully configurable in death-messages.yml.

  • Supports per-cause, per-weapon, and per-mob messages — even MythicMobs!

  • Variables: [playerDisplayName], [sourceDisplayName], [item], [type].

  • ⚙️ Command: /oedeath reload to apply changes instantly.

  • Automatically detects and formats messages for MythicMobs killers or victims.
Highlights
  • All systems reload live — no restart required.

  • Full PlaceholderAPI integration.

  • ⚡ Works seamlessly with MythicMobs.

  • Perfect for RPG, hub, and survival gameplay setups.

  • New Permissions:
    • oreo.ic

    • oreo.ic.sign

    • oreo.events.reload

    • oreo.death.reload
----------, Oct 18, 2025

OreoEssentials v1.6 — Small Update (Spigot Patch Notes)
Alias Editor – big QoL + power features

  • New checks system with AND/OR logic and a per-alias fail-message.

  • Inline directives per command line: asConsole! / asPlayer!, delay! <sec>, cooldown:<sec>?!, moneycost:<amount>?!, check:<expr>!.

  • Supports numeric & string compares, permissions, money/exp/level, and PAPI placeholders.
Execution fixes & placeholders

  • Fixed vanilla command targeting by adding [playerName] token (use it for minecraft:give, tell, etc.).

  • %player% still works for plugin commands; PAPI auto-resolves when installed.
Tab completion & GUI

  • Per-alias custom tab completion (add-tabs, custom-tabs) with multi-arg suggestions.

  • SmartInvs GUI polished: toggle Enabled, Run-as, cycle Cooldown, view/manage Checks and Commands.

  • SmartInvs manager requirement enforced to prevent “manager not set” errors.
Runtime & persistence

  • Dynamic command registration revamped; clean unregister on reload.

  • aliases.yml now fully persists checks/logic/fail-message/perm-gate/tabs.

  • Optional perm gate: perm-gate: true requires oreo.alias.custom.<alias>.
Examples included

  • Sample aliases: kitiron, daily, wizard (subcommands + checks), atom, eat, bback.
Tip: If vanilla /give says “Player not found”, switch %player% → [playerName] in the alias line.
----------, Oct 18, 2025

This update introduces a powerful in-game Alias Editor with a GUI and a brand-new Checks System, allowing you to control when aliases can be executed, all live and fully persistent — no restart needed.

What’s New
  • SmartInvs-based GUI — /aliaseditor gui
    Browse, edit, and toggle aliases directly in-game.
    • Enable/disable aliases
    • Switch between PLAYER / CONSOLE run modes
    • Cycle cooldowns
    • View commands and manage checks visually

  • Full Runtime System
    Create, edit, delete, or reload aliases instantly — changes apply without reloading the server.
    Commands auto-register and unregister at runtime.

  • Advanced Checks Engine
    Gate aliases behind dynamic conditions:
    • permission:vip.kit

    • money>=1000 (Vault required)

    • exp>=500 or level>=20

    • %world%=lobby (PlaceholderAPI supported)

    • Negations like !permission:banned.player
      Combine with AND / OR logic and custom fail messages.
  • Custom Fail Messages
    Define per-alias rejection text using /aliaseditor setfailmsg.

  • Persistent Storage Improvements
    Checks, logic mode, and fail messages now save inside aliases.yml:


    Code (YAML):
    aliases:
      iron
    :
       enabled
    : true
       run-as
    : PLAYER
       cooldown-seconds
    : 5
       logic
    : AND
       fail-message
    : "§cYou don’t meet the requirements for /%alias%!"
       checks
    :
        - permission:kits.iron
         - money>=100
       commands
    :
        - give %player% minecraft:iron_ingot 1
  • PlaceholderAPI Integration
    All checks and commands can resolve PAPI placeholders before evaluation or execution.

  • Improved Tab Completion
    Dynamic suggestions for alias names, logic values (AND/OR), run-as options, and cooldown presets.

  • New Permission:
    oreo.alias.editor — grants access to all editor commands and GUI.
Editor Commands Overview
Command Description
/aliaseditor gui Opens the in-game alias manager.
/aliaseditor create <name> <PLAYER|CONSOLE> <command...> Create new alias.
/aliaseditor addline <name> <command...> Add a command line.
`/aliaseditor enable disable <name>`
/aliaseditor cooldown <name> <seconds> Set per-player cooldown.
/aliaseditor addcheck <name> <expr...> Add a condition (permission/money/etc.).
/aliaseditor delcheck <name> <index> Remove a condition.
/aliaseditor setlogic <name> <AND|OR> Choose logic mode.
/aliaseditor setfailmsg <name> <message...> Set fail message.
/aliaseditor info <name> / list / reload Inspect, list, or reload aliases.
Technical Notes
  • Requires SmartInvs initialized via:


    invManager = new InventoryManager(this);
    invManager.init();

  • All changes persist in aliases.yml.

  • Fully backward-compatible — no breaking changes to existing aliases.
Summary
OreoEssentials 1.6 makes the Alias Editor as powerful as your imagination: visual management, real conditions, and total live editing — all in one command.
Perfect for creating custom kits, daily rewards, or gated commands with style.
----------, Oct 18, 2025

New Feature — CustomCraftings (/oecraft)
A brand-new in-game custom crafting system powered by SmartInvs — no config editing required!

Commands
  • /oecraft browse → open the recipe browser GUI.

  • /oecraft craft <name> → create or edit a recipe live in-game.

  • /oecraft delete <name> → safely delete a recipe (SHIFT-click to confirm).

  • /oecraft list → view all existing recipes.

  • /oecraft reload → reloads and re-registers all recipes from file
️ GUI Features
  • Fully interactive 3×3 ingredient grid + result slot.

  • Toggle between Shaped and Shapeless recipes.

  • Assign per-recipe permissions directly inside the GUI.

  • Delete recipes safely with SHIFT-confirmation.

  • Live holographic titles, colored lore, and localized strings from lang.yml.
⚙️ Permissions
Node Description
oreo.craft Access to all /oecraft commands & GUI editor
oreo.craft.use.<name> Optional per-recipe craft restriction
ItemsAdder Integration (Soft-Depend)
  • Automatically recognizes ItemsAdder items by namespaced ID.

  • Works even when IA is not installed — recipes still function normally.

  • Zero crashes or errors if IA is missing.
Language & Files
  • Full support for lang.yml (titles, hints, lore, messages).

  • Recipes persist in recipes.yml and automatically register with Bukkit as shaped/shapeless recipes.
Other Improvements
  • Improved color translation (& → §) across all menus.

  • Added fallback messages for missing language keys.

  • Enhanced validation and user feedback for recipe saving/deletion.

  • Internal refactor of Lang utility for dynamic list reading (key.0, key.1, etc.).
Compatibility
✅ Paper / Spigot 1.19–1.21
✅ SmartInvs
✅ ItemsAdder (optional)
✅ Plug-and-play with existing OreoEssentials setup.
----------, Oct 18, 2025

NEW: Alias Editor System
Create and manage custom command aliases directly in-game — just like CMI, but fully integrated into OreoEssentials.

✅ Create commands on the fly with /aliaseditor
✅ Supports multi-command execution, cooldowns, and player/console modes
✅ Placeholders like %player%, %world%, %uuid% supported
✅ Automatically saves to aliases.yml — no reload required

Full documentation:
Alias Editor Wiki →

⚖️ NEW: Jail System
A complete region-based jail and punishment framework built into OreoEssentials.

✅ Setup jails with /jailedit pos1, /jailedit pos2, /jailedit save <name>, and /jailedit addcell
✅ Jail players with /jail <player> (time) (jailName) (cellId) (-s) (r:reason)
✅ Supports timed or permanent jails
✅ Players are teleported back if they escape
✅ Integrated Discord logging for jail and release events
✅ Blocked commands inside jail: /spawn, /home, /warp, etc.
✅ Fully persistent with jails.yml

Full documentation:
Jail System Wiki →

⚙️ Improvements & Fixes
  • Added Discord Moderation Notifier support for new events: JAIL and UNJAIL.

  • Improved runtime safety in dynamic command registration (aliases unregister and reload cleanly).

  • Fixed YAML formatting edge cases in jails.yml where cell coordinates failed to reload correctly.

  • Enhanced internal storage saving for jail sentences and player cooldowns.

  • No config-breaking changes — all existing data and settings remain compatible.
Recap
OreoEssentials v1.4 expands admin power with live alias creation, modular jail management, and Discord integration, continuing to push toward a full-featured admin toolkit for modern servers — all synchronized via RabbitMQ and Mongo when enabled.
----------, Oct 17, 2025

Released: October 2025

This update supercharges OreoEssentials with new admin utilities, moderation tools, lag control, and a unique Visitor gamemode — all seamlessly integrated with your existing systems.

⚔️ New Admin Commands
/otherhome <player> <home>
  • Instantly teleport to another player’s home, even across servers!

  • Fully integrated with the cross-server home system (RabbitMQ).

  • Automatically switches you to the correct server when needed.
/otherhomes <player>
  • View a full list of a player’s homes, including their server origins.

  • Perfect for moderation, player assistance, and admin review.
New Utility Commands
/uuid [player]
  • Displays your own UUID or another player’s UUID.

  • Detects Floodgate/Bedrock players → shows Bedrock: <UUID> prefix.

  • Great for debugging, database lookups, or player linking across servers.
/gamemode <mode> [player]
  • Supports: Creative, Survival, Spectator, and Visitor

  • Works for yourself or other players

  • Tab completion for all aliases: creative, survival, spectator, visitor, c, s, sp, v.
The Unique "Visitor" Gamemode (Exclusive to OreoEssentials)
Unlike vanilla Minecraft gamemodes, Visitor Mode offers a controlled Survival-like state where players can explore but cannot modify the world.
It’s a blend between Survival and Spectator, created for moderation, tours, and roleplay servers.

⚙️ How It Works
  • Built on Survival, but enforced by the new VisitorService and VisitorGuardListener.

  • Prevents all world interactions:
    • ❌ No block breaking or placing

    • ❌ No item pickup or drops

    • ❌ No inventory modification

    • ❌ No right-click use (e.g., doors, chests, buttons)
  • Players can still walk, look, and explore the world normally.
Use Cases
Purpose Benefit
Server Tours Visitors can walk freely but can’t grief or interact
Roleplay or Freeze States Temporarily disable player actions without kicking
Build Viewing Let players explore builds without damaging anything
Staff Supervision Restrict access during investigations
Capture d’écran 2025-10-16 174237.png
KillAll System & Logging
/killallr
  • Safely removes entities within a defined radius.

  • Protects named, tamed, and villager entities.

  • Fully configurable in config.yml.
/killallrlog [amount]
  • Displays the most recent killall records (default: last 10).

  • Uses KillallLogger to track and save actions in plugins/OreoEssentials/killall.log.
Brand-New ClearLag System
  • Added clearlag.yml for automated cleanup:
    • Scheduled entity & item removal

    • TPS monitoring and performance alerts

    • /olagg manual cleanup command

    • Configurable intervals and exclusion lists
  • Logs results automatically into killall.log.
⚙️ Updated Core Commands
  • /god [player] → Now supports toggling God Mode for others.

  • /heal [player] → Heals self or others with proper health detection.

  • /home → Improved cross-server sync & logging stability.

  • /otherhome & /otherhomes → New cross-server teleport & listing commands.
Cross-Server Enhancements
  • Added OtherHomeTeleportRequestPacket for admin teleport requests.

  • HomeTeleportBroker extended to handle remote /otherhome teleports.

  • Better RabbitMQ debugging and safer packet delivery.

  • Improved detection of homes stored under multiple servers.
New & Updated Files
File Description
clearlag.yml Configuration for automatic lag reduction
killall.log Stores history of cleanup events
config.yml Now includes killall: section
Technical Additions
  • ✅ GamemodeCommand (Creative, Survival, Spectator, Visitor)

  • ✅ VisitorService + VisitorGuardListener

  • ✅ UuidCommand

  • ✅ KillallLogger + KillallLogViewCommand

  • ✅ ClearLagManager + clearlag.yml

  • ✅ OtherHomeCommand + OtherHomesListCommand

  • ✅ OtherHomeTeleportRequestPacket

  • ✅ Improved GodCommand & HealCommand

  • ✅ Enhanced HomeTeleportBroker cross-server support
Developer Notes
This update focuses on:

  • Expanding staff utilities

  • Improving cross-server functionality

  • Introducing the exclusive Visitor Gamemode

  • Adding built-in lag reduction and moderation visibility
All features are natively integrated, with zero dependencies.
OreoEssentials — One plugin to replace five.
Update now and give your staff the ultimate control suite!
----------, Oct 16, 2025

✨ New Features

  • Offline /invsee and /ecsee support — You can now open, view, and edit players’ inventories and enderchests even when they’re offline. Perfect for staff moderation and cross-server management.

  • Mob Healthbar System (MythicMobs-compatible) — Added a brand new, fully configurable hologram-based healthbar above mobs’ names.
    • Adjustable update interval, distance, and style.

    • Supports passive mobs, MythicMobs entities, and can be toggled on/off.

    • Customizable symbols, colors, and thresholds.
Config changes
New section added in config.yml:


Code (YAML):
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 holograms per 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
: true
Update instructions

  1. Drop the new OreoEssentials-1.2-SNAPSHOT.jar in your /plugins folder.

  2. Restart the server.

  3. Regenerate or merge your config.yml to include the new mobs: section.
⭐ Summary

This update makes OreoEssentials even more powerful for server admins — full offline inventory access, MythicMobs healthbar integration, and the same ultra-stable sync system you already love.
----------, Oct 14, 2025

✨ New Features

  • Offline /invsee and /ecsee support — You can now open, view, and edit players’ inventories and enderchests even when they’re offline. Perfect for staff moderation and cross-server management.

  • Mob Healthbar System (MythicMobs-compatible) — Added a brand new, fully configurable hologram-based healthbar above mobs’ names.
    • Adjustable update interval, distance, and style.

    • Supports passive mobs, MythicMobs entities, and can be toggled on/off.

    • Customizable symbols, colors, and thresholds.
Config changes
New section added in config.yml:


Code (YAML):
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 holograms per 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
: true
Update instructions

  1. Drop the new OreoEssentials-1.2-SNAPSHOT.jar in your /plugins folder.

  2. Restart the server.

  3. Regenerate or merge your config.yml to include the new mobs: section.
⭐ Summary

This update makes OreoEssentials even more powerful for server admins — full offline inventory access, MythicMobs healthbar integration, and the same ultra-stable sync system you already love.
----------, Oct 14, 2025

Spigot Patch Notes — OreoEssentials v1.1
✨ New Feature: Cross-Server PlayerVaults
We’ve added a fully synchronized PlayerVaults system that works across all your servers — powered by MongoDB when enabled!

Configuration Overview

Code (YAML):
playervaults:
  enabled
: true
  storage
: auto                 # auto|yaml|mongodb  -> "auto" uses mongodb when essentials.storage=mongodb
  collection
: "oreo_playervaults"

  # SLOTS mode (not rows!)
  slots-cap
: 54                 # 1..54
  default-slots
: 9               # fallback if nothing else matches

  deny-message
: "&cYou don't have permission to access vault &f#%id%&c."
  sounds
:
    open
: UI_BUTTON_CLICK
    deny
: ENTITY_VILLAGER_NO

  # Title for the inventory (shows visible rows); <id> and <rows> are supported
  vault-title
: "&8Vault &f#<id> &7(<rows>x9)"

  menu
:
    title
: "&8Player Vaults"
    item-unlocked-name
: "&aVault &f#<id>"
    item-locked-name
: "&cVault &f#<id> &7(locked)"
    item-unlocked-lore
: "&7Click to open"
    item-locked-lore
: "&7You don't have access"

  vaults-per-rank
:
    global
:
      default
: 1               # default rank: unlock 1 vault ID (vault #1)
      vip
: 4
      mvp
: 5
      admin
: 6
    per-vault
:
      "1"
:
        default
: 2             # <-- 2 SLOTS in vault #1 for default rank
        vip
: 5                   # VIP: 5 SLOTS in vault #1
      "2"
:
        vip
: 6                   # VIP: 6 SLOTS in vault #2
Key Features
  • Cross-Server Sync: Seamlessly access your vaults from any server in the network.

  • Smart Storage: Automatically switches to MongoDB when essentials.storage is set to mongodb.

  • Vault Permissions: Define both number of vaults per rank and slot count per vault.

  • Sound Feedback: Custom open/deny sounds for improved UX.

  • GUI Menu: Dynamic vault selector with locked/unlocked states.

  • ⚙️ YAML or MongoDB: Switch between lightweight local storage and network-wide persistence with zero effort.
Example Commands
/oevault
/oevault menu
/oevault <id>
----------, Oct 13, 2025

Spigot Patch Notes — OreoEssentials v1.1
✨ New Feature: Cross-Server PlayerVaults
We’ve added a fully synchronized PlayerVaults system that works across all your servers — powered by MongoDB when enabled!

Configuration Overview

Code (YAML):
playervaults:
  enabled
: true
  storage
: auto                 # auto|yaml|mongodb  -> "auto" uses mongodb when essentials.storage=mongodb
  collection
: "oreo_playervaults"

  # SLOTS mode (not rows!)
  slots-cap
: 54                 # 1..54
  default-slots
: 9               # fallback if nothing else matches

  deny-message
: "&cYou don't have permission to access vault &f#%id%&c."
  sounds
:
    open
: UI_BUTTON_CLICK
    deny
: ENTITY_VILLAGER_NO

  # Title for the inventory (shows visible rows); <id> and <rows> are supported
  vault-title
: "&8Vault &f#<id> &7(<rows>x9)"

  menu
:
    title
: "&8Player Vaults"
    item-unlocked-name
: "&aVault &f#<id>"
    item-locked-name
: "&cVault &f#<id> &7(locked)"
    item-unlocked-lore
: "&7Click to open"
    item-locked-lore
: "&7You don't have access"

  vaults-per-rank
:
    global
:
      default
: 1               # default rank: unlock 1 vault ID (vault #1)
      vip
: 4
      mvp
: 5
      admin
: 6
    per-vault
:
      "1"
:
        default
: 2             # <-- 2 SLOTS in vault #1 for default rank
        vip
: 5                   # VIP: 5 SLOTS in vault #1
      "2"
:
        vip
: 6                   # VIP: 6 SLOTS in vault #2
Key Features
  • Cross-Server Sync: Seamlessly access your vaults from any server in the network.

  • Smart Storage: Automatically switches to MongoDB when essentials.storage is set to mongodb.

  • Vault Permissions: Define both number of vaults per rank and slot count per vault.

  • Sound Feedback: Custom open/deny sounds for improved UX.

  • GUI Menu: Dynamic vault selector with locked/unlocked states.

  • ⚙️ YAML or MongoDB: Switch between lightweight local storage and network-wide persistence with zero effort.
Example Commands
/oevault
/oevault menu
/oevault <id>
----------, Oct 13, 2025

Patch Notes – OreoEssentials
Version: ✦ (Spigot)

REGENERATE CONFIG.YML

New
  • Animated Scoreboard
    • Title supports frame-based animation with configurable frame-ticks.

    • Lines and titles support MiniMessage (gradients, hex) → safely rendered to legacy (§x) for scoreboard.

    • PlaceholderAPI supported (e.g. %player_name%, %vault_eco_balance_formatted%).

    • Toggle per-player: /scoreboard toggle.
  • BossBar
    • Server-wide BossBar with animated/gradient text via MiniMessage → legacy rendering.

    • Fully configurable color, style, progress, and update period.

    • Per-player attach/detach handled automatically on join/quit.
Fixes
  • /oereload (aka /oereloadall, /oer) now properly reloads:
    • config.yml, lang.yml, chat formatting (via Afelius bridge), Scoreboard, BossBar, RTP, EnderChest (where supported), Kits/Tab (best-effort).

    • Adds robust fallbacks and clear success/skip messages.
Configuration

Code (YAML):
scoreboard:
  enabled
: true
  default-enabled
: true
  update-ticks
: 20
  title
:
   frame-ticks
: 10
   frames
:
    - "<gradient:#ff55ff:#ffffff><bold>Oreo</bold></gradient>"
     - "<gradient:#aa00ff:#ffffff><bold>Oreo</bold></gradient>"
  lines
:
   - "&7Player
: &f%player_name%"
   - "&7Money
: &f%vault_eco_balance_formatted%"
   - "&7Online
: &f%server_online%/%server_max_players%"
   - ""
   - "&7TPS
: &f%server_tps_1%"
   - "&7Ping
: &f%player_ping%"
  worlds
:
   whitelist
: [ ]
   blacklist
: [ ]

bossbar
:
  enabled
: true
  text
: "<gradient:#FF1493:#00FF7F>Welcome</gradient> {player}"
  color
: PURPLE
  style
: SEGMENTED_10
  progress
: 1.0
  update-ticks
: 40
Commands
  • /scoreboard toggle – show/hide personal scoreboard.

  • /oereload (aliases: /oereloadall, /oer) – hot-reloads configs + services with detailed results.
Notes
  • MiniMessage is parsed and then serialized to legacy so gradients/hex work on Scoreboards.

  • {player} and PlaceholderAPI %…% placeholders are supported in both Scoreboard and BossBar.

  • If a module doesn’t expose a reload hook, it’s reported as “skipped” (no server restart forced).
Enjoy the glow-up ✨
----------, Oct 11, 2025

Just changed the download link of the plugin
----------, Oct 10, 2025

Resource Information
Author:
----------
Total Downloads: 197
First Release: Oct 10, 2025
Last Update: Nov 14, 2025
Category: ---------------
All-Time Rating:
5 ratings
Find more info at docs.oreo-studio.shop...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings