[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


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

    - An economy plugin supported by Register or Vault, for example iConomy, BOSEconomy or Essentials Eco.
    - 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

    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.

    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/

    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:

    (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:

    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:
    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)

    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)

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

    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?

    Changelog (open)

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



    I'm sorry, i must say that I didn't read the whole 170 pages of the thread. So, I'm wondering if it is possible to delete all shops of a player. If it is not, is it possible to store shops datas in a MySQL database? I didn't found anything of that sort, but I really need one. In any case, thank you for your answer.
  3. Offline


    Nah, not possible to store all shops by player :/
    Same for database - you can store all transactions, through.
  4. Offline


    Neeeeevermind. Apparently my friend icorrectly named the permbridge plugin to have a (1) at the end of the filename which blew everything else up somehow... lol.
  5. Offline


    Go to bukkit.yml, change spawn-radius to 0
  6. at startup, this error is produced::
    [SEVERE] Error occurred while enabling ChestShop v3.24 (Is it up to date?): while scanning a quoted scalar; found unexpected end of stream
    while scanning a quoted scalar
     in "<reader>", line 1, column 9:
    found unexpected end of stream
     in "<reader>", line 1, column 10:
        at org.yaml.snakeyaml.scanner.ScannerImpl.scanFlowScalarSpaces(ScannerImpl.java:1507)
        at org.yaml.snakeyaml.scanner.ScannerImpl.scanFlowScalar(ScannerImpl.java:1436)
        at org.yaml.snakeyaml.scanner.ScannerImpl.fetchFlowScalar(ScannerImpl.java:846)
        at org.yaml.snakeyaml.scanner.ScannerImpl.fetchDouble(ScannerImpl.java:835)
        at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:343)
        at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:183)
        at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingValue.produce(ParserImpl.java:592)
        at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:163)
        at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:148)
        at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:132)
        at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:230)
        at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
        at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:122)
        at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:105)
        at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:124)
        at org.yaml.snakeyaml.Yaml.load(Yaml.java:264)
        at org.bukkit.util.config.Configuration.load(Configuration.java:82)
        at com.Acrobot.ChestShop.Config.ConfigObject.reloadLanguage(ConfigObject.java:42)
        at com.Acrobot.ChestShop.Config.ConfigObject.<init>(ConfigObject.java:25)
        at com.Acrobot.ChestShop.ChestShop.onEnable(ChestShop.java:49)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:126)
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:941)
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:280)
        at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:174)
        at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:157)
        at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:297)
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:284)
        at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
  7. Offline


    Your config is corrupted -> the language one. On the first line, you probably opened a quotation mark, but didn't close it.
  8. Offline


    So I'm back with another problem (Within an hour! A record!)

    So I can't seem to sell back certain items. So far, I haven't been able to sell back any leaves, tnt, and grass.

    config file.
  9. Offline


    Oh was the world guard support like a you can only make shops in this area type thing?
  10. Offline


    Leaves - it sounds like the data value is wrong. However, what is on your sign? Also - can you buy from the same sign? Because if not, this sounds like bugged chunk.
    Currently it's just limiting the shops so they can't be built somewhere in the wild, where there isn't any region defined.
  11. Offline


    Oh so no only in this area ? ;( I kinda want that for a town or verified shop spot in my server. Is that possible?
  12. Offline


    Hmm :/
    You can't do that :/ But you can just say that people should build shops inside the place/something, if not - shop is destroyed, or something like that.
    I am making ChestShop 4 -> current phase = projecting. I'll take a piece of paper tomorrow and just draw how the plugin will work. I guess it'll take a few tries, but it's better than coding from nothing.
    In ChestShop 4, you'll be able to make modules, like WorldGuard integration. It'll be cool, in my opinion.
    kahlilnc likes this.
  13. Offline


    I enter the sign's ItemID by DataValue rather than common name. I enter 18:0 for the regular leaves and I can buy, yet not sell.

    On the Sign itself, though


    Technically, it's whatever the sign auto-corrects it to (B 20: 10 S, etc)
  14. Offline


    Whenever I try to make a shop, it says 'You cannot make that kind of shop' But i have ChestShop.shop.create permissions but it still wont work, and idea's?
  15. Offline


    Are you sure you changed the spawn-radius? Also - do you get any error/whatever when you try to sell?

    The permission seems fine, however - you might have your permissions file corrupted. Could you post it on pastebin.com and give me the link?
  16. Offline



    its sorta fixed in 3.24. it prevents a non-OP / admin from putting a sign on the same block now (pops the sign off saying you cant do it or whatever) but, if a sign is already there, and an OP or admin puts a sign on the same block (they can) the person who puts the sign on first, can destroy the block behind it and destroy both shops (theirs and the admins) at once.

    Just thought I would tell ya. I will just have to know not to put a sign on someone elses block :)
  17. Offline


    Yup. My spawn-radius bukkit.yml is set to 0

      spawn-radius: 0
      permissions-file: permissions.yml
      update-folder: update
      ping-packet-limit: 100
    I also don't get any error message in console. Simply a "You don't have enough item's to sell!" even though I buy from the shop, then try to sell it back.
  18. Offline

    Phantom Index

    SEVERE] Error occurred while enabling ChestShop v3.24 (Is it up to date?): com/palmergames/bukkit/towny/Towny
    java.lang.NoClassDefFoundError: com/palmergames/bukkit/towny/Towny
    at com.Acrobot.ChestShop.Listeners.pluginEnable.initializePlugin(pluginEnable.java:71)
    at com.Acrobot.ChestShop.Listeners.pluginEnable.initializePlugins(pluginEnable.java:41)
    at com.Acrobot.ChestShop.ChestShop.onEnable(ChestShop.java:57)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:170)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:957)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:280)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:171)
    at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:154)
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:297)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:284)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    Caused by: java.lang.ClassNotFoundException: com.palmergames.bukkit.towny.Towny
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36)
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    ... 13 more
    conflict with towny?
  19. Offline


    Yeah - but it's kind of intended, because if a person has access to that block from beginning, it shouldn't block the block destroying.

    @Phantom Index
    EDIT: Weird. It seems like your Towny isn't loaded properly. Are you sure you are running Towny Advanced?
    Can you open Towny.jar with WinRAR/7zip/whatever and open plugin.yml? Then paste it on pastebin.com and give me the link to it.

    Hmm... Weird.
    Are you sure sure, that you've got enough items to sell? Can you make a screenshot of the sign + your inventory, so I can reproduce it?
  20. Offline


    I can't put leather items... for cap i need put Leather Helm and for top i dont know D: Help?
  21. Offline


    Just type /iinfo (or /iteminfo -> it's the same command) when you're holding the chestplate (I think it's named like this).
    Remember, if the name won't fit, just type in as much for it to be recognised.
    For example, when item name is DIAMOND_CHESTPLATE, DIAMOND_CHEST will also work, DIAMOND CHEST will work too, diamond chest (just lowercase) will work too. :)
  22. Offline


    Anyone know of a sign-editting plugin that plays nice with ChestShop? I want to charge players for creating shops but it's pretty easy to make a mistake on the sign and cause the shop not to function as intended, thus making the player pay the charge again to fix the sign.

    SimpleSignEdit, SignEditSpout, and Sign Utilities all don't work in this regard. I haven't tried QuickSign yet.
  23. Offline


  24. Offline


    And if you do /iteminfo, what does it say?
  25. Offline


    Well this is rather strange.
    It's returning a non-existant itemID... At least I am pretty goddamn sure there aren't 5 types of leaf blocks... The obvious fix is to assign 18:4 as the item, which I did, but it's still a rather interesting error.

    The next issue is that I can't seem to sell grass. The itemID is correct. (itemID: 2) However, I can buy, yet not sell.

    Is this an issue because no one should be able to acquire grass legitimately? I wouldn't think so as you'd be getting grass legitimately from buying but... yeah. Anyway, the immediate issue of the leaf block has been solved. Just a curious question of the grass block issue.

  26. Offline


    You can't sell here = wrong 3rd line.
    It should be either
    B 5:5 S
    B 5
    S 5
    or something like that.
    As far as I can see, you've got something after the colon.

    And the leaves -> I have no idea. It probably started in 1.8.
    I guess it's not an error, it's just a "new feature"
  27. Offline


    Nah, it says free. B 50:free

    I generally just type 5:5 or whatever and it automatically types out the B and S for me. Do I have to manually type out S after the free?

    As for the leaves... *shrug* At least we've got it figured out.
  28. Offline


    Yep, that's the problem. You haven't got free S, just free.
    Correct it to say:
    B 50:free S
    (also, this is probably a bug, I should fix that)
  29. Offline


    Ok this works, but when someone buys something, it doesnt take any of their gold for the purchase. I have iconomy, so im not sure whats wrong. Plz help. I'm making no money off the shops
  30. Offline


    thx for ur wonderful plugin!
    i have some problem with db

    this is my bukkit.yml

    i tried to delete table on mysql db but after sometimes i receive this error.

    I have the last version CHESTSHOP 3.24 and BUKKIT 1240
  31. Offline


    Do you have Essentials or another economy plugin? If so, you must specify iConomy in the preferred economy plugin.

    It just happens - I have no idea why. I even did a try/catch, but it still doesn't catch it o.0
    It isn't causing any problems, it just happens :/

Share This Page