
RoyalEconomy
RoyalEconomy Shop plugin with more features
📖About RoyalEconomy
🛒 RoyalEconomy
Advanced GUI-Based Economy Shop Plugin
RoyalEconomy is a powerful and modern economy shop plugin for Minecraft servers.
It provides a clean, intuitive GUI shop system for players and fully in-game management tools for administrators — no server restarts required.
Built for SMP, Survival, and Economy servers, RoyalEconomy focuses on performance, flexibility, and ease of use.
✨ Player Features
🛍 Main Shop (/shop)
Clean 4-row Main Shop GUI
All shop sections displayed in the top row
Fully configurable sections via sections.yml
Dedicated icons for:
Item Prices
Your Balance
Smooth page navigation
Section-based permissions
📦 Section Shop GUI
Paginated section menus (Page X / Y)
Items loaded from shops.yml
Each item automatically shows:
Slot index
Buy price (if enabled)
Sell price (if enabled)
Worth (based on sell price)
Click Actions
Left-click item → Opens Buy GUI
Right-click item → Sells 1 item from inventory
Previous / Next arrows → Page navigation
Back button → Returns to main shop
💰 Sell Commands
/sellhand
Sells the entire stack in your main hand
Uses the item’s configured sell price
Automatically deposits money
Sends a clear confirmation message
/sellall [inventory|hand|]
/sellall or /sellall inventory
Sells all sellable items in your inventory
/sellall hand
Sells all stacks of the item in your hand
/sellall diamond_block
Sells only that specific material
Unsellable items are ignored safely.
/sellgui
Opens a dedicated Sell GUI
Drag & drop items freely
Nothing is sold on click
When the GUI is closed:
Sellable items are sold
Unsellable items are returned
Shows a big title:
You earned $X
🛠 Admin Features
RoyalEconomy can be managed entirely in-game.
🔧 Reloading
/sreload
/eshop reload
Reloads:
config.yml
sections.yml
shops.yml
messages.yml
🗂 Section Management
/eshop addsection
/eshop editsection <set|addworld|removeworld>
/eshop deletesection
Admins can:
Create new sections
Change titles, icons, slots, permissions
Limit sections to specific worlds
Remove sections safely
📦 Item Management
/eshop additem
/eshop addhanditem
/eshop edititem
/eshop deleteitem
/eshop setprice
Add items by material or directly from hand
Edit name, lore, material, buy & sell prices
Items are identified by slot index
Changes apply instantly
🎁 Utility
/shopgive
Gives an exact shop item (with name & lore)
Useful for testing or rewards
🧪 Testing / Remote Open
/eshop open
Opens a shop section for another player
Useful for testing layouts or support
🔐 Permissions
Player Permissions
royaleconomy.shop
royaleconomy.shop.section.
royaleconomy.shop.section.*
royaleconomy.sell.hand
royaleconomy.sell.all
royaleconomy.sell.gui
royaleconomy.sell.section.
royaleconomy.sell.section.*
royaleconomy.sell.hand.section.
royaleconomy.sell.item.section.
royaleconomy.sell.gui.section.
royaleconomy.sell.gui.section.*
Admin Permission
royaleconomy.admin
Grants access to all admin commands.
🔌 Dependencies
Required:
Vault
Compatible with:
EssentialsX
Any Vault-supported economy plugin
🚀 Performance & Stability
Lightweight and optimized
No async abuse
No unnecessary background tasks
Stable 20 TPS
Safe economy handling (no dupes)
📦 Compatibility
Minecraft 1.20.x – 1.21.x
Tested on:
Paper
Spigot
Purpur
🧩 Future Features (Planned)
Price importing
Layout system
Physical shop stands
Online layouts
Expanded sell logic
✅ Why RoyalEconomy?
✔ Fully in-game management
✔ Clean & modern GUI
✔ Section-based permissions
✔ Vault compatible
✔ Marketplace-ready
COMMANDS USAGE WITH DETAIL
- Player commands
1.1 /shop [section] [page]
Without arguments:
text
/shop
Opens main shop GUI (4 rows, “SHOP” title).
Top row: your sections (BLOCKS, END, NETHER, GEAR, SPAWNER, SHARD SHOP, POINTS SHOP, FOOD, etc.) based on sections.yml.
Extra icons:
ITEM PRICES (book) – slot from shop-main.itemprices-slot.
Your Balance (player head) – slot from shop-main.balance-slot.
Click actions in main shop GUI:
Click on a section icon → opens that section at page 1.
Click on ITEM PRICES → opens the “Item Prices” GUI.
Click on Your Balance → nothing special (just a display).
With section name:
text
/shop gear
Directly opens gear section, page 1.
With section + page:
text
/shop gear 2
Opens gear section, page 2 (if it exists).
Inside a section GUI ("SHOP – GEAR (Page X/Y)")
Top rows: shop items from shops.yml.
Lore always shows:
Index:
Worth: $ (only if sell price > 0)
Buy: $X (if buy > 0)
Sell: $Y (if sell > 0)
Bottom row (navigation):
Left slot: Previous Page arrow (if page > 1).
Middle slot: Back to Shop (book) – returns to main /shop.
Right slot: Next Page arrow (if more pages exist).
Clicks in the section GUI:
Left‑click any item: opens Buy GUI for that item.
Right‑click any item: sells 1 of that item from your inventory using its sell price.
Left‑click Previous Page arrow: go to previous page.
Left‑click Next Page arrow: go to next page.
Left‑click Back to Shop: go back to main /shop GUI.
Permissions:
economyshopgui.shop – to use /shop.
EconomyShopGUI.shop.
1.2 /sellhand
text
/sellhand
Takes the item in your main hand.
Looks up that Material in shop items:
If an item exists and sell > 0, it can be sold.
Sells the entire stack in your hand:
Removes it from main hand.
Deposits sellPrice * amount.
Sends message using shop.item-sold:
“You sold Xx ITEM for $PRICE.”
Permissions (effective):
economyshopgui.sellhand
plus optional section level:
EconomyShopGUI.sellallhand.
1.3 /sellall [inventory|hand|]
Base command:
text
/sellall
Same as:
text
/sellall inventory
/sellall or /sellall inventory
Scans your whole inventory (not armor).
For each stack:
If that Material is in the shop and has sell > 0, and you have section permission:
Adds sellPrice * amount to total and clears the stack.
Deposits total into your balance.
If nothing could be sold → “You have no sellable items.”
Otherwise → shop.item-sold with amount = all, item = items.
/sellall hand
Finds the Material in your main hand.
Then scans entire inventory and sells all stacks of that same Material (if sell price > 0 & permissions).
Removes all those stacks, deposits total.
/sellall
Example:
text
/sellall diamond_block
Converts to a Material.
If found:
Scans inventory, selling only that material using its sell price.
Removes those stacks, deposits total.
Permissions:
Base: economyshopgui.sellall or EconomyShopGUI.sellall.*.
Per section:
EconomyShopGUI.sellall.
EconomyShopGUI.sellallhand.
EconomyShopGUI.sellallitem.
1.4 /sellgui
text
/sellgui
Opens the Sell GUI (size from sell-gui.size, e.g. 54).
You drag/drop items from your inventory into this GUI.
Click behavior:
Nothing is sold on click. You can freely move items.
When you close the Sell GUI:
Plugin reads every slot:
If item has a shop entry with sell > 0 and your permissions allow selling in that section:
→ it’s sold and money is added to total.
Else:
→ that stack is returned to your inventory (unsellable).
Sell GUI is cleared.
If total == 0:
Message: sellgui.no-sellable-items.
If total > 0:
Money deposited.
Message: sellgui.sold-items (“You sold items for $X.”).
Big title: You earned $X.
Permissions:
economyshopgui.sellgui or
EconomyShopGUI.sellgui.* or EconomyShopGUI.sellgui.
If settings.enable-sell-gui: false → you get an error.
- Admin commands
2.1 /sreload
text
/sreload
Reloads:
config.yml
sections.yml
shops.yml
messages.yml
Calls shopManager.loadAll().
Message: admin.reload-complete.
Permission: economyshopgui.admin.
(Equivalent to /eshop reload.)
2.2 /eshop help
text
/eshop help
Shows a help list for all admin subcommands (texts from messages.yml):
reload
open
addsection
editsection
deletesection
additem
addhanditem
edititem
deleteitem
setprice
import (stub)
uploadLayout (stub)
installLayout (stub)
shopstands (stub)
2.3 /eshop reload
Same as /sreload – reloads configs and shop data.
2.4 /eshop open
Example:
text
/eshop open Zyroth_YT gear 2
Opens gear section, page 2, for player Zyroth_YT.
Useful for testing or opening a shop for someone else remotely.
2.5 /eshop addsection
Example:
text
/eshop addsection potions 54 BREWING_STAND "&dPotions" 20
Creates a new section with ID potions:
Title = &dPotions
Size = 54
Icon = Brewing Stand
Appears in main /shop at slot 20
Permission = EconomyShopGUI.shop.potions
Saves it to sections.yml.
Then reloads configs and shops.
Valid sizes: 9, 18, 27, 36, 45, 54.
2.6 /eshop deletesection
Example:
text
/eshop deletesection potions
Removes sections.potions from sections.yml.
Removes shops.potions from shops.yml.
Reloads configs + shops.
Messages whether it existed or not.
2.7 /eshop editsection
Allows editing existing section fields.
action can be:
set
addworld
removeworld
Examples:
Set title:
text
/eshop editsection gear set title "&b&lGEAR"
Set icon:
text
/eshop editsection gear set icon NETHERITE_SWORD
Set slot:
text
/eshop editsection gear set slot 13
Set size:
text
/eshop editsection gear set size 54
Set permission:
text
/eshop editsection gear set permission EconomyShopGUI.shop.gear
Set worlds list:
text
/eshop editsection gear set worlds world,world_nether
Add world:
text
/eshop editsection gear addworld world_the_end
Remove world:
text
/eshop editsection gear removeworld world_nether
After every change, config is saved and reloaded.
2.8 /eshop additem
Example:
text
/eshop additem blocks STONE 4 1.5
Section must already exist.
material is a valid Material name.
buy / sell are numbers (>= 0).
Plugin finds the first free slot in that section (0..53) and uses it.
Generates an item ID like stone_10 and writes to shops.yml:
YAML
shops:
blocks:
items:
stone_10:
material: STONE
slot: 10
buy: 4.0
sell: 1.5
name: "&fSTONE"
lore: []
Then reloads configs and shops.
2.9 /eshop addhanditem
Example:
text
/eshop addhanditem gear 25 10
You must be holding the item in your main hand.
Takes its Material (e.g. IRON_SWORD) and adds it to the section exactly like additem.
Again chooses the first free slot and creates a generated ID.
2.10 /eshop edititem
Used to change an existing item by its slot index.
Example:
text
/eshop edititem gear 10 set buy 30
/eshop edititem gear 10 set sell 12
/eshop edititem gear 10 set name "&fBetter Iron Sword"
For lore (multiple lines), use pipe |:
text
/eshop edititem gear 10 set lore "&7This is line 1|&7This is line 2"
Supported keys:
material
buy
sell
name
lore
The plugin finds the item in shops.
2.11 /eshop deleteitem
Example:
text
/eshop deleteitem gear 10
Removes the item whose .slot == 10 from that section in shops.yml.
Reloads configs and shop manager.
2.12 /eshop setprice
Quick price change:
text
/eshop setprice gear 10 buy 50
/eshop setprice gear 10 sell 20
Finds item by slot (index).
Updates either buy or sell.
Reloads configs + shops.
“Worth” and sell commands all start using the new values.
2.13 Stub subcommands
Right now these only print a message, they’re not fully implemented:
/eshop import – “Import feature is not implemented.”
/eshop uploadLayout – “Layout upload is not implemented.”
/eshop installLayout – “Layout install is not implemented.”
/eshop shopstands ... – “ShopStands are not implemented.”
These are placeholders in case you want to later add:
Price importing from Essentials worth.yml,
Online layout marketplace,
Physical shop stands, etc.
2.14 /shopgive
Examples:
text
/shopgive gear 10 # gives to yourself
/shopgive end 15 Zyroth_YT # gives to that player
Finds the ShopItem in that section at slot index.
Creates a 1‑stack of that Material, with the shop display name and lore.
Adds it to the target player’s inventory.
Used mostly for admins to give items as rewards or testing.
AND THESE ARE SOME SHORT DETAILS FOR YOU
Player commands
/shop [section] [page]
Opens the main shop GUI or a specific section.
No args → main menu with all sections.
/shop gear → opens the GEAR section, page 1.
/shop gear 2 → opens GEAR, page 2.
Permissions:
royaleconomy.shop – use /shop.
royaleconomy.shop.section. – access a specific section.
royaleconomy.shop.section.* – access all sections.
/sellhand
Sells the entire stack in your main hand using its shop sell price.
Permission:
royaleconomy.sell.hand
plus (optional restriction) royaleconomy.sell.hand.section. or royaleconomy.sell.hand.section.*.
/sellall [inventory|hand|]
/sellall or /sellall inventory – sells all sellable items in your inventory.
/sellall hand – sells all stacks of the material in your hand.
/sellall diamond_block – sells all diamond blocks in your inventory.
Permission:
royaleconomy.sell.all – base permission.
optional per‑section:
royaleconomy.sell.section. or royaleconomy.sell.section.*
royaleconomy.sell.hand.section. / royaleconomy.sell.item.section. etc.
/sellgui
Opens the Sell GUI. Put items inside; when you close the GUI, all sellable items are sold automatically and unsellable ones are returned.
Shows a big title “You earned $X” when items are sold.
Permission:
royaleconomy.sell.gui – open SellGUI.
optional per‑section restriction when closing:
royaleconomy.sell.gui.section. / royaleconomy.sell.gui.section.*.
Admin commands
/sreload
Reloads config.yml, sections.yml, shops.yml, and messages.yml.
Rebuilds all shop data.
Permission: royaleconomy.admin.
/eshop help
Shows a list of all /eshop subcommands and a short description.
Permission: royaleconomy.admin.
/eshop reload
Same as /sreload.
Permission: royaleconomy.admin.
/eshop open
Opens a specific section/page of the shop for another player.
Example: /eshop open Steve gear 2.
Permission: royaleconomy.admin.
/eshop addsection
Creates a new section and writes it to sections.yml.
Example: /eshop addsection potions 54 BREWING_STAND "&dPotions" 20.
Permission: royaleconomy.admin.
/eshop deletesection
Removes the section from sections.yml and its items from shops.yml.
Permission: royaleconomy.admin.
/eshop editsection <set|addworld|removeworld>
Changes section settings (title, size, icon, slot, permission, worlds).
Example: /eshop editsection gear set icon NETHERITE_SWORD.
Permission: royaleconomy.admin.
/eshop additem
Adds a new item to a section using a Material name.
Example: /eshop additem blocks STONE 4 1.5.
Permission: royaleconomy.admin.
/eshop addhanditem
Adds a new item to a section using the item in your hand.
Example: /eshop addhanditem gear 25 10.
Permission: royaleconomy.admin.
/eshop edititem
Edits an item by slot index: material, buy, sell, name, lore.
Example: /eshop edititem gear 10 set sell 12.
Permission: royaleconomy.admin.
/eshop deleteitem
Deletes an item from a section by its slot index.
Permission: royaleconomy.admin.
/eshop setprice
Quick way to change just the buy or sell price.
Example: /eshop setprice gear 10 sell 20.
Permission: royaleconomy.admin.
Stub (not implemented yet):
/eshop import – would import item prices, currently prints a message.
/eshop uploadLayout – no real function yet.
/eshop installLayout – no real function yet.
/eshop shopstands ... – no real physical stands yet.
/shopgive
Gives 1x of a shop item (including name and lore) to a player.
Example: /shopgive gear 10 Steve.
Permission: royaleconomy.admin.