Shop - the intuitive shop plugin

 Shop - the intuitive shop plugin 1.8.3.3

Shop - the intuitive shop plugin
Tested Minecraft Versions:
  • 1.7
  • 1.8
  • 1.9
  • 1.10
  • 1.11
  • 1.12
  • 1.13
  • 1.14
  • 1.15
  • 1.16
  • 1.17
  • 1.18
[IMG]

Allows players to quickly create shops to buy, sell, or barter items seamlessly, without the hassle of a GUI or commands!

By focusing on ease of use, players of any skill level can create in-game shops in a way that feels like a native feature.


Easily change between the different types of displays!
[IMG]


Create shops to sell, buy, barter, or gamble items using any chest type!
[IMG]


Bet your life savings away with the new gamble shops!
[IMG]


Totally configurable (and optional) holographic displays above shops!
[IMG]


Features:

  • Change currency to a custom item, virtual currency (Vault), or experience points seamlessly.
  • Fully customizable.
  • No commands required.
  • No permissions required. (But are supported)
  • Easily handles items with custom display names, descriptions, and enchantments. (and custom player heads)
  • All shop displays use client side packets so there is no lag on the server or chances of duping the items
  • Create admin shops that don't need to be stocked
  • All sign text is translatable and customizable. (along with text colors)
  • All chat messages are translatable and customizable. (along with text colors)
  • Control what types of shops individual players are able to create and use.
  • Control the amount of shops individual players are able to create and use
  • Blacklist certain worlds from having shops created in them.
  • Ability to set an optional price players must pay to create and/or destroy shops
  • Integrates with WorldGuard and Towny
  • Works with chests, barrels, shulker boxes, even ender chests!
  • Plug and Play.
Developer Documentation
What users are saying:
[IMG]

[IMG]

[IMG]


Spoiler: Configuration
Spoiler: config.yml
Spoiler: signConfig.yml
Code (yml (Unknown Language)):

# THIS FILE IS USED TO CONFIGURE SHOP SIGNS #
# ================================================================== #
# &b : AQUA
# &0 : BLACK
# &9 : BLUE
# &l : BOLD
# &3 : DARK_AQUA
# &1 : DARK_BLUE
# &8 : DARK_GRAY
# &2 : DARK_GREEN
# &5 : DARK_PURPLE
# &4 : DARK_RED
# &6 : GOLD
# &7 : GRAY
# &a : GREEN
# &o : ITALIC
# &d : LIGHT_PURPLE
# &k : MAGIC
# &c : RED
# &r : RESET
# &m : STRIKETHROUGH
# &n : UNDERLINE
# &f : WHITE
# &e : YELLOW

# [item] : The name of the item in the transaction #
# [item amount] : The amount of the item #
# [item type] : The material type of the item in the transaction #
# [barter item] : The name of the barter item in the transaction #
# [barter item amount] : The amount of the barter item #
# [barter item type] : The material type of the barter item in the transaction #
# [price] : The price of the items (adjusted to match virtual or physical currency) #
# [price sell] : The sell price of combo shops (adjusted to match virtual or physical currency) #
# [price combo] : The full combo price string (adjusted to match virtual or physical currency) #
# [price per item] : The price of 1 individual item (calculated from total price and adjusted to match virtual or physical currency) #
# [price sell per item] : The price of selling 1 individual item (combo shops) (calculated from total price and adjusted to match virtual or physical currency) #
# [stock] : The number of stacks of items that a shop/shop owner is able to provide to other players (calculated) #
# [stock color] : Changes text to GREEN if shop has stock and DARK_RED when out of stock #
# [user] : The name of the player who used the shop #
# [owner] : The name of the shop owner #
# [server name] : The name of the server #
# [shop type] : The type of the shop (sell, buy, barter) #


sign_creation:
SHOP: "shop"
SELL: "sell"
BUY: "buy"
BARTER: "barter"
GAMBLE: "gamble"
ADMIN: "admin"
COMBO: "combo"


sign_text:
SELL:
normal:
1: "[stock color]&l[shop]"
2: "Selling; &l[amount]"
3: "&a[price]"
4: "[owner]"
normal_no_display:
1: "[stock color]&l[sell shop]"
2: "[item]: [amount]"
3: "&a[price]"
4: "[owner]"
admin:
1: "&l[shop]"
2: "Selling; &l[amount]"
3: "&a[price]"
4: "&d[server name]"
admin_no_display:
1: "&l[sell shop]"
2: "[item]: [amount]"
3: "&a[price]"
4: "&d[server name]"
BUY:
normal:
1: "[stock color]&l[shop]"
2: "Buying; &l[amount]"
3: "&a[price]"
4: "[owner]"
normal_no_display:
1: "[stock color]&l[buy shop]"
2: "[item]: [amount]"
3: "&a[price]"
4: "[owner]"
admin:
1: "&l[shop]"
2: "Buying; &l[amount]"
3: "&a[price]"
4: "&d[server name]"
admin_no_display:
1: "&l[buy shop]"
2: "[item]: [amount]"
3: "&a[price]"
4: "&d[server name]"
BARTER:
normal:
1: "[stock color]&l[shop]"
2: "Bartering;"
3: "&a[amount] for [price]"
4: "[owner]"
normal_no_display:
1: "[stock color]&l[barter shop]"
2: "[item]: [amount]"
3: "[barter item]: [price]"
4: "[owner]"
admin:
1: "&l[shop]"
2: "Bartering;"
3: "&a[amount] for [price]"
4: "&d[server name]"
admin_no_display:
1: "&l[barter shop]"
2: "[item]: [amount]"
3: "[barter item]: [price]"
4: "&d[server name]"
GAMBLE:
admin:
1: "&l[shop]"
2: "&dGambling"
3: "&a[price]"
4: "&d[server name]"
admin_no_display:
1: "&l[gamble shop]"
2: "Random Item"
3: "&a[price]"
4: "&d[server name]"
COMBO:
normal:
1: "[stock color]&l[shop]"
2: "Buys or Sells; &l[amount]"
3: "&a[price combo]"
4: "[owner]"
normal_no_display:
1: "[stock color]&l[buy / sell]"
2: "[item]: [amount]"
3: "&a[price combo]"
4: "[owner]"
admin:
1: "&l[shop]"
2: "Buys or Sells; &l[amount]"
3: "&a[price combo]"
4: "&d[server name]"
admin_no_display:
1: "&l[buy / sell]"
2: "[item]: [amount]"
3: "&a[price combo]"
4: "&d[server name]"
zeroPrice: "FREE"
serverDisplayName: "Server"

Spoiler: chatConfig.yml
Code (yml (Unknown Language)):

# THIS FILE IS USED TO CONFIGURE WHAT MESSAGES ARE DISPLAYED #
# ================================================================== #
# &b : AQUA
# &0 : BLACK
# &9 : BLUE
# &l : BOLD
# &3 : DARK_AQUA
# &1 : DARK_BLUE
# &8 : DARK_GRAY
# &2 : DARK_GREEN
# &5 : DARK_PURPLE
# &4 : DARK_RED
# &6 : GOLD
# &7 : GRAY
# &a : GREEN
# &o : ITALIC
# &d : LIGHT_PURPLE
# &k : MAGIC
# &c : RED
# &r : RESET
# &m : STRIKETHROUGH
# &n : UNDERLINE
# &f : WHITE
# &e : YELLOW

# [item] : The name of the item in the transaction #
# [item amount] : The amount of the item #
# [item type] : The material type of the item in the transaction #
# [barter item] : The name of the barter item in the transaction #
# [barter item amount] : The amount of the barter item #
# [barter item type] : The material type of the barter item in the transaction #
# [price] : The price of the items (adjusted to match virtual or physical currency) #
# [price sell] : The sell price of combo shops (adjusted to match virtual or physical currency) #
# [price combo] : The full combo price string (adjusted to match virtual or physical currency) #
# [price per item] : The price of 1 individual item (calculated from total price and adjusted to match virtual or physical currency) #
# [price sell per item] : The price of selling 1 individual item (combo shops) (calculated from total price and adjusted to match virtual or physical currency) #
# [stock] : The number of stacks of items that a shop/shop owner is able to provide to other players (calculated) #
# [stock color] : Changes text to GREEN if shop has stock and DARK_RED when out of stock #
# [user] : The name of the player who used the shop #
# [owner] : The name of the shop owner #
# [server name] : The name of the server #
# [shop type] : The type of the shop (sell, buy, barter) #

transaction:
SELL:
user: "&7You bought &f[item amount] [item](s) &7from [owner] for &a[price]&7."
owner: "&7[user] bought &f[item amount] [item](s) &7from you for &a[price]&7."
BUY:
user: "&7You sold &f[item amount] [item](s) &7to [owner] for &a[price]&7."
owner: "&7[user] sold &f[item amount] [item](s) &7to you for &a[price]&7."
BARTER:
user: "&7You bartered &f[barter item amount] &7of your &f[barter item](s) &7for &f[item amount] &7of [owner]s &f[item](s)&7."
owner: "&7[user] bartered &f[barter item amount] &7of their &f[barter item](s) &7for &f[item amount] &7of your &f[item](s)&7."
GAMBLE:
user: "&7You gambled &a[price] &7and received &f[gamble item]&7(x[gamble item amount])."

transaction_issue:
SELL:
shopNoStock: "&cThis shop is out of stock."
ownerNoStock: "&c[Shop] Your selling shop at <[location]> is out of stock."
shopNoSpace: "&cThis shop does not have enough space in its inventory to accept your payment."
ownerNoSpace: "&c[Shop] Your selling shop at <[location]> is full."
playerNoStock: "&cYou do not have sufficient funds to buy from this shop."
playerNoSpace: "&cYou do not have enough space in your inventory to buy from this shop."
BUY:
shopNoStock: "&cThis shop is out of funds."
ownerNoStock: "&c[Shop] Your buying shop at <[location]> is out of funds."
shopNoSpace: "&cThis shop does not have enough space in its inventory for your items."
ownerNoSpace: "&c[Shop] Your buying shop at <[location]> is full."
playerNoStock: "&cYou do not have enough items to sell to this shop."
playerNoSpace: "&cYou do not have enough space in your inventory to accept the payment from this shop."
BARTER:
shopNoStock: "&cThis shop is out of stock."
ownerNoStock: "&c[Shop] Your barter shop at <[location]> is out of stock."
shopNoSpace: "&cThis shop does not have enough space in its inventory to barter with you."
ownerNoSpace: "&c[Shop] Your barter shop at <[location]> is full."
playerNoStock: "&cYou do not have sufficient items to barter with this shop."
playerNoSpace: "&cYou do not have enough space in your inventory to barter with this shop."
GAMBLE:
playerNoStock: "&cYou do not have sufficient funds to gamble with this shop."
playerNoSpace: "&cYou do not have enough space in your inventory to gamble with this shop."

interaction:
SELL:
initialize: "&6[Shop] Now just hit the sign with the item you want to sell to other players!"
create: "&eYou have created a shop that sells &6[item](s)&e."
destroy: "&7You have destroyed your selling shop."
opDestroy: "&7You have destroyed a selling shop owned by [owner]."
opOpen: "&7You are opening a selling shop owned by [owner]."
BUY:
initialize: "&6[Shop] Now just hit the sign with the item you want to buy from other players!"
initializeAlt: "&7[Shop] You can also hit the shop with your hand to pick the item from the creative menu."
create: "&eYou have created a shop that buys &6[item](s)&e."
destroy: "&7You have destroyed your buying shop."
opDestroy: "&7You have destroyed a buying shop owned by [owner]."
opOpen: "&7You are opening a buying shop owned by [owner]."
BARTER:
initialize: "&6[Shop] Now hit the sign with the item you want to barter to other players!"
initializeInfo: "&7[Shop] You have set this shop's barter item to [item](s)"
initializeBarter: "&6[Shop] Now hit the sign again with the item you want barter for!"
create: "&eYou have created a shop that barters &6[item](s) &efor &6[barter item](s)&e."
destroy: "&7You have destroyed your bartering shop."
opDestroy: "&7You have destroyed a bartering shop owned by [owner]."
opOpen: "&7You are opening a bartering shop owned by [owner]."
COMBO:
initialize: "&6[Shop] Now just hit the sign with the item you want to buy or sell from other players!"
initializeAlt: "&7[Shop] You can also hit the shop with your hand to pick the item from the creative menu."
create: "&eYou have created a shop that buys and sells &6[item](s)&e."
destroy: "&7You have destroyed your combo shop (buying and selling)."
opDestroy: "&7You have destroyed a combo shop owned by [owner]."
opOpen: "&7You are opening a combo shop owned by [owner]."
GAMBLE:
create: "&eYou have created a gambling shop."
opDestroy: "&7You have destroyed a gambling shop owned by [server name]."

interaction_issue:
createLine2: "&cThe amount (line 2) needs to be a positive number."
createLine3: "&cThe price (line 3) needs to be a positive number."
createNoItem: "&cYou must be holding the item you want to [shop type]"
createDirection: "&cThe sign must be in front of the chest in order to create a shop."
createSameItem: "&cYou cannot create a barter shop where both items are the same."
createDisplayRoom: "&cThis shop could not created because there is no room for a display item."
createOtherShop: "&cYou may not create a shop on the same chest as another player."
createInsufficientFunds: "&cYou do not have the funds required to create this shop."
destroyInsufficientFunds: "&cYou do not have the funds required to destroy this shop."
initializeOtherShop: "&cYou may not initialize another players shop with an item."
destroyChest: "&cYou must remove the sign from this shop to break it."
useOwnShop: "&7You cannot use your own shop."
adminOpen: "&7Admin shops are not able to be opened."
worldBlacklist: "&cShops are not allowed to be created in this world."
regionRestriction: "&cYou do not have permission to do that in this region."

description:
SELL:
item: "&7Item(s) this shop sells to you: &b[[item]] &7([item durability]% durability)"
price: "&aYou can buy &f[item amount] [[item]](s) &afrom this shop for &f[price]."
pricePerItem: "&7That is [price per item] per [[item]]."
BUY:
item: "&7Item(s) this shop buys from you: &b[[item]] &7([item durability]% durability)"
price: "&aYou can sell &f[item amount] [[item]](s) &ato this shop for &f[price]."
pricePerItem: "&7That is [price per item] per [[item]]."
BARTER:
item: "&7Item(s) this shop trades to you: &b[[item]] &7([item durability]% durability)"
barterItem: "&7Item(s) you trade to the shop: &b[[barter item]] &7([barter item durability]% durability)"
price: "&aYou can barter &f[barter item amount] &aof your &f[[barter item]](s) &ato this shop for &f[item amount] [[item]](s)&f."
pricePerItem: "&7That is [price per item](s) per [[item]]."
GAMBLE:
item: "&7This shop sells random items."
price: "&aYou can gamble with this shop for &f[price]."
stock: "&7This shop is currently able to provide [stock] more transactions."
stockAdmin: "&7This shop can never run out of stock."

permission:
use: "&cYou are not authorized to use [shop type]ing shops."
create: "&cYou are not authorized to create [shop type]ing shops."
destroy: "&cYou are not authorized to destroy shops."
buildLimit: "&cYou have already reached your build limit of [build limit] shops."

creativeSelection:
enter:
- "_____________________________________________________"
- "&7You are now in locked creative mode so you can choose the item you want to receive."
- "&fTo select the item, pick it up and drop it outside of the inventory window."
- "&6Open your inventory and select the item you want to receive."
- "_____________________________________________________"
prompt:
- "&cYou cannot move in locked creative mode."
- "&6Open your inventory and select the item you want to receive."
- "&eTo select the item, pick it up and drop it outside of the inventory window."

Spoiler: displayConfig.yml
Code (yml (Unknown Language)):

# THIS FILE IS USED TO CONFIGURE SHOP DISPLAY NAME TAGS #
# ================================================================== #
# &b : AQUA
# &0 : BLACK
# &9 : BLUE
# &l : BOLD
# &3 : DARK_AQUA
# &1 : DARK_BLUE
# &8 : DARK_GRAY
# &2 : DARK_GREEN
# &5 : DARK_PURPLE
# &4 : DARK_RED
# &6 : GOLD
# &7 : GRAY
# &a : GREEN
# &o : ITALIC
# &d : LIGHT_PURPLE
# &k : MAGIC
# &c : RED
# &r : RESET
# &m : STRIKETHROUGH
# &n : UNDERLINE
# &f : WHITE
# &e : YELLOW

# [item] : The name of the item in the transaction #
# [item amount] : The amount of the item #
# [item type] : The material type of the item in the transaction #
# [barter item] : The name of the barter item in the transaction #
# [barter item amount] : The amount of the barter item #
# [barter item type] : The material type of the barter item in the transaction #
# [price] : The price of the items (adjusted to match virtual or physical currency) #
# [price sell] : The sell price of combo shops (adjusted to match virtual or physical currency) #
# [price combo] : The full combo price string (adjusted to match virtual or physical currency) #
# [price per item] : The price of 1 individual item (calculated from total price and adjusted to match virtual or physical currency) #
# [price sell per item] : The price of selling 1 individual item (combo shops) (calculated from total price and adjusted to match virtual or physical currency) #
# [stock] : The number of stacks of items that a shop/shop owner is able to provide to other players (calculated) #
# [stock color] : Changes text to GREEN if shop has stock and DARK_RED when out of stock #
# [user] : The name of the player who used the shop #
# [owner] : The name of the shop owner #
# [server name] : The name of the server #
# [shop type] : The type of the shop (sell, buy, barter) #

# [lshift] : shift location of entire nametag left #
# [rshift] : shift location of entire nametag right #

display_tag_text:
SELL:
normal:
- "[item]&7(x[item amount])"
- "&7<right click sign to have shop sell the item to you>"
BUY:
normal:
- "[item]&7(x[item amount])"
- "&7<right click sign to have shop buy the item from you>"
BARTER:
normal:
- "[lshift]&aYou get:"
- "[lshift][item]&7(x[item amount])"
- "[rshift]&6You trade:"
- "[rshift][barter item]&7(x[barter item amount])"
- "&7<right click sign to barter items with shop>"
GAMBLE:
normal:
- "[item]"
- "&7<right click sign to gamble for a random item>"
COMBO:
normal:
- "[item]&7(x[item amount])"
- "&7<click &aLEFT &7side of sign for shop to &aBUY &7item from you>"
- "[item]&7(x[item amount]) for &a[price]"
- "&7<click &6RIGHT &7side of sign for shop to &6SELL &7item to you>"
- "[item]&7(x[item amount]) for &6[price sell]"

Spoiler: Permissions
shop.use: Allows player to use all shops.
shop.use.sell: Allows player to use selling shops.
shop.use.buy: Allows player to use buying shops.
shop.use.barter: Allows player to use barter shops.
shop.use.combo: Allows player to use combo shops.
shop.use.gamble: Allows player to use gambling shops.
shop.create: Allows player to create all shops.
shop.create.sell: Allows player to create selling shops.
shop.create.buy: Allows player to create buying shops.
shop.create.barter: Allows player to create barter shops.
shop.create.combo: Allows player to create combo shops.
shop.destroy: Allows player to destroy their own shops.
shop.destroy.other: Allows player to destroy other player's shops.
shop.setdisplay: Allows player to set the display type on their shop.
shop.buildlimit.#: Restricts the number of shop a player can build to #.
shop.gui.teleport - Allows player to use teleport to shops by using the gui.
shop.operator: Allows all access to shop actions and shop operator actions.
Spoiler: Commands
The /shop command can be changed from the main config file.

/shop currency -
displays the currency Shops are using

/shop notify [user/owner/stock] - toggle your own player specific notifications for when you use a shop, when a player uses one of your own shops, or when one of your shops runs out of stock

/shop setcurrency - sets the currency to the current held item

/shop list: Displays how many shops are on the server

/shop item refresh: Updates the shop display items on the server
(This refreshes display items on shops and removes old ones from corrupted saves)

/shop itemlist [add/remove]: Adds all items in current inventory to the itemList.yml file (if one is being used). To use an item allow list or item deny list, set the itemList variable in the config.yml.

/shop reload: reload the Shop plugin
Spoiler: How To Create Different Shop Types
The keywords to create the different shop types can all be changed from the signConfig.yml file under the sign_creation section.
The default ways are shown below.

Sell items to other players
[IMG]


Buy items from other players
[IMG]


Barter items with other players
[IMG]


Combine a buying and selling shop into one
[IMG]

This example sells or buys 4 of the item. When players click the left side of the sign it buys 4 of the item for 2 currency. When players click the right side of the sign, it sells 4 of the item for 3 currency.

Gamble for items (exclusively an admin shop to allow players to gamble for items)
[IMG]


IMPORTANT: Any shop can be made into an admin shop (a shop that does not need to be stocked with items or currency) by adding the keyword 'admin' to the last line of the sign when creating the shop.

Spoiler: FAQ
"Why do my shops say Emerald(s)? I want to use [...] as currency."
Go to the config file and follow the directions in the file on how to change the currency. Don't forget to save the file and reload/restart your server for the changes to take effect.

"How do I see what enchantments the item has and its lore?"
If you DO NOT own the shop, simply right click the chest of the shop.
If you DO own the shop, crouch (hold shift) and right click the chest.

"How do I change the item display type on my shop?"
As the owner of the shop, simply right click the sign. (If the shop is an admin shop, crouch (hold shift) and right click the sign.

"How do I change what my admin shops say for the name on the sign?"
This variable is in the signConfig.yml file. It is the serverDisplayName variable. Change this and reload/restart the plugin.

"How do I report a bug or suggest a feature?"
Please create an issue at this link and I will get to it as soon as possible. I will not respond to bugs or feature requests in the comments.

"Why doesn't the plugin work on my Minecraft version?"
Please see the chart below to find what version of Shop works with your Spigot server version.

Spigot version : Shop version
1.14 - 1.18.1 : 1.8.3.3
1.8.8 - 1.13.2 : 0.8.3.2
lower than 1.8 : 1.7.3.1 (no new features)

Shop version download page is available here: version downloads

Coming from another shop plugin?
You can use this simple plugin to convert all of your old shops to this plugin! No need to remake any of them!
[IMG]



Also please check out my other premium plugins!
[IMG] , [IMG]

To report any bugs or feature requests, they must be added here. I will not respond to any bugs reported in the comments.

join the discord!
[IMG]

Similar resources

Shop - a simple, intuitive shop plugin Infinityy
An easy to use shop plugin without all the bells and whistles
5.00 star(s) 1 ratings
Downloads
151
Updated
Shop - a simple, intuitive shop plugin L
An easy to use shop plugin without all the bells and whistles
5.00 star(s) 1 ratings
Downloads
261
Updated
Shop - a simple, intuitive shop plugin BlackSpigot.com
4.38 star(s) 8 ratings
Downloads
1,099
Updated
BlackSpigot General Chat
Rules Help Users
    BlackSpigot.com @ BlackSpigot.com: I have cleared my private messages for this chat so people should be able to PM me on here and...
    Top