GiantShop
V2.0
GiantShop 2.0 continues where SimpleShop left off! It is great, fast and most importantly: easy to use! GiantShop is a global shop, wich uses a commands based system to sell and buy items.
Features
- Global shop
- Item gifting
- SuperPerms!
DataTypeMaterialData supported including names! Now you can add all your wool colours to your shop!
- Add items from the console!
- Item stock levels, so you can now have items run out of stock!
- Inflation/Deflation of the total cost based on the current item stock!
- Add discounts for that special user/group!
Dependencies
Library
- GiantShop 2.0 now depends GiantCore!
Economy engine
- GiantShop 2.0 currently has a soft hard depend on any of the following economy engines:
- AEco
- CraftConomy
- CurrenyCore
- Essentials Economy
- McMoney
- MineConomy
- MultiCurrency
- BOSEConomy 6 or 7
- iConomy (4, 5 or 6)
- AEco
Permissions engine
- GiantShop 2.0 has a soft depend for a permissions engine. Currently you can choose between any of the below:
- None: OP has all perms.
- Any sperm plugin (Bukkit SuperPerms)
- Permissions EX
- GroupManager
- bPermissions
- zPermissions
- None: OP has all perms.
Documentation
- Commands
- GSL Commands
- Permissions
- Configuration
- More soon to follow!
Change log
- (17/5/2013) V2.0 0.9.1.BETA-94 (Cacti Powered)
- Fixed minor bug in update check.
- (16/5/2013) V2.0 0.9.BETA-92 (Cacti Powered)
- GiantShop now depends GiantCore!
- Implement better way of updating configuration file. Now no longer resets entire file.
- Help list should now be easier to customize.
- Update items.yml to minecraft 1.5.
- Implement totally new GSW API, allows for remote shopping!
- Implement search command.
- Fix bug that caused items to show as for sale/purchase even though disabled.
- Fix action logging to now be actually valid JSON.
- Update GSL API to be more useful.
- Enable APIs to be disabled individually.
- Centralize price calculations for inflation/deflation. (Reduces code duplication).
- Fix bug causing very incorrect deflation and inflation results.
- Fix bug allowing empty shops to be created
- Implement better versioning system.
- (27/9/2012) V2.0 0.8.5.BETA (Forniphilia)
- Fixed bug that caused loading the itemstock API to throw an NFE.
- (28/8/2012) V2.0 0.8.4.BETA (Forniphilia)
- Fixed the bugs with SQLite for good this time.
- Fixed importing and exporting of both shops and discounts to actually work again!
- Fixed item types always being "null" when exporting.
- Implement support for h2 databases.
- Please note that if you downloaded my earlier released dev build, you will need to redownload this jar as the dev build did not turn out as final!
- Fixed the bugs with SQLite for good this time.
- (24/8/2012) V2.0 0.8.3.BETA (Forniphilia)
- Fixed a bug that caused SQLite to not work too good.
- Made GiantShop more 1.3 compatible out of the box!
- Update mineconomy library to a newer version.
- Modify default world names in conf.yml to be more representative to actual world names.
- Still contains bug that causes SQLite to not work as expected with GiantShopLocation, please use MySQL as a temporary work around, or wait for 0.8.4.BETA!
- Fixed a bug that caused SQLite to not work too good.
- (12/7/2012) V2.0 0.8.2.BETA (Forniphilia)
- Fixed a bug that caused a failure in database creation.
- (1/7/2012) V2.0 0.8.1.BETA (Forniphilia)
- Fixed a bug that caused tools and armor to be able to infinitely sell.
- Fixed a bug that caused the shop to take the wrong tool when attempting to sell a tool with GiantShop.global.AcceptBrokenTools set to true
- Removed a little debug information from the add command.
- Add missing GiantShop.global.AcceptBrokenTools node in conf.yml.
- Fixed a bug that caused tools and armor to be able to infinitely sell.
- (30/6/2012) V2.0 0.8.BETA (Forniphilia) - Contains critical bug, please download 0.8.1.BETA instead!
- Fixed a bug that caused private sell and buy messages to be broadcasted.
- Fixed a bug that caused the sell command to not show correct new balance.
- Fixed a bug which could cause the check command to throw a NullPointerException.
- Fixed a bug that cause a debug message to be visible even if debug was disabled.
- Changed internal colour replacer to use ChatColor as opposed to §.
- Fixed a bug that under certain circumstances caused the MySQL driver to throw a NullPointerException.
- Improve the new version warning that is build into GiantShop
- Add setting to disable broadcasting new version message to operators.
- Implement an API for GSL.
- Update to a more recent version of my database driver system.
- Implement Metrics into GiantShop.
- Update to a more recent version of my permissions system, this adds support for a few more permission engines.
- Fixed a bug that caused the GSL help page to show an extra /.
- Moved GiantShop.global.opHasPerms to a more appropriate position under GiantShop.premissions.opHasPerms.
- Disable the default granting of certain permissions to anyone when using Bukkit Super Perms.
- Disable the default granting of certain permissions to operators when using Bukkit Super Perms.
- Modified no group warning message when not using permissions to only show at launch.
- Implement discounts into GiantShop.
- Implement command to reload GiantShop configuration.
- Implement a few more message templates to msgTemplate.yml.
- Add support for bPermissions
- Add support for zPermissions
- Add support for GroupManager
- Numerous minor bug fixes and code modifications.
- Renamed the jar so it no longer holds "2.0" in the name.
- Fixed a bug that caused private sell and buy messages to be broadcasted.
- While this release is a beta, I feel after some quite thorough testing, it is stable enough to wear the tag "Release". Do however not hesitate to tell me of any bugs you find! :)
- (3/6/2012) V2.0 0.7.2.BETA (Dental Dam)
- Fixed a bug that caused weird Â's to be shown all over GiantShop's messages
- (15/5/2012) V2.0 0.7.1.BETA (Dental Dam)
- Fixed a bug that caused use of commands to throw an Illegal Access exception
- Fixed bug that caused an NPE to be throw if no arguments were passed to the check command
- Fixed a bug that caused use of commands to throw an Illegal Access exception
- (15/5/2012) V2.0 0.7.BETA (Dental Dam)
- Fixed a bug that caused GiantShop to not be able to use some economy engines.
- Added Items to the item stock API, it is now possible to get access to GiantShop's item name/id handler!
- Implement an automated version checker. Note: this does NOT automatically update!
- Multiple changes to the item stock API to make it more user friendly.
- Fix bug that caused the MySQL connection to time timeout and not be remade.
- Include ability to log transactions users make. Note: Format might be humanly unreadable, but is required in current way for inclusion in top secret project!
- Fixed a bug that caused the item update command to throw NPEs if user tried saving after saving.
- Implemented an API for GiantShopLocation
- The check command should now respect inflation and deflation properly
- The list command should now respect inflation and deflation properly
- Fixed a bug that caused splash potions to not be sold as such
- Fixed a bug that made it possible to sell splash potions without removing them from the players inventory.
- Moved the broadcasted messages on sell, buy and gift to the msgTemplate.yml.
- Moved the message telling the player his new balance to the msgTemplate.yml.
- Moved the broadcasting settings to a new location in conf.yml.
- Gave gift it's own setting to enable or disable the broadcasted message.
- Added a section to the conf.yml for the transaction logger.
- Implemented a way to hide items with an empty stock from the list command.
- Numerous other small bug fixes.
- Fixed a bug that caused GiantShop to not be able to use some economy engines.
- While this release is a beta, I feel after some quite thorough testing, it is stable enough to wear the tag "Release". Do however not hesitate to tell me of any bugs you find! :)
Handy stuff
- BetterShop to GiantShop converter
- Latest dev build * **
* Use at your own risk! Stability is not guaranteed!
** It might be wise to disable the "GiantShopWeb" API if you run 0.9.DEV as it is not finished!
Like my work? Please donate!
how do i set my economy to bose econ 7? no matter what i try it doesnt work unless its set to iconomy6
error i get when i try to use the buy command :
2012-04-27 02:34:28 [SEVERE] null
org.bukkit.command.CommandException: Unhandled exception executing command 'shop' in plugin GiantShop v0.6.DEV
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42)
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:166)
at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:473)
at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:821)
at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:781)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:764)
at net.minecraft.serverhook.NetServerHandlerProxy.a(NetServerHandlerProxy.java:141)
at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:34)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113)
at net.minecraft.serverhook.NetServerHandlerProxy.a(NetServerHandlerProxy.java:83)
at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:551)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:449)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
Caused by: java.lang.NullPointerException
at nl.giantit.minecraft.GiantShop.core.Commands.buy.buy(buy.java:120)
at nl.giantit.minecraft.GiantShop.Executors.chat.exec(chat.java:58)
at nl.giantit.minecraft.GiantShop.GiantShop.onCommand(GiantShop.java:129)
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
... 14 more
2012-04-27 02:34:53 [SEVERE] null
org.bukkit.command.CommandException: Unhandled exception executing command 'shop' in plugin GiantShop v0.6.DEV
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42)
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:166)
at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:473)
at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:821)
at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:781)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:764)
at net.minecraft.serverhook.NetServerHandlerProxy.a(NetServerHandlerProxy.java:141)
at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:34)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113)
at net.minecraft.serverhook.NetServerHandlerProxy.a(NetServerHandlerProxy.java:83)
at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:551)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:449)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
Caused by: java.lang.NullPointerException
at nl.giantit.minecraft.GiantShop.core.Commands.buy.buy(buy.java:120)
at nl.giantit.minecraft.GiantShop.Executors.chat.exec(chat.java:58)
at nl.giantit.minecraft.GiantShop.GiantShop.onCommand(GiantShop.java:129)
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
@Entow
You might want to check out msgTemplate.yml, A lot of the options you want should be in there :)
I used to use "Better Shop" but this seems to update a LOT more often and seems to have better support. I just have one request. Would it be possible either in the configuration or otherwise to clean up the display for the "/shop list" command? If your wondering what I mean, try out the "Better Shop" plugin. I just want the item name, Buy/Sell price, and stock.
I don't really want ID, Type, or amount. Also, changing the colors for display (ie. light green for buy price, red for sell price, or any combination) would be nice as well. Mainly I just hope for the option to remove some info to try and keep items to one line per listing.
These are all just suggestions, but would make me really happy, I hope to see them!
HA, nevermind, I have been poking around and it seems I have found the SOLUTION!
@xXSshadowXx
Erase your msgTemplate.yml or back it up, GiantShop should then extract new one, I don't really push version on that untill I know it's final.
Wasn't sure this deserved a ticket. Using the dev when a person tries to sell an item thats maxed this error pops up.
22:33:54 [SEVERE] [GiantShop] Template for stockExeedsMaxStock does not exist!
/loc fix for dev is working great tho :)
@Thidox
Ok will do. I have an issue with using any /loc commands and will post it when I get home from work. I would now however I do not have the error handy.
@xXSshadowXx
File a ticket here :)
Hey, if we find an issue in your dev build would you like us to report it? If so here or on GitHub?
Thanks Meiamone! This new worksheet is spectacular, and saves me the trouble of trying to learn how to write working macro code :p
Thidox determined the main reason import wasn't working:
There were some additional issues that were resolved after making additions to the items.yml file to cover a couple of items sub-types we were missing. I've added those and uploaded them to the dropbox folder (which you can get the link for by clicking the 'get link' button near the search box :)).
For anyone who wants to use this, go here: https://www.dropbox.com/sh/sq3e8kpg3xkl81d/oaVyAx7_oT and download the Pricing_1.5.2.xlsm file and (optionally) the items.yml file.
To use the pricing sheet: Modify any prices (column E) or whether or not to include the item (column F) as desired, then make sure you have an items.csv file open and run the MC_GIANTSHOP_data macro. You'll end up with the importable content in items.csv, so just save that file, drop it into the csvs folder in your GiantShop directory, and use the import command to populate your shop with your new items and prices!
Please note, the items.csv will not import for some reason. Nomad7 or Thidox maybe you can look and see if you can identify why?
@Nomad7
I reworked the pricing workbook and vba coding and I have posted it in the dropbox you sent to me. If you could post a link to it for those interested...as I do not yet know where to find the link to do it.
Please reimplement /shop truncate
@Nomad7
The import/export feature is next thing I will implement! :) And I am also considering a way to import the old database from GiantShop 1.0. For the workbook, I can see if meiamone still has it somewhere, and will also check my local archives. When I have it back, I will add it to the Handy Stuff section! :)
Ok, my archives DID turn up something nice! :D
I manage to wrangle my way through a manual import of my old price listings without too much trouble, but I'm definitely looking forward to the implementation of proper importing/exporting!
On a related note, meiamone had posted an awesome Excel workbook that I used regularly last year to set up proper prices for crafted items based on the prices of their components. It was a huge timesaver and prevented countless headaches, but it seems to have disappeared. Does anyone still have a copy of that workbook and wouldn't mind sharing it with me? In exchange I might be willing to update it with all the new items that've been added since then :p
(Incidentally, I think the workbook is exactly the kind of Handy Thing that could go in the Handy Stuff section above ;))
Thanks again for creating and maintaining the best shop plugin I've ever run on my server, Thidox, you're awesome!
It is thanks!
@XboxAddict
It should be fixed in 0.1.2.ALPHA
@Thidox Ticket Sent
@XboxAddict
Vault should not conflict with Eco (the name for my internal engine). So do not worry about that.
Also to make a ticket:
- goto: http://dev.bukkit.org/server-mods/giantshop/tickets/
- in the top right of the page there is a button "Post a Ticket"
- Type in a distinctive title that shortly describes your issue
- Pick a type of issue
- And pretty much follow the rest, should be clear enough :)
@Thidox
Well I need vault to have the "Jobs" plugin. Do you know any similar plugins like that? And yess ill try ive never done that before.
@XboxAddict
This does not work with Vault. I build my own engine based of Vault. Which is FAAAR less bloated for what I need. Could you file a ticket with the conf.yml you are currently using and a short description + as much info as you can find to help me replicate?