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.
-
View User Profile
-
Send Message
Posted Jan 2, 2013Hello. I love this plugin but theres a little bugg. The sign usually located on the chest is now out next to it, so it flies?
PS. Would had put a picture but it says I can not
-
View User Profile
-
Send Message
Posted Jan 2, 2013@xGh0sTkiLLeRx
Mmhmm,
-
View User Profile
-
Send Message
Posted Jan 2, 2013Great plugin :)
3 little things:
If you don't have enough time, I could make a PR if wanted ;)
-
View User Profile
-
Send Message
Posted Jan 2, 2013@rwmtiger
That is a totally freaking useless bug report.
Bukkit build?
QuickShop build?
Vault build?
Economy plugin and build?
Error log? Stacktrace? Config?
-
View User Profile
-
Send Message
Posted Jan 2, 2013@Iversen123
What version of QS and Bukkit are you using?
-
View User Profile
-
Send Message
Posted Jan 2, 2013@Redblade351
Okay, so I've messaged you the link to the version where I think I've fixed it. Could you try that please and see if it works? :)
-
View User Profile
-
Send Message
Posted Jan 2, 2013@Redblade351
Found something that might be causing it, I just tried porting over to MySQL and I can put the data into the database but it is always corrupt pulling it out. No errors are thrown putting it in, only errors thrown when loading it.
I'm looking into a fix for now :/
-
View User Profile
-
Send Message
Posted Jan 1, 2013@Redblade351
Okay, try 3.3.2B:
https://dl.dropbox.com/u/72835893/Plugins/QuickShop.jar
I've at least neatened up the error handling.
Try delete shops.db, replace QuickShop.jar with this one, and then start the server. See if you can create a shop now.
EDIT: If it doesn't work, can you send me a copy of your server.log too (Or clear it first, then cause the bug, then reboot and send me the log file?)
-
View User Profile
-
Send Message
Posted Jan 1, 2013@Redblade351
The item column should be much longer than that :/ I'll make some adjustments and let you try them. Give me a few mins.
-
View User Profile
-
Send Message
Posted Jan 1, 2013@netherfoam
Yes it does. Each time I ran a test QuickShop generated a new config and db while the server was starting. Then I joined the server and sold 1 chest for 1 gold and logged out. Next I stopped the server and restarted the server. These errors were generated on the second start. It seems that the item Id is not making it into the database.
Thanks again
EDIT: This is what is getting saved:
-
View User Profile
-
Send Message
Posted Jan 1, 2013@Redblade351
The symbols are expected, it is a string representation of a compressed NBT item. (hence GZIP in your stacktrace)... Its like opening a zip archive with notepad.
It seems like one of the shops is corrupted though, which is strange if you deleted shops.db.
If you delete shops.db, then start the server, create a shop, reboot the server. Does it pop up with the stacktrace error again or not?
-
View User Profile
-
Send Message
Posted Jan 1, 2013I built a test server with Bukkit1.4.6R1 QuickShop, Bose, and Vault. On my computer running windows7 and java7u10 Quick shop works fine with both version 3.2B and the version you provided in your comments. I updated java on my CentOS server to java7u10. On version 3.2B I get the following error: http:mcdefiance.com/FirstError.txt I had to upload it because there are text symbols that could not be copy and pasted.
On the version you provided in the comments I get the following error:
2013-01-01 22:52:01 [SEVERE] Error occurred while enabling QuickShop v3.3B (Is it up to date?) java.io.EOFException at java.util.zip.GZIPInputStream.readUByte(Unknown Source) at java.util.zip.GZIPInputStream.readHeader(Unknown Source) at java.util.zip.GZIPInputStream.<init>(Unknown Source) at java.util.zip.GZIPInputStream.<init>(Unknown Source) at net.minecraft.server.v1_4_6.NBTCompressedStreamTools.a(SourceFile:27) at org.maxgamer.QuickShop.Util.getItemStack(Util.java:224) at org.maxgamer.QuickShop.QuickShop.onEnable(QuickShop.java:154) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.v1_4_6.CraftServer.loadPlugin(CraftServer.java:278) at org.bukkit.craftbukkit.v1_4_6.CraftServer.enablePlugins(CraftServer.java:260) at net.minecraft.server.v1_4_6.MinecraftServer.j(MinecraftServer.java:321) at net.minecraft.server.v1_4_6.MinecraftServer.e(MinecraftServer.java:300) at net.minecraft.server.v1_4_6.MinecraftServer.a(MinecraftServer.java:259) at net.minecraft.server.v1_4_6.DedicatedServer.init(DedicatedServer.java:149) at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:399) at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849)
I deleted the QuickShop directory before each test for a fresh config and db. After examining the db it seems that QS is having trouble getting the Item ID and storing it. Every other field is correctly stored in the db. We are out of ideas :/ Its very strange that the plugin runs differently on my computer then it does on the server.
Thanks again!
-
View User Profile
-
Send Message
Posted Jan 1, 2013@Redblade351
Try delete shops.db on the server
-
View User Profile
-
Send Message
Posted Jan 1, 2013@netherfoam I copied the same files and plugins that worked on my test server to my server and got the following error. The only difference is Win7/Centos6 and Java7 Update10 / Java7 Update9 http:pastebin.com/uYAZssHX
-
View User Profile
-
Send Message
Posted Jan 1, 2013@Redblade351
I think it works on your server because:
You have a different map, when QS loads it deletes shops that aren't located on a chest block. This means the corrupt shop is being deleted before it is loaded
-
View User Profile
-
Send Message
Posted Jan 1, 2013@Redblade351
Well, you could try rename shops.db and see if that fixes it, i need to add a safety for corrupt shops. I dont know when ill be able to write a fix though
-
View User Profile
-
Send Message
Posted Jan 1, 2013@netherfoam
There were not any errors while creating a shop with 3.3B however the shops did not reappear after the restart and the shop.db contains strange symbols in the items field. This is the error from the restart http:pastebin.com/KY8BjTZP
Here is a link to my QuickShop files http:mcdefiance.com/QuickShop.zip. I sold one sandstone for 1 gold and then make the shop unlimited with /qs unlimited.
I'm currently on RB 1.4.6R4 Ill see if I have the same issue on 1.4.6R1 and post back in a few min.
Thanks again
EDIT: It works on my computer with 1.4.6R1 and all of the same plugins as my server... Weird. I'm going to update java and post back in a few min.
-
View User Profile
-
Send Message
Posted Jan 1, 2013@Redblade351
Try use the version i posted in the comments, its a dropbox version for 3.3B. It should fix your issue
-
View User Profile
-
Send Message
Posted Jan 1, 2013@netherfoam
I use Multicraft - I don't know what they have - its just a control panel I see.
-
View User Profile
-
Send Message
Posted Jan 1, 2013@netherfoam I get this error:
2012-12-30 14:16:47 [SEVERE] java.sql.BatchUpdateException batch entry 0: [SQLITE_ERROR] SQL error or missing database (unrecognized token: "'‹") 2012-12-30 14:16:47 [SEVERE] at org.sqlite.Stmt.executeBatch(Stmt.java:226) 2012-12-30 14:16:47 [SEVERE] at org.maxgamer.QuickShop.Database.DatabaseWatcher.run(DatabaseWatcher.java:44) 2012-12-30 14:16:47 [SEVERE] at org.bukkit.craftbukkit.v1_4_6.scheduler.CraftTask.run(CraftTask.java:53) 2012-12-30 14:16:47 [SEVERE] at org.bukkit.craftbukkit.v1_4_6.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345) 2012-12-30 14:16:47 [SEVERE] at net.minecraft.server.v1_4_6.MinecraftServer.r(MinecraftServer.java:530) 2012-12-30 14:16:47 [SEVERE] at net.minecraft.server.v1_4_6.DedicatedServer.r(DedicatedServer.java:224) 2012-12-30 14:16:47 [SEVERE] at net.minecraft.server.v1_4_6.MinecraftServer.q(MinecraftServer.java:494) 2012-12-30 14:16:47 [SEVERE] at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:427) 2012-12-30 14:16:47 [SEVERE] at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849) 2012-12-30 14:16:47 [SEVERE] [QuickShop] Could not update database! 2012-12-30 14:16:47 [SEVERE] [QuickShop] It was one of the following queries: [INSERT INTO shops VALUES ('Redblade351', '1.0', '‹
@Littelteddy posted a similar error in the ticket section. I'm on: java version "1.7.0_09-icedtea" OpenJDK Runtime Environment (rhel-2.3.3.el6_3.1-x86_64) OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode) And CentOS6
Thanks again, -Red