[ECON] ChestShop 3.7.18 (iConomyChestShop) - Chest&sign shop for economy plugins [1.8]

Discussion in 'Archived: Plugin Releases' started by Acrobot, Feb 12, 2011.

  1. Offline

    Acrobot

    An easy way to create shops - no protection plugin needed!
    You don't need to be on-line to earn money anymore!
    [​IMG]
    I've put a LOT of effort into making this plugin,
    you can donate if you appreciate my effort =)

    Requirements:
    - An economy plugin supported by Register or Vault, for example iConomy, BOSEconomy or Essentials Eco.
    Optional:
    - For additional economy plugin support - Vault
    - For Permissions: bPermissions, PEX, or any other permission plugin
    - For additional protection: LWC, Lockette, Deadbolt
    - For other item names (aliases): OddItem


    Setup:
    Copy the .jar file from the .zip you downloaded into /plugins folder.
    You can also copy the example files if you want to generate statistics page.

    Translations:
    You can change the plugin's language, here's a list of all user-made translations.
    If you want to update or submit a translation, feel free to PM me.
    Translations (open)

    Arabic - Attarhsase2
    Bulgarian - Muff1Ncho
    Czech - LordPgsa
    Chinese (Simplified) - tab415263
    Danish - Cannafix
    Dutch - speedlegs
    French- DragonSlayer875
    German - RasCas
    Hungarian - Anachen
    Indonesian - Yahya98
    Italian - Massimo1993
    Korean - Zwing87
    Norwegian - _AlexN_ and TheUnkownGamer
    Polish - Holls1
    Portugese (Brasil) - FelipeMarques14
    Russian - VADemon from http://minemania.ru/
    Slovak - LordPgsa
    Slovenian - jEErc
    Spanish - thxaaaa
    Swedish - Maxell
    Turkish - Developer
    Traditional Chinese - hellboyincs
    Vietnamese - etrubi1 from http://minevn.com/


    Permissions:
    How to create a ChestShop?
    - Place a chest, if you haven't already.
    - Place a sign 1 block near the chest (for example, above the chest)
    - On the sign, write:

    [​IMG]
    (Item name can actually be item ID or alias)
    First line will be filled in by the plugin automatically.
    Price is a combination of buy and sell price.
    You have to have B near buy price (people buy from you), and S near sell price (people sell to you).
    If you have both B and S, separate them with a colon - :
    For example:
    [​IMG]

    means that AcrobotPL wants to sell 64 diamonds for 10 currency, and buy them back from you for 5 currency.
    Also, if you put "free" instead of price, it is free to buy or sell :)

    - Now, when you finish editing the sign, if LWC is turned on in config, shop will be automatically created.
    Also, if your default protection is turned on in the config, people won't be able to break chest, sign or the block the sign is on.

    What is an Admin Shop?
    Admin shop is the shop that doesn't require a chest, because it has infinite stock.
    If you sell to it, the items will disappear, and if you buy from it, items will magically appear.
    To create one, you have to be Admin/OP. Just put "Admin Shop" (or anything specified in config file) on the first line of the sign.

    Restricting shops to some groups or regions
    You can either use permissions, or you can just put a sign ABOVE shop sign (you need to be in that group to create the sign) to restrict it to players with ChestShop.group.groupName permission
    The syntax is:
    [restricted]
    firstGroupName
    2ndGroupName
    3rdGroupName
    Only those groups will be able to use that shop

    To restrict a shop to some regions:
    - If you're using Towny, turn TOWNY_INTEGRATION on. Residents will be able to create shops in economy plots (either their or, if specified in config, any)
    - If you're using WorldGuard, you can use an experimental "chestshop" flag. Turn WORLDGUARD_INTEGRATION on and flag a region. (f.e. /region flag ChestShopRegion chestshop allow)

    Do you want to limit the maximum prices for items?
    Well, there's an app.... wait, not that : P
    You can use an experimental feature in ChestShop.
    In your config.yml, add lines like:
    max-buy-price-5: 14
    max-sell-price-5: 15

    That means that the maximum price for items BOUGHT by PLAYER is 14, and items SOLD by PLAYER using the shop is 15.

    You can also use a global setting, like this:
    max-sell-price: 200

    That means that the maximum price for items SOLD to PLAYER is 200 (if there is, for example, a max-sell-price-5 found, it will be used instead of the global sell price)

    USING SHOPS
    You could buy and sell by right and left clicking the sign for a long time.
    Now it's the only way to use the shops.
    It's SIMPLE!
    Just LEFT-CLICK to SELL to shop, and
    RIGHT-CLICK to BUY from shop.
    (This can be changed in the config file)

    DESTROYING SHOPS
    If you want to delete your old shop, simply SNEAK and destroy the sign.
    It's that easy =)

    STOCKING THE SHOPS
    You can either open the chest and stock it up, or click on your own sign - it will open chest's inventory (that way you can have chests not openable by other people for sure :D)

    ItemInfo command
    It's a simple command that shows item information.
    If you use it without any arguments, it shows you information about the item you're holding.
    If you specify item id or item name after the command, it will show you information about that item.

    Source code
    ChestShop is Open-Source =)
    You can find its code on https://github.com/Acrobot/ChestShop-3


    Thanks to:
    - kali876, ziomekYOYO and Herocraft server for testing the plugin and finding every little bug =)
    - Everyone who uses this plugin - really big thanks for this, I never thought it will be so popular
    - Everyone who provided translation - many people's lives will be easier now
    - @Nijikokun for Register
    - @LennardF1989 for awesome Persistence Reimplemented
    - @Temaska for fixing the plugin while I was on holidays
    - @VADemon for providing a great support for other users
    - @Euthyphro for his patience and really good bug spotting
    - vagrant326 for making a great price sheet
    - Epics for his great help
    :)
    If something's not working
    You can't change the sign color - that breaks the formatting.
    If that's not the issue, please give me this information, so I can help you faster.
    - CraftBukkit version (type /version in chat)
    - ChestShop version (type /csversion in chat)
    - Your economy plugin (iConomy? BOSEconomy? other one?)
    - Have you got any Permission plugin? Which one?

    [​IMG]
    Changelog (open)

    Changelog can be found on BukkitDev - http://dev.bukkit.org/server-mods/chestshop/files/
     
  2. Offline

    Fredrikocrafter

    @Acrobot Is there no other way of getting money?
     
  3. Offline

    Acrobot

    @Fredrikocrafter
    You can set up interest rate, so people get money every X minutes.
     
  4. Offline

    Donny

    Using chestshop3.0 beta 4. I have a diamond shop that I placed dirt in all other spots of it and put a stack of diamonds in. I sell diamonds for 1300$ and buy for 700$ so there is no way ill loses money. Recently I have been noticing I'm losing lots of money. I checked the chest next to mine it it had diamonds in it. It was an unoccupied chest directly vertical left to my chest (top corner of my chest is touching the bottom corner of this chest). The chest shop is some how placing diamonds in this non attached chest.
    I have attempted to self replicate this error but can't. But it has done it several times. (Both times I found the diamonds in the adjacent chest there was over a stack, buying 1 at a time)
     
  5. Offline

    Acrobot

    @Donny
    That would be weird... Hmm...
    If you could replicate it, I would be VERY, VERY grateful.
    My code checks for the chests like:
    Code:
    BlockFace[] bf = {BlockFace.EAST, BlockFace.NORTH, BlockFace.WEST, BlockFace.SOUTH};
    
     
  6. Offline

    vasil7112

    Need help...my server restarts each time i use chestshop 3.0..
    and when i use iconomychestshop i can sell..
    So i would like only a fix in chestshop 3...
    the error was this...
    Could not pass event SIGN_CHANGE to TradeCraft
    java.lang.ClassCastException: org.bukkit.craftbukkit.block.CraftBlockState cannot be cast to org.bukkit.block.Sign
    at nl.armeagle.TradeCraft.TradeCraftBlockListener.onSignChange(TradeCraftBlockListener.java:100)
    at org.bukkit.plugin.java.JavaPluginLoader$31.execute(JavaPluginLoader.java:454)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:310)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:986)
    at net.minecraft.server.Packet130UpdateSign.a(SourceFile:41)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:399)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:309)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)

    It may say tradecraft..but the error was created only when using your plagin..not tradecraft..thnx:)
     
  7. Offline

    Sunbeam

    Hey i got this message...

    I didnt change anything and now the chest shop didnt load at start up. what can i do?

    2011-06-22 16:49:13 [SEVERE] Could not load 'plugins/iConomyChestShop.jar' in folder 'plugins':
    com.avaje.ebeaninternal.server.lib.sql.DataSourceException: java.sql.SQLException: Access denied for user 'ni16878_1_DB'@'localhost' (using password: YES)
    at com.avaje.ebeaninternal.server.lib.sql.DataSourcePool.<init>(DataSourcePool.java:210)
    at com.avaje.ebeaninternal.server.lib.sql.DataSourceManager.getDataSource(DataSourceManager.java:210)
    at com.avaje.ebeaninternal.server.lib.sql.DataSourceGlobalManager.getDataSource(DataSourceGlobalManager.java:63)
    at com.avaje.ebeaninternal.server.core.DefaultServerFactory.getDataSourceFromConfig(DefaultServerFactory.java:427)
    at com.avaje.ebeaninternal.server.core.DefaultServerFactory.setDataSource(DefaultServerFactory.java:388)
    at com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:168)
    at com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:64)
    at com.avaje.ebean.EbeanServerFactory.create(EbeanServerFactory.java:78)
    at org.bukkit.plugin.java.JavaPlugin.initialize(JavaPlugin.java:175)
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:174)
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:194)
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:117)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:109)
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:232)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:219)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:146)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Caused by: java.sql.SQLException: Access denied for user 'ni16878_1_DB'@'localhost' (using password: YES)
     
  8. Offline

    Acrobot

    @vasil7112
    "TradeCraft"
    that's not my plugin's fault, please report it to TradeCraft developer :)

    There is no way that my plugin can cause that error :)

    @Sunbeam
    You configured your database wrong - it doesn't work. Please either just delete bukkit.yml, or change that file.
     
  9. Offline

    vasil7112

    Sorry i am telling you but..when i put the sign says e.g
    1)blank
    2)How much
    3)How it costs
    4)What it is..
    The server close and says that messege...i had told you and in a previus version..and you had fixed it..and i got it again now:p
     
  10. Offline

    Donny

    It doesn't even replicate on the same chest every time=o. (I'll do some testing)

    Also another bug is in the picture below. Picture is of two different accounts one the buyer one the seller. As you can see in the left the seller has stock but it is saying he doesn't.
    [​IMG] <-- hmm isnt working???
    http://imageshack.us/f/580/chestshopglitch.png/

    It is caused by the problem described in my next post.
     
  11. Offline

    vasil7112

    Anyhow..now saddently fixed;P
     
  12. Offline

    Donny

    Seems to be its linking with the chest beside the sign not the chest under it. how do i fix that?


    Here is a picutre of the shop
    http://imageshack.us/photo/my-images/41/chestshopproblem1.png/
     
  13. Offline

    AuXDubz

    Hey, Need lil Help, Started using your plugin, But now the other players in server can't access there Chests, except for Me! (Owner).....Can You Help?
     
  14. Offline

    Acrobot

    @AuXDubz
    Sure.
    Do you get any errors in console?
    What do you mean by "can't access"?

    @Donny
    Hmm, weird. I'll fix that.
     
  15. Offline

    AuXDubz

    When Player Try and open a Chest They just Can't :(
    Join and have a look for your self :) - 77.111.249.115
    Thanks For Your Time :)
     
  16. Offline

    Acrobot

    @AuXDubz
    Can't connect.
    "Connection refused: connect"
     
  17. Offline

    AuXDubz

    Sorry Try now lol
    Had to sort something out :)
     
  18. Offline

    AuXDubz

  19. Offline

    AuXDubz

  20. Offline

    Airbus101

    Acrobot,

    Airbus101 again sent by Kainzo at Herocraft AGAIN... :(

    ALSO forget to mention we are on Chestshop DEV 5

    ok, so I'm having continued chest shop errors, NOW items are dissapering when sold to me acutally they never show up in the chest but Iconomy charges.

    (many edits coming as I figure out how to say this all)
    here is the situation:
    After you fixed the Infinity blocks, I opened my store and went away for 2 days I came back and found that people had been selling to me but I had no new products in chests yet they had been paid. I checked the chests and noticed the 1 block in some chests again and thought crap its back, but I picked up what I thought was the infinity block and found it was just a normal block, I tried to stack it and it dissapered.


    you seemed to have fixed the infinity stack, however some chests still had the single item in them, those chests seem to have swallowed any new sales to them, I went thru and removed all the single blocks that looked like they used to be infinity blocks.

    later someone sold me 20 some stacks of dirt a double chest never affected nothing was transfered and they got paid

    * I've also noticed that chest shops will fill up only the bottom or top half like the other half is a bottomless pit?

    below is a chat log with somone that at one time coded some for the server and worked on shops... it explians what I'm trying to say.

    T5|Airbus101ok, I'll start again
    13:44T5|Airbus1017 days ago we had what we nicknamed hell bread
    13:44T5|Airbus101turns out its a chestshop error that produces a infinite stack
    13:45T5|Airbus101you can just keep dropping, the DEV Acrobot explained...
    13:45T5|Airbus101that errored item (infinite stack) would appear in the top left corner of chest and absorb anything sold
    13:45T5|Airbus101to the shop owner
    13:46T5|Airbus101it
    was my understanding that this error was fixed, however some of my
    chests still had that 1 item or 1 block in the top left corner
    13:46T5|Airbus101I took them out tried to stack them they dissapered
    13:47T5|Airbus101I believe that the patch eliminated the error infinite error, however did not stop the items from dissapering
    13:47T5|Airbus101yesterday Amartin999 sold me 50 stacks of logs, I have just under 2 stacks
    13:48
    13:48T5|Airbus101also my leather shop had 1 leather I took it out and stacked it and it dissapered just now
    13:48T5|Airbus101same with one of my wool shops
    13:48SquallSeeD31What's
    going on there is that plugin somehow set the quantity of a stack to 0
    or -1 (I forget which causes it), which creates a bugged infinite stack.
    13:48T5|Airbus101and sandstone
    13:48T5|Airbus101and I think logs but I was not paying attention for it yet
    13:49SquallSeeD31It was a known issue a long time ago with buggy plugins, but came to
    prominence because of a related server error in CraftBukkit.
    13:49T5|Airbus101so thats the details I know kainzo and I'm trying to figure out how to type it up...
    13:49T5|Airbus101ALSO
    13:49SquallSeeD31Now like you noted, that server error has been fixed, and in the process CB *shouldn't* allow bugged stacks to be *created*, but ALSO as you've noted, any existing bugged stacks must be manually removed.
    13:50T5|Airbus101I noticed that most double chests are only 1/2 full and its the bottom
    half and nothing in top 1/2 of double chest so I fear those were dissapering to as it was just way too neat and organized to be exactly 1/2 a chest of items in like 4 of my chests
    13:51T5|Airbus101but how do you know whats bugged?
    13:52SquallSeeD31Again,
    if you're talking about chest shops, its double chest implementation
    has the potential to get buggy with CB updates. When that happens, the
    double chest code basically fails and it gets treated as a single chest.
    13:52T5|Airbus101sqallseed31 are youa programmer or just speculating (just asking)
    13:52SquallSeeD31I'm a programmer.
    13:52T5|Airbus101awsome, ok, so how about the 1/2 chests where bottom was full but noting in top
    13:52SquallSeeD31In fact I used to be an active programmer for this server, and some of my work is still active on it.
    13:52SquallSeeD31Well, I just covered that.
    13:52SquallSeeD31It sounds to me like the plugin is treating your double chest as a single chest.
    13:53SquallSeeD31Mechanically,
    the chest shop is registering one "block" as its chest. In the code,
    it attempts to detect if there is another chest block connected to that
    one (a double chest), and does a little inventory magic to treat it as a
    double chest.
    13:53T5|Airbus101ok, I missed that so how do you unbug double chests (not sure if yourve seen my shop but its huge and too big to redevelop
    13:53SquallSeeD31If that code breaks, it's only able to work with the block it knows, which makes it like a single chest.
    13:54SquallSeeD31Well, to be fair, I haven't evaluated that particular shops plugin in about 3 months.
    13:54T5|Airbus101does the chest self heal on reboots?
    13:54SquallSeeD31So maybe Acrobot has fixed it since then and you just need an update.
    13:54SquallSeeD31It's not the *chest* that's bugged in this case, but rather the plugin (most likely).
    13:54T5|Airbus101I dont know how to post this on his site ( the above what I stated
    13:55SquallSeeD31Handling double chests is really ugly! There's no clean way to do it.
    13:55SquallSeeD31So it's understandable that it can break and break often.
    13:55
    *** AWESOMEREST joined #DH
    13:55
    +++ ChanServ has given voice to AWESOMEREST
    13:55T5|Airbus101but do they self heal on restarts or do I have to break them and remake them
    13:56T5|Airbus101if its the latter I'm not gonig to have doubles anymore
    13:56SquallSeeD31Again; if the plugin is broken, it doesn't matter what *you* do, you won't be able to fully utilize double chests.
    13:56SquallSeeD31Now that's just if the plugin is broken, I could be wrong and it could be an entirely unrelated thing.
    13:56SquallSeeD31I
    know what I'm talking about in the bugged items case; I'm only
    theorizing based on my own experiences with the chestshop plugin and
    inventory handling for this case.
    13:57T5|Airbus101ok, well you shed some light, not sure what I should do or tell Acrovbot
    13:57SquallSeeD31Do you know how to tell which block of a double chest is the top and bottom?
    13:58T5|Airbus101no
    13:58SquallSeeD31The best way for me to explain it is to not explain it at all, but rather for you to test it for yourself. =)
    13:58SquallSeeD31So put a chest down, and put something in it.
    13:58SquallSeeD31Then put another chest next to it (to make a double), and open it again.
    13:58SquallSeeD31Whichever "half" of the double chest screen your item is in tells you if your first block was the top or bottom.
    13:58SquallSeeD31With me so far?
    13:58T5|Airbus101yes
    13:59SquallSeeD31Alright, then put a sign up over one half, either one, doesn't matter.
    13:59SquallSeeD31When you use that sign, watch where the item goes.
    14:00SquallSeeD31If the plugin is broken, the item should *only* ever go in the half that is directly below the sign.
    14:00SquallSeeD31(or come from the half that is directly below the sign)
    14:00T5|Airbus101ok, explains why my tests were kinda working
    14:00SquallSeeD31So
    then you can mess with the inventory a bit to prove that it isn't using
    the other side by, for example, removing all the items you're selling
    from the "sign" side and putting them in the other half, then seeing if
    the shop thinks you're sold out.
    14:00T5|Airbus101Iwhen I saw them filling up top or bottom only I realinged the items left or right
    14:01T5|Airbus101seemd to help so your theory is correct
    14:01SquallSeeD31Well, if you want to report it to Acrobot, that's the test to run.
    14:01SquallSeeD31To show that it's only using one side, so it's not detecting the double chest.
    14:01T5|Airbus101no thats what I DID
    14:01SquallSeeD31Oh oh gotcha
     
  21. Offline

    AuXDubz

  22. Offline

    Amrac

    ChestShop beta 3.0 beta 4 work fine on my server.

    I ask him to keep data during 2 weeks to get good statistique on price. Do you think it can become an issue?
     
  23. Offline

    Acrobot

    @Amrac
    Nope, it shouldn't be an issue.
     
  24. Offline

    dazzee

    Sorry if this has already been posted but for coloured wool it is this

    *Your Name*
    *Quantity*
    *Price*
    *Item*

    dazmin
    5
    B 5:2 S
    35:14
    this will let players buy 5 Red wool for $5 or sell 5 for $2

    list of colours:-
    35:0 = White
    35:1 = Orange
    35:2 = Magenta
    35:3 = Light Blue
    35:4 = Yellow
    35:5 = Light Green
    35:6 = Pink
    35:7 = Gray
    35:8 = Light Gray
    35:9 = Cyan
    35:10 = Purple
    35:11 = Blue
    35:12 = Brown
    35:13 = Dark Green
    35:14 = Red
    35:15 = Black
     
  25. Offline

    Acrobot

    @dazzee
    Yeah, also, in ChestShop 3, you can do something like:
    (from your example)

    dazmin
    5
    B 5:2 S
    Red Wool

    :)
     
  26. Offline

    Zivhayr

    Hi, I just installed this and I love the mod!
    However I have a problem, users in the default usergroup can only buy items, not sell them. I have the permissions set up correctly, I even tried giving the default group - 'iConomyChestShop.*' but that did not work. Ops can sell items to a sign (they have access to '*') so I'm not quite sure what the problem is here. This is my permissions for the default group (I only included things related to iConomy):

    - 'iConomy.payment'
    - 'iConomy.list'
    - 'iConomy.rank'
    - 'iConomyChestShop.shop.create'
    - 'iConomyChestShop.shop.sell'
    - 'iConomyChestShop.shop.buy'

    Also, it does not have an error message when they left click a sign to sell, just blank text and nothing happens. I've tried with multiple shops.

    Bukkit build 860
     
  27. Offline

    Acrobot

    @Zivhayr
    Hey, thanks!

    I know exactly what's the issue, and it's not my plugin :)
    It's the spawn protection. Just turn it off in server.properties :)
     
  28. Offline

    Zivhayr

    Ah, thanks a lot for the quick response!
     
  29. Offline

    Zivhayr

    Is there any workaround at all for this? Can I use another plugin to protect spawn and turn off the default spawn protection?
     
  30. Offline

    Acrobot

    @Zivhayr
    Do you use WorldGuard/anything that protects blocks? If so, just protect it and disable the protection in server.properties :)
     
  31. Offline

    Felonu

    Yes you can turn off the spawn protection in your server.properties file and then there are a number of protection plugins. WorldGaurd, Residence, etc. Look through or do a search in the bukkit plugin releases forums

    -edit-
    Late again.
     

Share This Page