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)
@Bikespot
If you have worldguard, every world has a "global" field that makes it very easy to dictate world specific command restrictions.
/rg flag _ _ global _ _ blocked-cmds /buy,/sell
EDIT: it should be [underscore][underscore][global][underscore][underscore] but it was parsed as "underline" by this website, so I added spaces.
@Bikespot
The plugin is set to give all (user) permissions by default, so simply removing the perms won't do anything. You'd need to (make sure your perms plugin supports it and) explicitly deny the permission.
For instance, in PermissionsEX you would have to add -dkabotshop.* to make sure it's denied.
@The_Bias_P11
Memory as in RAM would not be of that much issue. With viewing listings, the results are paginated; only what you see is even fetched. With buying it may be of issue over a very long term time period, but if you really can get it big enough for it to be of issue I'll make it work better... doubt it'll happen.
Just sitting doing nothing though, all you'd lose is some disk space and the DB is just alphanumeric data at worst.
Im having problems with players being able to use /buy and /sell commands in a creative world when they dont even have the perms. I even removed all dkabotshop.* perms from everyworld and you where still able to /sell and /buy.
@The_Bias_P11
1) Okay.
2) Not possible in the current system, there's no timestamps on anything whatsoever and I really don't see the point... so long as the competition is lower you won't see it?
3) Works fine, no issues have ever been said on that part.
@dkabot
Oh, I see. Thanks!
It's working fine now. It feels just like VirtualShop too :3
@Willrandship
ebean.properties just make it, it doesn't have to have anything in it
You need vault and an Econ plugin to use this plugin, sadly I can't put in a "nice" error for lacking vault. http://dev.bukkit.org/server-mods/vault/
Much joy was had in my heart upon finding this mod. Long live the open market! :P
Anyway, I'm actually experiencing an issue upon installing this mod. It crashes on initialization, stating that "ebean.properties" is not found. Should I create this file and just leave it blank? Is it supposed to be created somewhere?
Thanks for the help, and for the great mod!
William
Edit: Upon a google search, it seems that may not be the cause of the crash. I just assumed it was the problem being at the bottom of the crash explanation chain that we're all so familiar with.
05:37:06 [SEVERE] Could not load 'plugins/DkabotShop.jar' in folder 'plugins'
org.bukkit.plugin.UnknownDependencyException Vault
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:195)
at org.bukkit.craftbukkit.v1_4_R1.CraftServer.loadPlugins(CraftServer.java:239)
at org.bukkit.craftbukkit.v1_4_R1.CraftServer.<init>(CraftServer.java:217)
at net.minecraft.server.v1_4_R1.PlayerList.<init>(PlayerList.java:55)
at net.minecraft.server.v1_4_R1.DedicatedPlayerList.<init>(SourceFile:11)
at net.minecraft.server.v1_4_R1.DedicatedServer.init(DedicatedServer.java:104)
at net.minecraft.server.v1_4_R1.MinecraftServer.run(MinecraftServer.java:399)
at net.minecraft.server.v1_4_R1.ThreadServerApplication.run(SourceFile:849)
05:37:06 [SEVERE] ebean.properties not found
@AgawamIdol
Enchanted books are part of enchantments. Issue is bukkit lists them in a vastly different way than how the game sees it, and I have no easy means of adding enchantment names into the command.
Damaged tools do work, it's just an uglier naming scheme like diamondpickaxe:512 where the datavalue is the uses. Same with enchantments, can't come up with an easy way for the user to input it (though if they are carrying it "hand" works for that quite well...)
If I can get my GUI experiments to work I can implement the two there but I'm stumped on adding it to the commands.
Doesn't allow you to sell enchanted books and some other items as well as damaged items. Which would be quite lovely if you were to implement them. Other than that.. can't wait for the update to come out. :)
you sir, are a godsend. I've been looking for something like vshop for ages! Well done and thank you very much for posting this publicly! I think the only reason it isn't as popular as it should be is because it doesn't show up in the searches, as I know something like this is in fairly high demand. Maybe consider changing the name to include 'virtual' so it appears in searchs? I'd also suggest a help function to display the command if somebody types it in wrong :)
Just a couple suggestions but as I said, you're an absolute godsend :) It's in use in SoulFire server now :) Debz x
@uLeikSponges
For a shop command I'd be more inclined to put command and what it does then have it say something along the lines of "Type any command to see usage"
@dkabot
Yes, definitely do that! :) I also think it would be a good idea for a /shop command, to show all of the commands and usage. I made one with MCDocs:
@praftor
I meant to suggest that essentials has /esell and such so that you can always use ITs commands, but sadly it doesn't seem to always like allowing OTHERS to use those commands :(
@xeNiumw0w
I can tell you the messages aren't going away. Might make it show usage though.
@xeNiumw0w
Why say it like that? Surely you should suggest that as an improvement, not a complaint. But that's definitely something i would like to see soon :)
I don't really like this plugins, why?
When you type /sell or /price they just keep saying 'Not enough arguments.' or 'Too few arguments.'
I hope this plugins change it to like
Sells a items.
/sell item amount (price)
@praftor
Essentials should have an option in the config named "disabled commands" put the sell and even esell in there and that should solve your problem all together :-)