Probably the best and the easiest [Player] chest shop plugin in the entire Minecraft history
![](https://cdn.discordapp.com/attachments/1014617561767346256/1081886439328989274/first_img.png)
Bstats statistics of the plugin (Thank you for using our plugin)
Story: Well, I used to play Minecraft multiplayer with my friends several years ago, and I thought how hard and limited are sign shops. Both complicated and not user-friendly for beginners as I remember I couldn't understand how to make one, or I couldn't sell things that were not from Minecraft like slimefun items. So I decided to use Minecraft's new update in order to make it easier, both for my players and for other server owners who are willing to keep their gameplay user-friendly, and that's how EzzzChestShop is made.
EzChestShop [ECS] is a player chest shop(and admin cs) plugin designed for being easy to use, construct, and have GUI implementation. ECS is made compatible with major plugins like WorldGuard, Vault, and any economy plugin that uses Vault API. The plugin is designed not only for selling items but the reverse of that, so players can buy items from their chest shop. EzChestShop uses the newest Minecraft technology in order to store data and for some optional features, and it supports SQLite & MySQL for bigger servers. Furthermore, there won't be any data loss even if the server crashes. The plugin doesn't support versions lower than 1.14, so don't try it out.
Dependencies:
EzChestShop doesn't require any dependencies, but if you want to charge a virtual currency instead of XP points, you will need:
Both of these plugins hardly break at version updates, so don't fear if they don't state that they're up to the latest MC version yet.
AND PLEASE DO NOT LOAD/RELOAD THE PLUGIN WITH PLUGMAN/PLUGWOMAN or anything similar
Features:
- Optimized especially for big servers with more than 150 players
- Fully customizable
- GUI IN-GAME Editor
- Admin view - owner view - buyer & seller view
- Friendly Interference(Sounds, easy-to-use GUI and etc...)
- Easy guide for beginners
- Async holograms and floating items - not a single tick get wasted.
- Not limited - any item can be sold or bought LITERALLY ANYTHING
- Compatible with almost any claim or region protector plugin.
- Admin shops
- Item preview (client-side)
- Settings for each shop (you can copy and paste settings of each shop)
- Tab-Complete support
- Hex color support
- Localized name support
- Distance hologram system(togglable)
- Permission-based (can limit players and let them create shops for a specific amount)
- Shulker box, barrels, and trapped chest supports
- Hopper and dispenser support + Redstone integration
- Copy-able shop-settings! Set them up once and copy them over with /ecs settings copy|paste
- Custom amount buy and sell
- Shulker box shops can be picked up and placed somewhere else again.
- Rotatable holograms(north, south, east, or west of the container)
- Check profit command(player can easily access the information related to the chest shops that the player has)
- Half-completed API for developers(like some events)
- Special config for only holographic systems and it's like HTML lmao super cool try this out
- Worldguard flags
- Believe me a lot of other options but I have a word limit here.
- and some other things that I don't even know exist but exist
images
General GUI View:
Admin View part which is available for specific people having specific permission:
New update 1.4.0 main GUI:
Storage: used for refilling or taking items from chest shop
new settings GUI:
Custom buy/sell amount GUI:
Although that's the easiest chest shop ever, I think there are some people having difficulties, follow this tutorial to make a shop:
- Put the item you want to sell or buy in your hand
- Look at a chest and execute /ecs create (buy price) (sell price) | ex: /ecs create 1000 0
- Done. You have successfully created a chest shop.
config.yml
Configuration:
# EzChestShop plugin configuration
# Before starting to config, please note that any usage of TABs in the config file may break the plugin so avoid using tabs and use space.
# If you need help/found a bug, please join our Discord: https://discord.gg/rSfsqgCqBZ
language: Locale_EN
shops:
hologram:
# holograms are all shown in the async way and they won't waste a single tick / nor they are buggy like some other plugins
show-holograms: true
# represents the holographic texts of chestshops. Use %item% to display the item's display name.
# Use [item] for 1 Line to display the floating item. Use %buy% for buy price and %sell% for sell price.
# %currency% is defined under economy.server-currency and %owner% represents the shops creator.
# %maxbuy% & %maxsell% can be used to define the maximum amount a player can buy/sell to a shop at this time.
# The HTML like <buy></buy> Syntax allows the plugin to remove parts of the message if buy/sell are disabled.
holo-structure:
- "<buy>&fBuy: &a%buy% %currency%</buy><separator> &f| </separator><sell>&fSell: &c%sell% %currency%</sell>"
- "&d%item%"
- "[item]"
holo-structure-adminshop:
- "<buy>&fBuy: &a%buy% %currency%</buy><separator> &f| </separator><sell>&fSell: &c%sell% %currency%</sell>"
- "&d%item%"
- "[item]"
# Define a custom Line spacing multiplier. 1 is default.
holo-line-spacing: 1
# hologram will get removed after x seconds if plugin doesn't detect any movement toward chest shop (default: 10)
hologram-disappearance-delay: 10
# Allows players to rotate their Holograms to be displayed on different sides of the Block.
allow-rotation: true
# an alternative hologram display system, which is slower but provides easier visibility of nearby shops.
distance:
toggled: true
# Defines the range at which shops will render holograms (default: 10.0)
range: 10.0
# Set if items should be rendered first and holograms only when looking at the shop directly.
show-items-first: false
# Define which containers are applicable for chest shops:
container:
chests: true
trapped-chests: true
barrels: true
shulkers: true
display:
# define how the plugin should format displayed numbers, use: https://docs.oracle.com/en/java/javase/14/docs/api/java.base/java/text/DecimalFormat.html
number-format:
gui: "###,###.##"
chat: "###,###.##"
hologram: "###,###.##"
settings:
# Define the default settings when creating a shop:
defaults:
transaction-message: false
disable-buying: false
disable-selling: false
rotation: "up"
share-profit: true
# If set to true, "/ecs create 12 0" will automatically disable selling(or buying if "/ecs create 0 12")
zero-price-equals-disabled: true
# If set to true, this setting will require players to use a buy price that is greater than the sell price.
buy-greater-than-sell: true
# If set to true Shulker shops will be given some Lore when mined (Set inside the language files)
add-shulkershop-lore: true
economy:
# Used to replace %currency% for the language files and the 2nd hologram line.
server-currency: $
commands:
# Register easier to remember alias on server startup: /shop and /adminshop
alias:
ecs-shop: false
ecsadmin-adminshop: false
checkprofit-lines-per-page: 4
permissions:
# If set to true, players require the permission "ecs.shops.limit.X" where X is the maximum amount of shops a player can create.
create-shops: false
tasks:
# Normally, This option is for when server(basically other plugins) remove the chest shop, in this case, it could result in some issues
# if this is causing so much lag, you can turn this off (requires restart)
check-for-removed-shops: true
locale_en (latest)
# plugin uses this file in order to display messages in plugin
# For hologram messages, you have to check config.yml
# NOTE: DO NOT USE TAB in yml file as it can cause serious performance problems and it sometimes can break the plugin
# Don't forget to rate if you liked EzChestShop
shop-gui:
initialbuyprice: "&aInitial Buy price: &e%buyprice% %currency%"
initialsellprice: "&cInitial Sell price: &e%sellprice% %currency%"
admin-title: "&c%shopowner%'s chest shop &4(Admin view)"
nonowner-title: "&c%shopowner%'s chest shop"
owner-title: "&c%shopowner%'s chest shop"
adminshop-title: "&cAdmin shop"
buttons:
sellone-title: "&cSell 1x"
sellone-lore:
- "&7Sell for &e%price% %currency%"
sell64-title: "&cSell 64x"
sell64-lore:
- "&7Sell for &e%price% %currency%"
buyone-title: "&aBuy 1x"
buyone-lore:
- "&7Buy for &e%price% %currency%"
buy64-title: "&aBuy 64x"
buy64-lore:
- "&7Buy for &e%price% %currency%"
adminview: "&c&lAdmin View"
storage: "&e&lStorage"
settings: "&b&lSettings"
disabled-title: "&cDisabled"
disabled-lore:
- "&7This option is disabled by "
- " &7the shop owner."
transactions:
transactionButtonTitle: "&aTransaction logs"
backToSettingsButton: "&eBack to settings"
PaperTitleBuy: "&aBuy | %player%"
PaperTitleSell: "&cSell | %player%"
PaperLoreBuy:
- "&7Total Price: %price% "
- " &7Quantity: %count% "
- " &7Transaction Type: &aBought from you "
- " &e%time%"
PaperLoreSell:
- "&7Total Price: %price% "
- " &7Quantity: %count% "
- " &7Transaction Type: &cSold to you "
- " &e%time%"
lessthanminute: "&eless than a minute ago"
minutesago: "&e%minutes% minute(s) ago"
hoursago: "&e%hours% hour(s) ago"
daysago: "&e%days% days ago"
#settings gui section
settings:
GuiTitle: "&b&lSettings"
statusOn: "&aOn"
statusOff: "&cOff"
buttons:
toggleTransactions:
Title: "&eToggle Transaction Message"
Lore:
- "&7Current status: %status% "
- " &7If you keep this option on, "
- " &7you will recieve transaction "
- " &7messages in chat whenever someone "
- " &7buy/sell something from this shop"
disableBuying:
Title: "&eDisable Buying"
Lore:
- "&7Current status: %status% "
- " &7If you keep this option on, "
- " &7the shop won't let anyone buy "
- " &7from your chest shop."
disableSelling:
Title: "&eDisable Selling"
Lore:
- "&7Current status: %status% "
- " &7If you keep this option on, "
- " &7the shop won't let anyone sell "
- " &7anything to the shop."
shopAdmins:
Title: "&eShop admins"
nobodyStatusAdmins: "&aNobody"
Lore:
- "&7You can add/remove admins to "
- " &7your chest shop. Admins are able to "
- " &7access the shop storage & access certain "
- " &7settings (everything except share income "
- " &7and add/remove-ing admins). "
- " &aLeft Click &7to add an admin "
- " &cRight Click &7to remove an admin "
- " &7Current admins: %admins%"
sharedIncome:
Title: "&eShared income"
Lore:
- "&7Current status: %status% "
- " &7If you keep this option on, "
- " &7the profit of ONLY sales, will be "
- " &7shared with admins as well."
hologramRotation:
Title: "&eHologram Rotation"
Lore:
- "&7Rotation: "
- "%rotations%"
- " &aLeft&7/&cRight&7-click to cycle"
- " &7through all rotations!"
other:
backToShopGuiButton: "&eBack to shop"
latestTransactionsTitle: "&aLatest Transactions"
chat:
toggleTransactions:
MessageOn: "&7Toggle Transaction Messages: &aON"
MessageOff: "&7Toggle Transaction Messages: &cOFF"
disableBuying:
MessageOn: "&7Disable Buying: &aON"
MessageOff: "&7Disable Buying: &cOFF"
disableSelling:
MessageOn: "&7Disable Selling: &aON"
MessageOff: "&7Disable Selling: &cOFF"
shopAdmins:
addingAdminWaiting: "&ePlease enter the name of the person you want to add to the list of admins."
removingAdminWaiting: "&ePlease enter the name of the person you want to remove from the list of admins."
selfAdmin: "&cYou can't add or remove yourself in the admins list!"
sucAdminAdded: "&e%player% &asuccessfully added to the admins list."
alreadyAdmin: "&cThis player is already in the admins list!"
noPlayer: "&cThis player doesn't exist or haven't played here before."
sucAdminRemoved: "&e%player% &asuccessfully removed from the admins list."
notInAdminList: "&cThis player is not in the admins list!"
clearedAdmins: "&cRemoved all admins from this shop."
sharedIncome:
MessageOn: "&7Shared income: &aON"
MessageOff: "&7Shared income: &cOFF"
copy-paste:
copiedShopSettings: "[&6Copied &7shop settings!](%settings%)"
pastedShopSettings: "&ePasted &7shop settings!"
hologramRotation:
rotateHologramInChat: "&7Hologram Rotation: %rotation%"
rotation:
Up: "&aUp"
North: "&aNorth"
East: "&aEast"
South: "&aSouth"
West: "&aWest"
Down: "&aDown"
customBuySell:
gui-customAmountSign-title: "&eCustom Buy/Sell"
gui-customAmountSign-lore:
- "&7Buy or Sell in custom amount "
- " &d "
- " &aLeft click for custom Buy "
- " &cRight click for custom Sell "
- " &d "
- " &7You can totally &abuy &e%buycount%&7 of this item. "
- " &7You can totally &csell &e%sellcount%&7 of this item."
#15 characters per line (without color codes) and "\n" for next line (starting from second line)
signEditorGui:
buy:
- "&a^^ Max: %max% ^^ "
- " &bInsert your "
- " &bdesired amount"
sell:
- "&c^^ Max: %max% ^^ "
- " &bInsert your "
- " &bdesired amount"
errors:
buyingIsDisabled: "&cBuying is disabled in this shop."
sellingIsDisabled: "&cSelling is disabled in this shop."
wrongInput: "&cWrong input(Or probably a very large number), please insert a number!"
enterTheAmount: "&ePlease write your desired amount in the sign"
unsupportedInteger: "&cHey!, the amount cannot be zero or negative obviously."
shop-messages:
successful-buy: "&aYou have successfully bought this item for &e%price% %currency%"
fullinv: "&cYou don't have enough space for this amount of item"
cannotafford: "&cYou cannot afford this much..."
outofstock: "&cThe shop is out of stock!"
successful-sell: "&aYou have successfully sold your item(s) for &e%price% %currency%"
shopcannotafford: "&cThe shop cannot afford anymore."
notenoughitemtosell: "&cYou don't have enough of this item to sell!"
chestisFull: "The chest is full."
selftransaction: "&cYou cannot buy or sell from yourself!"
openingShopProblem: "&cThere is a problem in opening this chest shop, Please contact administrator and check the console."
command-messages:
negativeprice: "&cNegative price? but you have to use positive price..."
notenoughargs: "&cYou haven't provided enough arguments! \n &cCorrect usage: /ecs create (Buy price) (Sell price)"
consolenotallowed: "&cYou are not allowed to execute any command from console."
help:
- "&bEz&cChestShop &7Plugin By Dead_Light©"
- "&7- &c/ecs create (Buy Price) (Sell Price) &7| Create a chest shop by looking at a chest and having the item that you want to sell in your hand. "
- "&7- &c/ecs remove &7| Removes the chest shop that you are looking at "
- "&7- &c/ecs settings (setting) &7| Copy/Paste/Toggle settings related to the chest shop "
- "&eSettings: &7[copy, paste, admins, toggle-buying, toggle-selling, toggle-message, toggle-shared-income] "
- "&7 Eazy right? :)"
help-admin-view-addition:
- "&cAdmin Help: "
- "&7- &c/ecsadmin"
adminhelp:
- "&cAdmin help: "
- "&7- &c/&eecsadmin remove &7| removes the shop that you are looking at (although u can remove it by breaking it) "
- "&7- &c/&eecsadmin reload &7| reload the plugin configurations"
- "&7- &c/&eecsadmin create (buy) (sell) &7| create an admin shop"
alreadyashop: "&cThis container is already a shop!"
shopcreated: "&aYou have successfully created a chest shop!"
holdsomething: "&cPlease hold something in your main hand!"
notallowdtocreate: "&cYou are not allowed to create/remove a chest shop in this location."
notchest: "&cThe block that you are looking at is not supported type of chest/is not a chest."
lookatchest: "&cPlease look at a chest."
csremoved: "&eThis chest shop has been successfully removed."
notowner: "&aYou are not the owner of this chest shop!"
notachestorcs: "&cThe block that you are looking at is not a chest/or this is not a chest shop."
maxShopLimitReached: "&cMaximum shop limit reached: %shoplimit%!"
slimeFunBlockNotSupported: "&cSorry :(, but you can't execute this command with a slimefun block / please use a normal block as a container"
buypriceGreaterThanSellRequired: "&cBuyPrice has to be greater than the SellPrice!"
checkprofits:
landing-menu:
- '&e========================================'
- '&7Total sales income: &6%currency%%income% &7from &6%sales% &7sale(s).'
- '&7Total buy cost: &6%currency%%cost% &7from &6%purchases% &7purchase(s).'
- '&7Total: &6%currency%%total%'
- '&7Balance: &6%currency%%balance%'
- '&7Click [&b&lHERE](Click for details! run_command=/checkprofits p 1) &7for a detailed report!'
- '&7Click to clear the report [&c&l[X]](Click to clear! run_command=/checkprofits clear)'
details-menu:
header:
- "&e----- &6Shop Profits Report &e-----"
content:
- " &e- &6%item%"
- " &7Sales: [&e%sales%x %currency%%income%](Unit price: %unit_income%) &7Purchases: [&e%purchases%x %currency%%cost%](Unit price: %unit_cost%)"
footer:
- "&6%button_previous%&7Page %page%/%pages%&6%button_next%&7 | To view a page, type \"[&6/cp p <page>](Click to paste in chat suggest_command=/cp p )&7\""
hover-extra:
button-next: "Next"
button-previous: "Previous"
confirm-clear:
- "&eDo you really want to clear all profit data? [&2&l[✔]](Click to confirm clear! run_command=/checkprofits clear -confirm)"
confirm-clear-success: "&cYou've cleared all profit data!"
join-notification:
- "&eCheck your Shop profits [&b&lHERE](Click to show run_command=/checkprofits)"
shulkershop-dropped-lore:
- "&eShulkerbox Shop:"
- " &7Owner: &6%owner%"
- " &7Item: &6%item%"
- " &7Buy: &6%currency%%buy_price%"
- " &7Sell: &6%currency%%sell_price%"
Language files from other available languages(Deutch(German), Spanish, Persian, Chinese) is available in the config files, after the first loading.
![https://cdn.discordapp.com/attachments/1014617561767346256/1081663799637049464/Content_creators.png](/api/internal/image/https://cdn.discordapp.com/attachments/1014617561767346256/1081663799637049464/Content_creators.png)
I appreciate any tutorials or videos about the plugin and I'll definitely put it here.
Tutorial & Preview in Spanish (SUPER OUTDATED):
Credits: @Gus_198_
- Download.
- Put the jar file in the plugins folder.
- Download Vault and an economy plugin(like essentials) and put them there.
- Start the server.
For player usage:
/ecs | aliases: /cs - /ezchestshop (no permission needed)
/ecs create (buy price) (sell price)
/ecs settings [copy, paste, admins, toggle-buying, toggle-selling, toggle-message, toggle-shared-income] | I guess it doesn't need explanation, it just copies, pastes, or edits the settings of the chest shop you are looking at
/ecs remove | removes the chest shop
/cp | check your incomes/outcomes from all of the chest shops that the player owns | Permission for this one: ecs.checkprofits
Additional permissions that you can give(limit):
If you want to limit your players so that they can create a limited amount of shops, you can turn on the config.yml option:
permissions:
create-shops: true
If set to true, this will require players to have the permission
ecs.shops.limit.X
where X is the maximum amount of shops a player can create.
Permission for number of custom hologram lines. Which X is the number of the lines:
ecs.shops.hologram.messages.lines.X
Admin usage:
permission ecs.admin
is basically the op of the plugin so it can access everything in the admin section but we have also some individual permissions for each
/ecsadmin
/ecsadmin remove | removing a chest shop | ecs.admin.remove
/ecsadmin reload | reloading the configuration | ecs.admin.reload
/ecsadmin create [buy price] [sell price] | creating admin shop | ecs.admin.create
and also the admin view of chest shops(basically access to everything in the container and settings of the container and some bypasses) | ecs.admin.view
Chest shops can also be removed by breaking the chest. (can be modified in the config) EZ right?
Worldguard flags:
- ecs-create-shop
- ecs-create-admin-shop
- ecs-remove-shop
- ecs-remove-admin-shop
- ecs-use-shop
- ecs-use-admin-shop
That was all, hope you enjoy this plugin as I do for myself. This plugin is being used and tested by a network with a lot of survival players, so don't worry about glitches and bugs.
Todo List:
- Compatibility with WildChests
- More requested features
Contributors:
- ElitoGame(ElitoGame#2411) | GitHub
Bugs/Suggestions/Help - Contact:
if you have found any bugs, errors or etc, or if you want to make a suggestion, feel free to contact me through Discord or Telegram:
Discord: Dead_Light#8645
Donation:
If you have found my plugin interesting and want to support us, your donations are appreciated. A Paypal link is provided.
PLEASE READ THIS, BEFORE COMMENTING:
- If you have found a bug, please first contact me, and if I didn't fix that, you are free to post a bad comment, and you are welcome.
- If you want to make a suggestion or want compatibility/support with any plugin, do not post it in the comments section. In the discussions or by contacting me.
- Reviewing a bad rating and then asking for help or etc... will not work and it doesn't help you at all nor will I help you.
.^_^ leave a like or comment down there if you think this resource is pretty good