[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

    mattekure

    Love the plugin.

    Couple of suggestions/requests.

    make it possible to disallow shops that have the sell price higher than the buy price (config file entry?). It is too easy for a player to make a shop and get loads of money off it. I'd rather be able to limit it on the server than trust players to not abuse it.

    make it possible to limit the number of shops per player, this might be implemented with the lwc since they allow you to limit the number of protected chests.

    Thanks much
     
  3. Offline

    Acrobot

    @thedjshow
    That's not iConomyChestShop's bug.

    That's Citizens bug - it's outdated.

    @Joman
    First line: "Admin Shop"

    @LanToaster
    You forgot
    ---> '
    I think it's actually important, so do something like:
    - 'iConomyChestShop.shop.create'
    etc.

    @JacKlink01
    If it still doesn't work (You aren't using my newest config, I bet), just put
    Code:
     serverAccountName: ""
    
    In your config.

    @mattekure
    Okay for the first one, the 2nd one - it would be kind of hard (or I would just use a file), but ok.
     
  4. Offline

    Cas 't Hart

    Hey,
    i'm having problems with the shops, nobody can use them including admins,
    it says: ''[shop] shop owner doesn't want you to buy here"
    I don't think it has anything to do with the permissions because admins also can't use them.
    does someone knows what is wrong or what i'm doing wrong?

    thanks,
     
  5. Offline

    Acrobot

    @Cas 't Hart
    Your sign is incorrectly formated.

    It's either:

    B buyPrice
    S sellPrice
    B buyPrice : sellPrice S

    (the B and S can be on the right or left of the price)
     
    Cas 't Hart likes this.
  6. Offline

    Cas 't Hart

    hey,

    yeah i your right how stupid of me, thanks alot
     
  7. Offline

    Cas 't Hart

    Hey,

    i have an another problem now when i tried to used it nothing happened,
    the serverlog says this:
    2011-05-17 11:02:30 [SEVERE] Could not pass event PLAYER_INTERACT to iConomyChestShop
    java.lang.NullPointerException
    at com.Acrobot.iConomyChestShop.Shop.buy(Shop.java:74)
    at com.Acrobot.iConomyChestShop.ShopManager.buy(ShopManager.java:61)
    at com.Acrobot.iConomyChestShop.ShopManager.transaction(ShopManager.java:43)
    at com.Acrobot.iConomyChestShop.iConomyChestShopPlayerListener.onPlayerInteract(iConomyChestShopPlayerListener.java:87)
    at org.bukkit.plugin.java.JavaPluginLoader$9.execute(JavaPluginLoader.java:254)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:257)
    at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:162)
    at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.java:207)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:519)
    at net.minecraft.server.Packet15Place.a(SourceFile:57)
    at net.minecraft.server.NetworkManager.a(NetworkManager.java:195)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:74)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:370)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:285)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)

    what is the problem?
     
  8. Offline

    Acrobot

    @Cas 't Hart
    Do you have the newest config?
    If you do, and it still doesn't work, add this to your config:
    Code:
     serverAccountName: ""
    
     
    Cas 't Hart likes this.
  9. Offline

    Cas 't Hart

    Hey,
    yes i have
    thanks but one question? does it matter where to place it in the config file?

    thanks,
     
  10. Offline

    Monopol

    Hey, what did I wrong?
    Code:
    17:25:30 [SCHWERWIEGEND] Could not load 'plugins/iConomyChestShop.jar' in folder 'plugins':
    unacceptable character #FFFD special characters are not allowed
    in "<reader>", position 4069
            at org.yaml.snakeyaml.reader.StreamReader.checkPrintable(StreamReader.java:68)
            at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:159)
            at org.yaml.snakeyaml.reader.StreamReader.forward(StreamReader.java:89)
            at org.yaml.snakeyaml.reader.StreamReader.forward(StreamReader.java:79)
            at org.yaml.snakeyaml.scanner.ScannerImpl.scanToNextToken(ScannerImpl.java:974)
            at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:237)
            at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:183)
            at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:564)
            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.composeMappingNode(Composer.java:228)
            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:73)
            at org.bukkit.plugin.java.JavaPlugin.initialize(JavaPlugin.java:158)
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:166)
            at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:191)
            at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:115)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:100)
            at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:218)
            at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:205)
            at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:145)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:260)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    
     
  11. Offline

    Acrobot

    Cas 't Hart likes this.
  12. Offline

    Cas 't Hart

  13. Offline

    Monopol

    Thank you very much :).
     
  14. Offline

    thedjshow

    Still can't use it and i removed Citizens plugin
    Code:
    [Lnet.minecraft.server.Statistic;@45bc887b
    146 recipes
    [Lnet.minecraft.server.Statistic;@45bc887b
    16 achievements
    18:10:04 [INFO] Starting minecraft server version Beta 1.5_02
    18:10:04 [INFO] Loading properties
    18:10:04 [INFO] Starting Minecraft server on *:25565
    18:10:04 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-729-g5ee3f0f-b766jnks (MC: 1.5_02)
    18:10:05 [INFO] Preparing level "world"
    18:10:05 [INFO] Preparing start region
    18:10:06 [ALLVARLIG] Could not load 'plugins\iConomyChestShop.jar' in folder 'plugins':
    java.lang.ExceptionInInitializerError
            at org.bukkit.plugin.java.JavaPlugin.initialize(JavaPlugin.java:175)
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:166)
            at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:191)
            at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:115)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:100)
            at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:218)
            at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:205)
            at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:145)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:260)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    Caused by: java.lang.RuntimeException: java.lang.IllegalArgumentException: Error constructing com.avaje.ebeaninternal.server.core.DefaultServerFactory
            at com.avaje.ebean.EbeanServerFactory.createServerFactory(EbeanServerFactory.java:114)
            at com.avaje.ebean.EbeanServerFactory.<clinit>(EbeanServerFactory.java:57)
            ... 10 more
    Caused by: java.lang.IllegalArgumentException: Error constructing com.avaje.ebeaninternal.server.core.DefaultServerFactory
            at com.avaje.ebeaninternal.api.ClassUtil.newInstance(ClassUtil.java:107)
            at com.avaje.ebeaninternal.api.ClassUtil.newInstance(ClassUtil.java:94)
            at com.avaje.ebean.EbeanServerFactory.createServerFactory(EbeanServerFactory.java:112)
            ... 11 more
    Caused by: java.lang.RuntimeException: java.io.FileNotFoundException: C:\Users\Simon\Desktop\DEN NY ├äR H├äR\craftbukkit-0.0.1-SNAPSHOT.jar (Det gÕr inte att hitta s÷kvõgen)
            at com.avaje.ebeaninternal.server.core.XmlConfigLoader.search(XmlConfigLoader.java:121)
            at com.avaje.ebeaninternal.server.core.XmlConfigLoader.load(XmlConfigLoader.java:78)
            at com.avaje.ebeaninternal.server.core.DefaultServerFactory.<init>(DefaultServerFactory.java:91)
            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
            at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
            at java.lang.reflect.Constructor.newInstance(Unknown Source)
            at java.lang.Class.newInstance0(Unknown Source)
            at java.lang.Class.newInstance(Unknown Source)
            at com.avaje.ebeaninternal.api.ClassUtil.newInstance(ClassUtil.java:104)
            ... 13 more
    Caused by: java.io.FileNotFoundException: C:\Users\Simon\Desktop\DEN NY ├äR H├äR\craftbukkit-0.0.1-SNAPSHOT.jar (Det gÕr inte att hitta s÷kvõgen)
            at java.util.zip.ZipFile.open(Native Method)
            at java.util.zip.ZipFile.<init>(Unknown Source)
            at java.util.jar.JarFile.<init>(Unknown Source)
            at java.util.jar.JarFile.<init>(Unknown Source)
            at com.avaje.ebeaninternal.server.core.XmlConfigLoader.checkJar(XmlConfigLoader.java:176)
            at com.avaje.ebeaninternal.server.core.XmlConfigLoader.search(XmlConfigLoader.java:110)
            ... 22 more
     
  15. Offline

    gaz492

    i get incorrect config file :S
     
  16. Offline

    Acrobot

    @thedjshow
    Wait, this is the one think IDK why happens :/
    Go into .jar file with WinRAR and in plugin.yml delete the line that says "database: true".
    Also, in your config.yml, turn useDB: to false

    @gaz492
    That means you have messed up something, what does the error say?
     
  17. Offline

    gaz492

    "incorrect config file"
    "aborting!"

    Config file: http://pastebin.com/JFB3GSdX
     
  18. Offline

    Acrobot

    @gaz492
    Hmm... Weird...
    Try changing
    "position: 'ANY'"
    to
    Code:
    position: 'DOWN'
    
     
  19. Offline

    CoZmicShReddeR

    Is there a way to disable spam to seller?
     
  20. Offline

    gaz492

    thanks it worked :) +1
     
  21. Offline

    thedjshow

    Works THANKS! =)
     
  22. Offline

    Ludde112

    Hi! need help plz.
    I play at a server and they don't have chests under the signs. Normaly you have a chest and over that a sign and it is a shop. BUT at the server I am playing at they have a block of the material as ``chest``. How does that work?
    Want it at my own server.
    Appreciate all the help I can get.
     
  23. Offline

    efstajas

    Hi,
    just a dumb question: Since the update it always says "Shop owner doesn't want you to buy from this shop.". Whoot? :confused:
     
  24. Offline

    Acrobot

    @Ludde112
    They probably use Admin Shops, that can be made without chests :)

    @efstajas
    Something is wrong on your sign's 3rd line. It should be either like:
    B amount
    S amount
    B amount : amount S

    (The B and S can be on either side of amount)

    @CoZmicShReddeR
    Not yet, but wait for 3.0
     
  25. Offline

    heifinator

    I migrated from centOS to a win2008 server. When I restarted everything up all plugins worked except chestshop. Im getting this error.
    Anyone have any idea? =)
     
  26. Offline

    Acrobot

    @heifinator
    Your bukkit.yml is broken - can't connect to MySQL.
     
  27. Offline

    DemonCraft

    How do you make a Admin Shop?
    Show me an example please?
    Like make a sign selling Diamonds as an example to me please?
     
  28. Offline

    ValBGaming

    I second this. :D
     
  29. Offline

    hofec

    however, this feature can be adjusted at config file .. :)
     
  30. Offline

    Camibus

    Has anybody had the problem of items in chests disappearing after a reboot? A few of my players "claim" that either, the items disappeared, or they did not receive money for the purchase of lost items. Running iConomy 4, LWC and automatic reboot plugin.
     
  31. Offline

    ValBGaming

    Where is that? Do you mean serverAccountName: "Server"? I made like 40 shops with the name server then tested one just to find out it didn't work like an admin shop... That's what I get for not testing on the first one... lol
     

Share This Page