DkabotShop
Introducton
Thanks for 4890 downloads!
DkabotShop is intended to be an open-source, updated, and egotistically-named alternative to and recreation of VirtualShop, along with plenty of my own skewering.
Speaking of open-source, go check it out on GitHub!
This plugin enables servers with a command-based free market virtual shop system where anyone can sell anything (unless blacklisted) for any price (within what the administrator allows).
Iems with durability/datavalues are now supported. "Reverted" potions cannot be sold by name. Tools can be sold, but only if unenchanted and each possible instance of the damaged tool is a different item in the database. :(
It uses bukkit persistence to handle DB queries, which uses SQLite by default. If you want to future-proof it for anything in the future or just increase performance on a large server you will want to configure bukkit.yml for MySQL.
While there isn't a spout gui or web UI, it's been designed in such a fashion that (if MySQL is used as opposed to SQLite) a web UI can be made later. A Spout GUI could likely also be made, but I have no plans on doing so.
Commands & Permissions * Configuration * Migrating from 1.5 to 1.6+? * Want to Edit items.csv?
It's unpopular still, but have some stats!
ToDo:
- Keep the plugin functional (always in progress)
Unlikely but Considerable Future Plans
- A different UI. Something with inventory screens.
- Some sort of basic ChestShop implementation to shut up people who say the command system is too hard (chest stocks would be synced to the main DB, and one can buy from the chest with /buy)
I get "invalid cost amount" when I try to sell something. For example /sell 5 10 10 , this should sell 10 wood for $10 isnt ?
@kahlilnc
Yeah, it's not the best known thing. It seems a good chunk of VirtualShop users are finding it though, so I'm not complaining.
Awesome never seen this before but I always liked VirtualShop. :D
@repairstout
Not the money! Don't take the money hostage! NO!
...but on a serious note, v1.5 has been uploaded and the "p" bug is fixed (unless you know a player whose username is "p" followed by an integer), just waiting for approval.
EDIT: It has been approved.
I've got $20 on your pizza tab for when the 'p' glitch is fixed. I'm a fan of Papa Murphy's take-n-bake chicken bacon artichoke myself.
@repairstout
The bug with the ghost items is due to my means of splitting items into stacks.
It would need to either be modified to (hopefully) not give ghost items or be removed altogether, causing tools and such to stack on purchase.
Also, I can alias /stock to /find, consider it done whenever I actually get v1.5 around.
I'm getting reports that purchasing a lavabucket or waterbucket from DKAbotshop -may- give an extra [empty] bucket at time of purchase. Have not yet confirmed.
Also, an EDIT: I didn't mean to say /list. I meant to say /find.
@repairstout
Fixed: done
Released: I'm in the middle of changes that prevent a release in its current state. I don't do ETAs.
Also, you can just use bukkit.yml to alias /stock to /list. In all servers I've been on /list is a player list, so I see conflict in it.
@dkabot
I'm not fluent in dev-talk, so I guess my question is ... what's the ETA for the "p" bug being fixed and released?
I also think it would wise to enable /list as an alias for /stock, as most of the people who are using your plugin are using it to replace VirtualShop and their users are already confused enough by the change from /sell quantity item price -> /sell item quantity price.
@repairstout
Oh yeah, I forgot to fix that bug. I'll work on that and merging items.csv usage for version 1.5.
EDIT: The "p" bug is fixed in my Eclipse instance, but I've already started preparing the code for datavalues, so it can't be released in its current form.
/stock and /list do not work for any user with a 'p' in their name...
returns internal error.
@repairstout
I figured that since /find and /stock were quite similar in function I'd integrate them into one command, /stock.
/stock accepts any or none of the player, item, and page arguments. Be sure to note that page is prefixed with "p", otherwise it should work just fine.
for some reason I can't get this to recognize anything, via ID or name. I'm sure it's my fault but would love to know how to get it rolling.
[update] It was conflicting with an old VirtualShop.jar. Got it working.
However, this is missing the /find command which VirtualShop had and I feel was very important. Add it in and I'd gladly contribute to your pizza fund.
@xeNiums
Enchantments will be added eventually, but I need to think of a good way rather than "oh look, this has an enchantment..." after you bought it.
Same with damages, so I probably won't implement that.
I've installed this but it recognizes absolutely nothing. Had the same issue with Virtualshop. /sell 1 dirt 1 "What is dirt?" /sell 1 57 1 "What is 57?" etc...
Tools can be sold, but only if unused and unenchanted. WTF? Add it soon, don't use spouts for now just make the features more many.
@Brispere
If you're using v1.4, it's a known bug.
If you're using v1.4u1, it's changed and the commands/permissions page reflects it: /stock and /sales now accept parameters in any order, but the page number must be prefixed by a (lowercase) p.
Example being p4 for page 4
Why cant i see the second page of the /stock, it says nobody is selling any GRASS, i am a server owner so i know it isnt a lack of permissions
@Sadragos
Turns out somehow I messed up the new logic for item removal., so that's being re-redone.
I also forgot to push 1.3 to github, but I don't keep code snapshots...
I should have it on my local git repo though, so I'll push it when I get back to my computer.
Ah I see - I was able to duplicate damages Diamond Pickaxes thou. I juste had to sell it and take it from Store again.
By the Way, is the Code on GIT up to date? I'd really love to add some custom features (and to eventually share them, if anyone interested in them). Id'like to add Datavalues for example or offlinemessages like " You sold [list of sold items] while you was away" Another Idea by some users the ability not only to sell but also to add requests - which would most likley be kind of hard to add I think.
I've already written a small Wiki-Extension, which uses your plugins database for a Webfrontend, which you can fnd here: http://bainons-world.de/minecraft/wiki/index.php/Spezial:Market - Its in german but you'll get the Idea ;) I could share that (Or the "important" Code) too, if anyone is interested.
Anyway, my users really LOVE your plugin as replacement for dynamiceconomy (which is great too, but not quite as good as yours) and I'd like to they thanks!