QuickShop
QuickShop
The Predecessors
Showcase was abandoned. Chestshop needed a display, with signs whose order you could never remember. SCS has too many commands. I'm yet to find someone who uses essentials shops.
Don't get me wrong though, they're all awesome plugins each in a few ways.
QuickShop
So, I set out to write this. QuickShop. QuickShop is a shop plugin, that allows players to sell items from a chest with no commands. It allows players to purchase any number of items easily. In fact, this plugin doesn't even have any commands that a player would ever need!
Features
- Easy to use
- Togglable Display Item on top of chest
- NBT Data, Enchants, Tool Damage, Potion and Mob Egg support
- Unlimited chest support
- Blacklist support & bypass permissions
- Shops that buy items and sell items at the same time are possible (Using double chests)
- Herochat support
- Checks a player can open a chest before letting them create a shop!
No longer accepting feature requests
For those people that hate reading, here's an awesome video from UltiByte:
A more up to date and informative video can be found here
Installation Guide:
http://www.youtube.com/watch?v=eJsv7fqaXNk
How to Create a Shop
- Place a chest on the ground
- Hit the chest with the item you want to trade
- Type in price for the item (As prompted) in chat
- Fill the chest with the items you wish to sell
Advanced
- Face the chest
- Type either /qs sell or /qs buy to make the shop buy/sell instead (Optional: use /shop instead of /qs)
- Stock the shop accordingly, if necessary.
How to Buy/Sell to a Shop
- Find a shop
- Hit / Left click the shop
- Enter the amount you wish to trade in chat
Menu Example:
See it in action:
http://maxgamer.org or
play.maxgamer.org:25571 and /warp market!
Commands
- /qs unlimited - Makes the shop you're looking at become unlimited.
- /qs setowner <player> - Changes shop owner to <player>.
- /qs buy - Changes your shop you're looking at to one that buys items
- /qs sell - Changes your shop you're looking at to one that sells items
- /qs price <price> - Change the price of your shop that you're looking at
- /qs clean - Removes any existing shop that has 0 stock.
- /qs find <item> - Use to find the nearest shop that begins with <item> - E.g. '/qs find dia' will find the nearest diamond shop.
- /shop - Alias (Optional) of /qs
Player Nodes
- quickshop.use - Required to use ANY quickshop
- quickshop.create.sell - Required to make a QuickShop (At all)
- quickshop.create.buy - Required to use /qs buy (Change the shop type from Sell -> Buy)
- quickshop.create.double - Required to make doublechest shops.
- quickshop.create.changeprice - Required to use /qs price (Ability to change the price of a shop without destroying it. This may allow for some scammers to quickly change the price while someone is buying.
- quickshop.bypass.ItemID - Required to sell blacklisted items (E.g. bedrock)
- quickshop.find - Required to use /qs find <item>
Admin Nodes
- quickshop.unlimited - Required to use /quickshop unlimited
- quickshop.setowner - Allows use of /qs setowner
- quickshop.other.destroy - Allow breaking other peoples QuickShops if they're locked by this plugin
- quickshop.other.open - Allow opening (And stealing/Stocking) other players QuickShops
- quickshop.other.price - Allow changing price of other people's shops
- quickshop.refill - Ability to refill chests using a command (=Unlimited items)
- quickshop.empty - Ability to empty chests of all items
- quickshop.clean - Permission to purge any shops that have 0 stock.
Source: Source on Github
Checkout the config over here.
Have Towny?
Try out this plugin http://dev.bukkit.org/server-mods/quickshop-towny-interop/ to stop players creating shops outside of Towny shop plots!
Calculating Economy Prices
Vagrant326 has created an Excel spreadsheet that allows you to calculate prices for a market, if you're looking to set one up! It takes a few minutes to setup the basic material prices, and once done, will tell you the appropriate value for almost any material! http://www.planetminecraft.com/blog/how-to-create-stable-prices-system-on-your-server/
Hi, I'm an 19 year old University student studying Software Engineering. I spend my time writing code that I receive practically no reward for other than people asking questions I've answered a hundred times before. I know server Admin's and Owners aren't the richest of people - But if you're feeling particularly generous, I always appreciate any amount for the time and patience I put into coding Bukkit plugins.
I want translator this plugin, so what can I do? Also, can you add LWC support? That will be good.
@netherfoam
Smart idea! It's a very small problem but it does happen occasionally so was just wondering :D thanks for your help!
@netherfoam
I was not saying about deleting the shops, I was just saying once the permission is removed their shops wont work as people wont be able to buy from their shops, but if the permission is added back then people can buy again. Also your idea to purge shops from a certain player is not bad, that may come in handy in case the person dont want to make the shop work ever again.
@imaapseudonym
From what I know, you can give players per-world permissions using most permission systems (E.g. Only give people quickshop.create.* in one world) or use worldguard flags (I think its some addon? maybe a config setting?) to give players quickshop.create.* in only some specific regions.
If you're worried about people locking their stuff with quickshop: Stop them locking shops by changing it in the config under shops.lock to false. That way, anyone can *open* the shop, unless another plugin (Eg worldguard) stops them.
I have a grief server so one question. Is there anyway to prevent this being used in the world and restrict it to a specific region somehow? Just a question either way slowly transitioning to implement this plugin as it's awesome :D
@BlandStingRay37
You need vault.
My Bukkit does not load QuickShop, Please Help.
@crohakon
Reload command added. I must say I'm terrified you're running a server without something to load/disable plugins at will though.
@Luzitano
Thanks!
@borncorp
I may add a command to remove all of a certain person's shops. However, I will not require the permission to be persistant. That's inefficient to constantly check and would annoy a lot of people (E.g. Admin demotes himself for some testing, repromotes himself, and suddenly all of his shops are deleted!)
Your plugin is almost perfect. Please add more permissions so only some players can make shops and once the permission is removed the shops cant work. Please :D
I run this plugin for some time on my server. I must say - Best and fastest Shop Plugin ever :) Ty for this - dont let it die ;)
@netherfoam Whether or not you add an in game reload command for config files I still thing you did a hell of a job with this plugin. That said, adding another plugin to my server just to reload a plugin to reload a config file so I don't have to do a server restart is not going to happen. However, once the plugin is setup right there is no real need to restart.. it is just the configuration stage that is annoying for players. Keep up the good work!
@Zombiemold
Yeah, that'd be a pain. I cant fix it for a few days though til I get home.
@sejemus
I won't be changing the permissions to that format, 1. Players just need 3 nodes (quickshop.create.*, quickshop.use, quickshop.find) and admins need quickshop.*. 2. It would annoy current servers with quickshop to change the permissions over. 3. I have a personal vendetta against plugins that do that.
@crohakon
I believe I fixed this for 2.7, its because you have a shop in a world that is no longer loaded :)
@SonarBeserk
You can safely reload this plugin by disabling and enabling it with a plugin such as plugman. This reloads the config. I will add a reload conmand though I guess.
I second reload config from in game.
might you add a command to reload config in-game?
13:33:26 [WARNING] [QuickShop] Task #25 for QuickShop v2.6 generated an exception java.lang.NullPointerException at org.maxgamer.QuickShop.Watcher.ItemWatcher.run(ItemWatcher.java:37) at org.bukkit.craftbukkit.scheduler.CraftTask.run(CraftTask.java:53) at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345) at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:529) at net.minecraft.server.DedicatedServer.r(DedicatedServer.java:222) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:493) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:426) at net.minecraft.server.ThreadServerApplication.run(SourceFile:856)
My console gets spammed with this. Everything seems to work though.
I have a suggestion.
Could you maybe change the perm nodes to be quickshop.player.somepermhere and quickshop.admin.adminperm. That would allow us to only use 2 perms instead of 8. Just to make it easier if you have a ton of perm nodes. :)
Here is a screenshot of what shops are doing on our server atm :P
http://imgur.com/IrJzR
They work, but look ugleh :X
@Zombiemold
Oh, I see...
Thanks. Bukkit :@
Apparently there have been some changes to Bukkit that are causing problems with Shop creation. I found something on it here: https://github.com/Bukkit/CraftBukkit/commit/54ef53e958a0ca4692a4fa6db1f87ec400013409
I'm no coder, but from what I understand, this change is causing new shops to have bad sign rotation when created. I'll post a screenshot shortly.
@mig4ng
This plugin actually throws a fake PlayerInteractEvent (A dummy chest-open event) whenever creating a shop. So if a player can open the chest, they can create the shop, nomatter what protection plugin(s) you run.
@DesertDwarf
You'll have trouble remembering which shops are buy and sell in the database (You'll need another column or to edit an existing one), and changing how a player buys/sells (eg you'd have to do like B 50 or S20 in chat instead of just a number)
But if you get it working, good on you.