[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

    XSilver

    Then what is this errors and how to fix them?
     
  3. Offline

    Acrobot

    @XSilver
    You can't fix it, and it doesn't do anything bad.
     
  4. Offline

    woodzy

    PROGRESS ON ChestShop 3.0
    [||||||||||||]
    AHH SO CLOSE!!!
     
  5. Offline

    UltraZero

    deleting the DB file didnt work but going into the plugin.yml did.
     
  6. Offline

    Tgwizman

    I suggest making the signs one out of a couple different ways

    Way Number 1:
    • USERNAME
      • ITEM ID:DAMAGE
    • QUANTITY
    • BUY / SELL

    Way Number 2:
    • USERNAME
    • ITEM:QUANTITY
    • "BUY" AMOUNT
    • "SELL" AMOUNT


    -=- Just a few ideas for the plugin -=-

    ••• Would it be possible to add a feature to ChestShop that you could put "%me" or "&me" or even "`me`" into the username area and it would detect who is making the sign, and put their name in instead?

    ••• Can you also make it to where if the sign had no price set to it, it would set to default that could be edited in the properties file?

    ••• Can you also make it to where if the sign had no quantity set to it, it would set to default that could be edited in the properties file?
     
  7. Offline

    djw

    I get these messages when a shop is used:

    Code:
    11:07:26 [INFO] [iConomyChestShop] Baron_Warlock bought 64 STONE with durability of 0 from AdminShop for 10 Pounds
    11:07:26 [SEVERE] javax.persistence.OptimisticLockException: Data has changed. updated [0] rows sql[delete from ics_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]
    11:07:26 [SEVERE]       at com.avaje.ebeaninternal.server.persist.dml.DmlHandler.checkRowCount(DmlHandler.java:123)
    11:07:26 [SEVERE]       at com.avaje.ebeaninternal.server.persist.dml.DeleteHandler.execute(DeleteHandler.java:81)
    11:07:26 [SEVERE]       at com.avaje.ebeaninternal.server.persist.dml.DmlBeanPersister.execute(DmlBeanPersister.java:105)
    11:07:26 [SEVERE]       at com.avaje.ebeaninternal.server.persist.dml.DmlBeanPersister.delete(DmlBeanPersister.java:67)
    11:07:26 [SEVERE]       at com.avaje.ebeaninternal.server.persist.DefaultPersistExecute.executeDeleteBean(DefaultPersistExecute.java:128)
    11:07:26 [SEVERE]       at com.avaje.ebeaninternal.server.core.PersistRequestBean.executeNow(PersistRequestBean.java:535)
    11:07:26 [SEVERE]       at com.avaje.ebeaninternal.server.core.PersistRequestBean.executeOrQueue(PersistRequestBean.java:557)
    11:07:26 [SEVERE]       at com.avaje.ebeaninternal.server.persist.DefaultPersister.delete(DefaultPersister.java:654)
    11:07:26 [SEVERE]       at com.avaje.ebeaninternal.server.persist.DefaultPersister.delete(DefaultPersister.java:464)
    11:07:26 [SEVERE]       at com.avaje.ebeaninternal.server.core.DefaultServer.delete(DefaultServer.java:1860)
    11:07:26 [SEVERE]       at com.avaje.ebeaninternal.server.core.DefaultServer.delete(DefaultServer.java:1845)
    11:07:26 [SEVERE]       at com.Acrobot.iConomyChestShop.Logging.removeOld(Logging.java:77)
    11:07:26 [SEVERE]       at com.Acrobot.iConomyChestShop.Logging.run(Logging.java:82)
    11:07:26 [SEVERE]       at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
    11:07:26 [SEVERE]       at java.lang.Thread.run(Thread.java:662)
    
    It doesn't happen if the ics_transactions table is empty, or if the shop has recently been used and the error hasn't already happend. But some time in the future if the shop is used it gives this error, and will not go away until I delete everything from the table.

    The DB user has GRANT ALL PRIVILEGES on the database with ics_transactions in it.

    DB contents:

    Code:
    
    mysql> select * from ics_transactions;
    +----+-----+------------+---------------+---------+-----------------+--------+-------+------------+
    | id | buy | shop_owner | shop_user     | item_id | item_durability | amount | price | sec        |
    +----+-----+------------+---------------+---------+-----------------+--------+-------+------------+
    | 37 |   0 | AdminShop  | Vortex_mkII   |       4 |               0 |     64 |  0.95 | 1306616207 |
    | 38 |   0 | AdminShop  | Vortex_mkII   |       4 |               0 |     64 |  0.95 | 1306616210 |
    | 39 |   0 | AdminShop  | Vortex_mkII   |       4 |               0 |     64 |  0.95 | 1306616211 |
    | 40 |   0 | AdminShop  | Vortex_mkII   |       4 |               0 |     64 |  0.95 | 1306616212 |
    | 41 |   0 | AdminShop  | Vortex_mkII   |       3 |               0 |     64 |   0.1 | 1306616262 |
    | 42 |   0 | AdminShop  | Vortex_mkII   |       3 |               0 |     64 |   0.1 | 1306616264 |
    | 43 |   0 | AdminShop  | Vortex_mkII   |       3 |               0 |     64 |   0.1 | 1306616265 |
    | 44 |   0 | AdminShop  | Vortex_mkII   |       3 |               0 |     64 |   0.1 | 1306616265 |
    | 45 |   0 | AdminShop  | Vortex_mkII   |       3 |               0 |     64 |   0.1 | 1306616266 |
    | 46 |   0 | AdminShop  | Vortex_mkII   |       3 |               0 |     64 |   0.1 | 1306616271 |
    | 47 |   0 | AdminShop  | Vortex_mkII   |       3 |               0 |     64 |   0.1 | 1306616272 |
    | 48 |   1 | AdminShop  | Baron_Warlock |       1 |               0 |     64 |    10 | 1306836446 |
    +----+-----+------------+---------------+---------+-----------------+--------+-------+------------+
    12 rows in set (0.00 sec)
    
    
    My config file:

    Code:
    reverseButtons: false
    sell: true
    distance: 1
    position: 'ANY'
    protection: false
    LWCprotection: false
    signLWCprotection: false
    log: true
    logToFile: false
    logFilePath: "plugins/iConomyChestShop/iConomyChestShop.log"
    sneakMode: true
    allowUsedItemsToBeSold: false
    stackUnstackableItems: false
    useDB: true
    howLongToStoreInformationInDB: 600
    intervalBetweenTransactions: 100
    generateTransactionList: false
    intervalBetweenGeneratingTransactionList: 5
    showUnusedItemsInGeneratedList: false
    separatingLineAfterTransaction: false
    doNotRemoveSignIfNotCorrect: false
    serverAccountName: ""
    showOutOfStock: true
    showMoneyAfterTransaction: true
    lang:
        ...
    I'm using craftbukkit 803, but it also happens with 816 which I'm currently testing. I'm also using iConomy 5.
     
  8. Offline

    wordy007

    Does this plugin work with permissions 3.0? As unless i give my users admin privilages they cannot buy from the shops even though they have the correct privilages. This is what my privilages look like:
    http://pastebin.com/XF8inCfB

    As you can see the group Member has the buy and sell but when they use the chest they cannot use them.
     
  9. Offline

    XSilver

    How to change the name of the the material ? From one language to another? For example:
    ADMINSHOP
    B 10:5 S
    DIRT
    And you have to change "DIRT"
     
  10. Offline

    skohlhepp

    Can you add a feature that enables a player to have a sign somewhere (like on a wall) and have the chest with the items in it at a different location? like in a safe house or something? Also in the stores all of the chests seem like they are clogging up the space. If you could it would be greatley appreciated!

    Thanks,
    skohlhepp
     
  11. on CB818: Afer buying an item from a shop you have to relog before item becomes visible in inventory. Maby add some refresh thing after purchase.
     
  12. Offline

    milo

    i'm having the same problem with my server, everything works fine but at some occasions people have to relog to see the items they have bought, server is not giving any errors
     
  13. Offline

    kahlilnc

    Some one should fork it while he is gone?
     
  14. Offline

    Brandon Korenek

    For some reason i can buy and sell stuff on server but it doesnt change how much money you have... i can give money between players with /money pay XXX but when i try to purchase or sell stuff this pops up on the server screen

    08:45:02 [INFO] Omfgabrandon [/5.169.5.57:53688] logged in with entity id 36 at
    (35.28125, 104.0, 3.5)
    08:45:02 [INFO] Loaded world: world
    08:45:04 [SEVERE] Could not pass event PLAYER_INTERACT to iConomyChestShop
    java.lang.IllegalArgumentException: Listener already listening
    at net.minecraft.server.Container.a(SourceFile:28)
    at net.minecraft.server.EntityPlayer.syncInventory(EntityPlayer.java:70)

    at org.bukkit.craftbukkit.entity.CraftPlayer.updateInventory(CraftPlayer
    .java:217)
    at com.Acrobot.iConomyChestShop.Shop.sell(Shop.java:118)
    at com.Acrobot.iConomyChestShop.ShopManager.sell(ShopManager.java:73)
    at com.Acrobot.iConomyChestShop.ShopManager.transaction(ShopManager.java
    :32)
    at com.Acrobot.iConomyChestShop.iConomyChestShopPlayerListener.onPlayerI
    nteract(iConomyChestShopPlayerListener.java:87)
    at org.bukkit.plugin.java.JavaPluginLoader$9.execute(JavaPluginLoader.ja
    va:299)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:310)
    at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEven
    t(CraftEventFactory.java:162)
    at net.minecraft.server.ItemInWorldManager.dig(ItemInWorldManager.java:6
    4)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:447)
    at net.minecraft.server.Packet14BlockDig.a(SourceFile:42)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:215)
    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:396)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:308)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    >
     
  15. Offline

    LastKossack

    Ey Acro! Here is my suggestion for the Sign :D

    [​IMG]
    (*)That # is an error xd

    So the format is:

    [​IMG]
     
  16. Offline

    imaxorz

    I think it's fine the way it is.

    @Brandon Korenek - Paste your whole load up log here and post a link http://pastebin.com/ What version of CB, iConomy and iConomy CS are you running?
     
  17. Offline

    mavbear

    Code:
    2011-06-02 23:59:47 [INFO] Starting minecraft server version Beta 1.6.6
    2011-06-02 23:59:47 [INFO] Loading properties
    2011-06-02 23:59:47 [INFO] Starting Minecraft server on 69.197.189.133:25565
    2011-06-02 23:59:47 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-767-g14a36a7-b819jnks (MC: 1.6.6)
    2011-06-02 23:59:47 [INFO] Preparing level "mavbearland"
    2011-06-02 23:59:47 [INFO] Preparing start region for level 0
    2011-06-02 23:59:48 [INFO] Preparing start region for level 1
    2011-06-02 23:59:48 [INFO] Preparing spawn area: 8%
    2011-06-02 23:59:49 [INFO] DataSourcePool [iConomyChestShop] autoCommit[false] transIsolation[SERIALIZABLE] min[2] max[20]
    2011-06-02 23:59:49 [INFO] SubClassFactory parent ClassLoader [org.bukkit.plugin.java.PluginClassLoader]
    wat

    Also should be noted I use iConomy 4.whatever and Permissions 2.7.whatever.
    Oh and I tried both JAR files from the links at the top of the post, no dice. They both yield the same crazy result seen above. Hnnngggg!!1
     
  18. Offline

    Donny

    Working fine for me on 819 and permissions 3.1.1
     
  19. Offline

    amunro

    Same problem here! Need to relog to see perchases!
     
  20. Offline

    mavbear

    Which link did you use?
     
  21. Offline

    Donny

  22. Offline

    xLoGiiKzZo

    When i create a shop it says: Shop Successfully created but nobody can buy or sell anything. When right or left clicking the sign nothing happens. I have sneakmode on true and even /buy,/chbuy,/sell,or /chsell dont fix the problem. im on 1.6
     
  23. Offline

    Acrobot

  24. Offline

    Rytharr

    Does this cause huge lag for anyone elses server when users are using shops. on mine if even one shop is in use the lag is awful and it has even crashed the server. using 2.73 with b818
     
  25. Offline

    xLoGiiKzZo

  26. Yes.
     
  27. Offline

    jakki

    "No economy plugin found" please help me :p
     
  28. Offline

    fritte

    Does not work with build 818 or 819 - please update :)
    Need to update my server - players have nothing else to do in this beatyful weather :p
    I have tried download version for MC 1.6
     
  29. Offline

    ArcFox

    I have no idea why it doesn't work but when I active the "generateTransactionList: true" option it doesn't create anything. :confused:

    Besides: Could you make an option that chestshop ONLY logs to the "iConomyChestShop.log" file and NOT to the server.log?
     
  30. Offline

    Acrobot

    @ArcFox
    Yeah, I have heard that - this might be an issue with bukkit's scheduler, or just my plugin.
    And yeah, sure.

    @fritte
    It works, download version for MC 1.6 please?

    @jakki
    Do you have iConomy 4/iConomy 5/BOSEconomy/Essentials Eco?

    @xLoGiiKzZo
    @Sorken
    In config, there is one option to change, it's on the top.
    Just change it, and the items will show up.
     
  31. Offline

    Acrobot

    @mavbear
    It's fine. It's not an error.
     

Share This Page