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 Feb 6, 2013@netherfoam
Hey
I think you miss out on how forgemod works, the server uses ForgeMod.jar to run on. The plugins folder is a folder that sits inside the map where ForgeMod.jar runs. The only bukkit in this, is BukkitForge.jar, that runs in the map coremods. This jar file allows bukkit plugins to work with Forge.
-
View User Profile
-
Send Message
Posted Feb 5, 2013@zodanemir
That jar is a generic minecraftserver.jar? There's no Bukkit in either the mod or the server here... AKA not even a plugins folder?
-
View User Profile
-
Send Message
Posted Feb 5, 2013@xclucky
Yes, yes and yes :)
When creating a shop: The player must be able to open the chest.
When using the shop: The player doesn't have to be able to open the chest.
It supports all NBT data.
@usrnam
The BLOB is the result of something similar to this: http://privatepaste.com/b7423eac2f
Basically, the above method (the first one) converts the ItemStack to a NMS stack, and then uses minecrafts internal NBT tools to compress it into a byte array. This is then saved to the database as a byte array in the Blob field.
The process can easily be undone with NMS code, as per the second method.
Fetching it using PHP would be a challenge, because I don't know of any PHP library that supports NBT conversion (Nor have I used one). But theoretically, if you decompressed the byte array in a PHP script, you could access it like tag.getString("name"); and tag.getTag("enchantments").size(); or something (The PHP equivilant, anyway).
-
View User Profile
-
Send Message
Posted Feb 5, 2013So it checks if a player can open a chest before creating a shop, but if a player doesn't have permission to open the chest, can they still purchase from the shop? Also, does this plugin support custom item names and lores?
-
View User Profile
-
Send Message
Posted Feb 5, 2013Edit: Is it possible to decode the content of the BLOB field (in 'shops' table) with PHP for example ? I would like to list my shops on a webpage.
@netherfoam
I've tried my last test (manually kill MySQL connection) with others plugins like Beardstat or McMMO and they reconnect well.
As i said i can tell you tomorow if the timeout is fixed. Otherwise, since it's not a big problem for me, i'll just wait and try any new version you'll compile.
-
View User Profile
-
Send Message
Posted Feb 5, 2013@netherfoam
My bad, here you go: http://speedy.sh/A6Y7W/minecraft-server.jar
-
View User Profile
-
Send Message
Posted Feb 5, 2013@usrnam
The mysql issue isnt related to mcpc/forge, sorry :) meant that for the other guy.
I check the connection isn't null and that it isn't 'closed', I don't check that it is valid. I've added autoReconnect=true to the driver though so hopefully that works. (The first way I did it, I possibly removed it accidentally, i'm working in the dark here)
-
View User Profile
-
Send Message
Posted Feb 5, 2013@netherfoam
I've just installed your dropbox version (3.6.8 i guess) but can't test my timeout issue for now. To do it in the same conditions i'll check after one night (my MySQL 'wait_timeout' value is set to 8 hours).
So for now i've try to manually kill the MySQL connection process then made two transactions with QuickShop. Only the second was inserted and console error is different (log). I can increase my 'wait_timeout' value but i suppose that's not the root of the problem. I'm not a java dev but did you check the connection validity before querying ?
About #694, i don't know MCPC, i'm running CraftBukkit 1.4.7-R1.0. It's too bad for me if you can't reproduce the issue and i'm the only one with this error :)
-
View User Profile
-
Send Message
Posted Feb 5, 2013@zodanemir
Uh, this doesn't look like a server jar to me...?
-
View User Profile
-
Send Message
Posted Feb 5, 2013@netherfoam
Hey,
You can find my forgemod.jar here: http://speedy.sh/Hw2WV/ForgeMod.jar
Thanks a lot for trying to get it work!
Greetz
-
View User Profile
-
Send Message
Posted Feb 4, 2013@usrnam
I just tried using http://mcportcentral.co.za/wiki/index.php?title=Ports_for_1.4.6
I have no issues with it :/
-
View User Profile
-
Send Message
Posted Feb 4, 2013@zodanemir
Can you send me a copy of your server jar?
-
View User Profile
-
Send Message
Posted Feb 4, 2013@tbonevphs83
From the FAQ:
Is the plugin compatible with Plugin X? (LWC, Lockette, etc)
@usrnam
That is strange... I added autoReconnect=true to the MySQL driver :/ Can you try this version for me and see what happens? https://dl.dropbox.com/u/72835893/Plugins/QuickShop.jar
@zodanemir
Interesting. I'll have a look.
-
View User Profile
-
Send Message
Posted Feb 4, 2013@tbonevphs83
Yes, indeed, please add griefprevention/redience support... Also, does this support item lores and custom named items?
-
View User Profile
-
Send Message
Posted Feb 4, 2013hmm i guess this don't work with Grief Protection..
-
View User Profile
-
Send Message
Posted Feb 4, 2013@netherfoam
I'm running your latest version (3.6.4) but still have an error with MySQL after a long period of inactivity on my server. So when i "wake up" the plugin only the first query failed and the follows are inserted. The log.
-
View User Profile
-
Send Message
Posted Feb 4, 2013@netherfoam
The readme of the Forgemod.jar confirms tells me this:
For reference this is version 4.7.4.520 of FML for Minecraft version 1.4.7.
-
View User Profile
-
Send Message
Posted Feb 4, 2013@zodanemir
Are you running 1.4.7 or 1.4.6...? That version should only work with 1.4.7.
-
View User Profile
-
Send Message
Posted Feb 4, 2013@netherfoam
Thanks for the quick reply, this is what i get now: http://privatepaste.com/9ff521a768 This time i did not change anything in the config. So, i'm still have the same problem unfortunatly :(
-
View User Profile
-
Send Message
Posted Feb 4, 2013@zodanemir
The first stacktrace is because you're trying to use EssentialsEco instead of Vault to hook into your economy. Just change the economy in the config to Vault and that'll fix the first issue.
The second issue is because of the idiotic changes forgemod has made, by using the old way of NMS packaging instead, while still updating the NMS code itself. Solution: get 3.6.4+ from the comments section... here https://dl.dropbox.com/u/72835893/Plugins/QuickShop.jar