[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

    guerkschen

    Hey you :)
    Well, I have a little problem.
    But a question at the beginning. Do I have to start with the permission to create a shop or is it okay when I just place the sign above the chest?
    Well that's what I'm doing. Now my problem. When I do this (placing sign above chest) and I want to sell just one for example apple I type 1 into the line where the amount should stand. But then clicking at the "Done"-Button it magically changes into 64. The chest is full of single apples and when somebody tries to buy one there is the advice that the shop is out of stock. (Hope you can follow ^^) And when I leave a stock everybody buys 64 apples instead of one.
    Hope you can follow me and understand my English ;) and of course can help me :)

    P.S.
    CraftBukkit: Version 1.0.1. RS i don't know. the newest version ;D
    ChestShop: Newest version I think
    iConomy and PermissionsEX
    (all downloaded a few days ago)
     
  3. Offline

    JoneKone


    Hi I was also complaining about this "You don't have permission" with LWC.. we don't have locket

    The problem "still using 3.51" is that as admin this was no problem.. but as normal user when you left the first line empty and wrote the last 3 lines.. it said "no permission" then I dried it with small letters it said no permissions..

    AND finally I wrote my name like in game "JoneKone" with capital J and K it worked...

    Just wanted to inform you that this was my conclusion to the problem and wanted to ask if you arrived to the same?
     
  4. Offline

    Acrobot

    @JoneKone
    Yeah - I experienced the error, but I thought I fixed it o.0
    Does the version you are quoting work fine?

    @guerkschen
    When you're using PEX, if you don't have the bridge, the permissions are set up by default.
    Also - that's weird. Probably another plugin causes this, because I don't change the amount, ever. o.0
     
  5. Offline

    JoneKone

    edit =D 3.31

    and no 3.31 doesn't work.

    another edit! =) Haven't tried your fix version..
     
  6. Offline

    Acrobot

    @JoneKone
    Oh yeah - you should try it.
    I am pretty sure I fixed that bug - it was really more serious than I thought. Also, it is faster now - by accident I added another protection handler every time ChestShop detected another plugin, like LWC : )
     
  7. Offline

    JoneKone

    I'm about to blonk it to a running server.. ... are you sure it will work?

    i mean.. it won't explode everything
     
  8. Offline

    JoneKone

    yeah.. not a good idea =D Was trying to change while reload.. But when it tried to shut it down..

    http://pastebin.com/Mcbn83T8

    How ever then it just started and =) yey.. It is selling stuff.. and buying stuff..

    It works..
     
  9. Offline

    gabripj

    Hi guys, can you help me?!
    i put on my groupmanager only the permissions:
    default:
    ChestShop.shop.buy - lets you buy from shops
    ChestShop.shop.sell - lets you sell to shops
    and
    VIP:
    ChestShop.shop.create
    but...
    everyone can create a shop, how i cancel for only a group create the shop? Thank you!
     
  10. Offline

    floh22

    hi guys, i have a problem,
    i am admin on my server and i set up a shop in spawn.
    i cant buy or sell anything!
    i dont know why, no1 can!
    i set up permissions so that i have every right with chestshop,
    i have 1Conomy and that is set up right, it works with other plugins!
    i haven't set up a shop outside of spawn yet, but should i still be able to sell if im admin?
    thanks,
    floh!
     
  11. Offline

    Acrobot

    @JoneKone
    Yeah, due to the way Bukkit handles reloads, it's usually not a good idea to /reload :p
    But I'm glad that it works for you.
    I almost finished the work on restricted signs (well, I finished it, but I didn't test it at all!) for @Sich

    @gabripj
    From GroupManager's help page:
    "Negative nodes

    GM supports negative nodes, these will override the normal nodes, allowing you to retract access to commands. This can be useful with inheritance.
    essentials.kit.* : Allows access to every /kit
    -essentials.kit.admin : Removes access to /kit admin"

    So, you just need to add
    -ChestShop.shop.create

    @floh22
    Can OPs buy/sell from the shop?
    What are you putting on the sign?
     
  12. Offline

    storek55

  13. Offline

    Kainzo

  14. Offline

    douglas_srs

    @Acrobot
    Hey I'm getting this error frequently on console, maybe a fix in next version please??? :(

    Code:
    2012-01-02 15:13:58 [SEVERE] javax.persistence.OptimisticLockException: Data has changed. updated [0] rows sql[delete from cs_transactions where id=? and buy=? and shop_owner=? and shop_user=? and item_id=? and item_durability=? and amount=? and price=? and sec=?] bind[null]
    2012-01-02 15:13:58 [SEVERE]     at com.avaje.ebeaninternal.server.persist.dml.DmlHandler.checkRowCount(DmlHandler.java:123)
    2012-01-02 15:13:58 [SEVERE]     at com.avaje.ebeaninternal.server.persist.dml.DeleteHandler.execute(DeleteHandler.java:81)
    2012-01-02 15:13:58 [SEVERE]     at com.avaje.ebeaninternal.server.persist.dml.DmlBeanPersister.execute(DmlBeanPersister.java:105)
    2012-01-02 15:13:58 [SEVERE]     at com.avaje.ebeaninternal.server.persist.dml.DmlBeanPersister.delete(DmlBeanPersister.java:67)
    2012-01-02 15:13:58 [SEVERE]     at com.avaje.ebeaninternal.server.persist.DefaultPersistExecute.executeDeleteBean(DefaultPersistExecute.java:128)
    2012-01-02 15:13:58 [SEVERE]     at com.avaje.ebeaninternal.server.core.PersistRequestBean.executeNow(PersistRequestBean.java:535)
    2012-01-02 15:13:58 [SEVERE]     at com.avaje.ebeaninternal.server.core.PersistRequestBean.executeOrQueue(PersistRequestBean.java:557)
    2012-01-02 15:13:58 [SEVERE]     at com.avaje.ebeaninternal.server.persist.DefaultPersister.delete(DefaultPersister.java:654)
    2012-01-02 15:13:58 [SEVERE]     at com.avaje.ebeaninternal.server.persist.DefaultPersister.delete(DefaultPersister.java:464)
    2012-01-02 15:13:58 [SEVERE]     at com.avaje.ebeaninternal.server.core.DefaultServer.delete(DefaultServer.java:1860)
    2012-01-02 15:13:58 [SEVERE]     at com.avaje.ebeaninternal.server.core.DefaultServer.delete(DefaultServer.java:1845)
    2012-01-02 15:13:58 [SEVERE]     at com.Acrobot.ChestShop.DB.Queue.run(Queue.java:21)
    2012-01-02 15:13:58 [SEVERE]     at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
    2012-01-02 15:13:58 [SEVERE]     at java.lang.Thread.run(Thread.java:722)
    Just need add an exception treatment and let me be happy :)

    Thanks
     
  15. Offline

    gabripj

    Thank you!
     
  16. Offline

    Acrobot

    @gabripj
    No problem :)

    @douglas_srs
    Responded to your PM.

    @Kainzo
    Yeah - but I am wondering how is that possible.
    It tells me that when I do String.split("-|:"), which should return an array with AT LEAST one element, its length is 0.
    I am trying to fix that in the newest version, which will be out soon.

    @storek55
    Your permissions file seems fine.
    Be sure that you haven't got another permission plugin in your folder (mind taking a screenshot of it?) and that your permissions config is right - http://yaml-online-parser.appspot.com/
     
  17. Offline

    JoneKone

    Acrobot for some reason my usergroup "ops" are not able to buy/sell anything with chestshop.

    How ever all other players can do it. And admins with * can do it..
     
  18. Offline

    storek55

  19. Offline

    Acrobot

    @storek55
    No, that's your configuration files list.
    I need your plugin (.jar files) list.

    @JoneKone
    Hmm..
    Do they get any errors?
    Anything that could help me fix it?
     
  20. Offline

    JoneKone

  21. Offline

    Nicolascoolguy6

    @Acrobot
    Error ¬_¬
    03:49:04 [SEVERE] Could not pass event BLOCK_BREAK to ChestShop
    java.lang.NullPointerException
    at org.anjocaido.groupmanager.permissions.NijikoPermissionsProxy.permiss
    ion(NijikoPermissionsProxy.java:180)
    at org.anjocaido.groupmanager.permissions.NijikoPermissionsProxy.has(Nij
    ikoPermissionsProxy.java:163)
    at com.Acrobot.ChestShop.Permission.has(Permission.java:32)
    at com.Acrobot.ChestShop.Permission.has(Permission.java:28)
    at com.Acrobot.ChestShop.Listeners.blockBreak.cancellingBlockBreak(block
    Break.java:30)
    at com.Acrobot.ChestShop.Listeners.blockBreak.onBlockBreak(blockBreak.ja
    va:53)
    at org.bukkit.plugin.java.JavaPluginLoader$40.execute(JavaPluginLoader.j
    ava:539)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:339)
    at net.minecraft.server.ItemInWorldManager.c(ItemInWorldManager.java:201
    )
    at net.minecraft.server.ItemInWorldManager.dig(ItemInWorldManager.java:9
    8)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:498)
    at net.minecraft.server.Packet14BlockDig.a(SourceFile:43)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:93)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:527)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
    03:49:04 [SEVERE] Could not pass event BLOCK_BREAK to ChestShop
    java.lang.NullPointerException
    at org.anjocaido.groupmanager.permissions.NijikoPermissionsProxy.permiss
    ion(NijikoPermissionsProxy.java:180)
    at org.anjocaido.groupmanager.permissions.NijikoPermissionsProxy.has(Nij
    ikoPermissionsProxy.java:163)
    at com.Acrobot.ChestShop.Permission.has(Permission.java:32)
    at com.Acrobot.ChestShop.Permission.has(Permission.java:28)
    at com.Acrobot.ChestShop.Listeners.blockBreak.cancellingBlockBreak(block
    Break.java:30)
    at com.Acrobot.ChestShop.Listeners.blockBreak.onBlockBreak(blockBreak.ja
    va:53)
    at org.bukkit.plugin.java.JavaPluginLoader$40.execute(JavaPluginLoader.j
    ava:539)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:339)
    at net.minecraft.server.ItemInWorldManager.c(ItemInWorldManager.java:201
    )
    at net.minecraft.server.ItemInWorldManager.dig(ItemInWorldManager.java:9
    8)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:498)
    at net.minecraft.server.Packet14BlockDig.a(SourceFile:43)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:93)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:527)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
    03:49:09 [SEVERE] Could not pass event BLOCK_BREAK to ChestShop
    java.lang.NullPointerException
    at org.anjocaido.groupmanager.permissions.NijikoPermissionsProxy.permiss
    ion(NijikoPermissionsProxy.java:180)
    at org.anjocaido.groupmanager.permissions.NijikoPermissionsProxy.has(Nij
    ikoPermissionsProxy.java:163)
    at com.Acrobot.ChestShop.Permission.has(Permission.java:32)
    at com.Acrobot.ChestShop.Permission.has(Permission.java:28)
    at com.Acrobot.ChestShop.Listeners.blockBreak.cancellingBlockBreak(block
    Break.java:30)
    at com.Acrobot.ChestShop.Listeners.blockBreak.onBlockBreak(blockBreak.ja
    va:53)
    at org.bukkit.plugin.java.JavaPluginLoader$40.execute(JavaPluginLoader.j
    ava:539)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:339)
    at net.minecraft.server.ItemInWorldManager.c(ItemInWorldManager.java:201
    )
    at net.minecraft.server.ItemInWorldManager.dig(ItemInWorldManager.java:9
    8)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:498)
    at net.minecraft.server.Packet14BlockDig.a(SourceFile:43)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:93)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:527)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
    03:49:25 [INFO] MisterLoser [/77.191.187.248:4445] logged in with entity id 863
    at ([world] 46.25, 64.0, 1008.71875)
    03:49:29 [INFO] Connection reset
    03:49:29 [INFO] jammybrad1238 lost connection: disconnect.endOfStream
    03:49:49 [WARNING] Can't keep up! Did the system time change, or is the server o
    verloaded?
    03:49:49 [SEVERE] Could not pass event SIGN_CHANGE to ChestShop
    java.lang.NullPointerException
    at org.anjocaido.groupmanager.permissions.NijikoPermissionsProxy.permiss
    ion(NijikoPermissionsProxy.java:180)
    at org.anjocaido.groupmanager.permissions.NijikoPermissionsProxy.has(Nij
    ikoPermissionsProxy.java:163)
    at com.Acrobot.ChestShop.Permission.has(Permission.java:32)
    at com.Acrobot.ChestShop.Permission.has(Permission.java:28)
    at com.Acrobot.ChestShop.Listeners.signChange.onSignChange(signChange.ja
    va:37)
    at org.bukkit.plugin.java.JavaPluginLoader$36.execute(JavaPluginLoader.j
    ava:511)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:339)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:1068)
    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:93)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:527)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
     
  22. Offline

    Lukingoo

    Ok, i have my own server with chestshop and i've made some adminsshop but people can ONLY buy from it and not sell i've but operators can buy and sell tho. Please help me with this!
     
  23. Offline

    Acrobot

  24. Offline

    BenTheDragon

    Hello, it seems everytime I try to make a shop it says "You can't make this type of shop!" HELP!
     
  25. Offline

    Acrobot

    @BenTheDragon
    Have you configured your permission plugin?
     
  26. Offline

    BenTheDragon

    yeah, oops nvm.
     
  27. Offline

    SdtScrips

    My builder ranks cant sell to chest Shop but they can buy heres their permissions.
    Code:
    g:essentials_builder:
        permissions:
        - ChestShop.shop.buy
        - ChestShop.shop.sell
        - essentials.afk
        - essentials.back
        - essentials.back.ondeath
        - essentials.balance
        - essentials.balance.others
        - essentials.balancetop
        - essentials.chat.color
        - essentials.chat.shout
        - essentials.chat.question
        - essentials.compass
        - essentials.depth
        - essentials.home
        - essentials.ignore
        - essentials.kit
        - essentials.kit.tools
        - essentials.mail
        - essentials.mail.send
        - essentials.me
        - essentials.msg
        - essentials.nick
        - essentials.pay
        - essentials.ping
        - essentials.powertool
        - essentials.protect
        - essentials.sethome
        - essentials.signs.use.*
        - essentials.signs.create.disposal
        - essentials.signs.create.mail
        - essentials.signs.create.protection
        - essentials.signs.create.trade
        - essentials.signs.break.disposal
        - essentials.signs.break.mail
        - essentials.signs.break.protection
        - essentials.signs.break.trade
        - essentials.suicide
        - essentials.time
        - essentials.tpa
        - essentials.tpaccept
        - essentials.tpahere
        - essentials.tpdeny
        - essentials.warp
        - essentials.warp.list
        - essentials.worth
     
  28. Offline

    Acrobot

    @SdtScrips
    Go to bukkit.yml, change spawn-radius to 0.
     
  29. Offline

    ibreaktoucher

    how do i change the language? please reply
     
  30. Offline

    phondeux

    Is there any way to make it so just a chest and sign being used are protected and no other chests and signs?
     
  31. Offline

    Acrobot

    @phondeux
    What exactly do you mean?
    Only the shop chest and shop sign are protected (if you set it in the config)

    @ibreaktoucher
    You need to click the "translations" button in main post, then click your language and paste that into local.yml (replace everything)
     

Share This Page