[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

    Acrobot

    mrdarien
    Sorry, but those errors don't tell me anything. I need the full stack trace.
     
  3. Offline

    beastman3226

    Could you add a feature that allows certain items to be sold versus others?
     
  4. Offline

    Acrobot

  5. Offline

    beastman3226

    Your awesome
     
  6. Offline

    Typical_Name

  7. Offline

    BeorcKano

    should have probably posted here first...

    Running most current versions of iConomy, ChestShop, and dev build 1.6.1 RO.1 Bukkit. Also have Essentials, PEX, Dynmap, WorldGuard,WorldEdit, WGCustomFlags, WGCF - Treefarm, WorldBorder, and Command iConomy.

    Buying from server/admin shops works just fine. I have my admin shop titled KanoCity (after my spawn town), and in the account.mini file, i have added the kanocity account string.

    Now, I can buy from that account just fine, currency transfers flawlessly. However, i cannot SELL to the admin shops successfully. The items are removed, I get the message that I just sold X item for X currency, but my account does not increase (I get no money) and the server account does not decrease (it loses no money).

    There are no error messages in console. I have added KanoCity as the admin shop title in the config file, and kanocity as the target account as well. I also noticed that sometimes, when I should have lost, say, $250, I lose, instead, $250.00000012 or the like. Makes for super long account strings that occasionally contain letters.

    Not sure what went wrong, or where.

    EDIT: tested it with a personal chest shop too. When they sold me cobblestone, I paid for it, but they never got the money. When they bought cobblestone ---

    SCREECHING HALT

    Yeah. I found out hat I did wrong... I'd accidentally set the server taxes to 100%. So, uh... if anyone else has had this issue, check that.

    Derp. >_<
     
  8. Offline

    HeatHunter

    Hello, I've found a bug in the ChestShop when trading enchanted items (e.g. Emerald).

    I've got CraftBukkit 1.6.2-R0.1, ChestShop v3.50 an iConomy installed.

    Then I enchanted an Emerald with Protection IV. I want to use this Item as cash money. When I create a shop with the option to buy and sell the item, I could buy the first item without trouble. But when I buy a second one it takes the money from my balance and the item out of the shop but the item doesn’t stack in my inventory. It disappears during the buying process.
    When I sell the items to the shop, the items also leave my inventory; I get the money from the shop, but the Item doesn’t stack in the shop, it also disappears.
    Could you please fix this problem?

    Greetings Hunter

    Edit:

    Wrote a ticket: 688
     
  9. Offline

    Acrobot

    HeatHunter
    Huh. I'll investigate it in the ticket, thanks for creating one! :)
     
  10. Offline

    ase34

  11. Offline

    Acrobot

    ase34
    Unfortunately, no. ChestShop has been recently Mavenized:

    https://github.com/Acrobot/ChestShop-3

    however I don't have any server to store the builds. You can try looking for maven servers hosting ChestShop on google, though. Good luck!
     
  12. Offline

    ase34

    Thx for your answer. I'll simply add ChestShop as a local dependency. :D
     
  13. Offline

    bulzai132

    when it will be 1.6.2 without buggs? or is it working 100% already?
     
  14. Offline

    Acrobot

    bulzai132
    Just try it. It's working fine for me.
     
  15. Acrobot
    Code:
    Changelog can be found on BukkitDev - [URL]http://dev.bukkit.org/server-mods/chestshop/files/[/SPOILER][/url][/URL]
    A little change is required ;)
     
  16. Offline

    Acrobot

    VADemon
    Thanks for pointing that out! Changing it now :)
     
  17. Offline

    smitester

    Ok I don't know for sure if you can do this but can you set it up so that a chest will only lock if a shop is made on the chest and no other time.
     
  18. Offline

    Acrobot

  19. Offline

    Mcyd

    This has probably been answered somewhere in the 238 pages but we are looking at adding this to our server and it lists as lockette being optional in the op, but the lockette plugin site list this as being a conflicting mod in its op.

    Do the 2 plugins work together or is one of these ops out of date?
     
  20. Offline

    Acrobot

    Mcyd
    It's working. I honestly don't get why the lockette page lists it as incompatible. It might be because it used to be incompatible for... like 1 week, at most, and Acru forgot (or didn't want to? I have no idea) to take it down.
     
  21. Offline

    Mcyd

    Thank you, That clears up that confusion, I have let the owner know to go ahead and install it then.
     
  22. Offline

    Paul O.

    how do i check my money? i cant do /balance or /money pls help
     
  23. Offline

    Paul O.

    nvm i figured it out :)
     
  24. Offline

    bassbeast

    is there a way to limit people that can spawn items from using spawned items in these shops?
     
  25. Offline

    Sycholic

    the only thing conflicting between lockette and chestshop is the fact of where you can place the signs... (atleast in my whole year of playing with both of them thats the only issue I ever found...)
     
  26. Offline

    morgcorp13

    hi im having trouble with buying items and selling. i have enough money to buy and sell but whenever i try to buy it says you do not have enough money. im using the latest craftbukkit server with the latest chestshop version and the latest essentials version.
    please help as i cannot open my server until this is fixed.
    thank you
     
  27. Offline

    Mcyd

    Do you have Vault installed? I don't think the plugin can access the economy without vault to pass the info between ChestShop and essentials econ.
    Edit: yep, as it states in the OP that you need a Vault supported econ, then you need Vault. Should probably just add that in the OP as a requirement or dependency, instead of reading between the lines for it.
     
  28. Offline

    JLLBEE

    I'm having the same issue as Morgcorp13 above!
    Details:
    Craftbukkit Ver. git-Bukkit-1.6.2-R1.0-3-g9532cb6-b2889jnks (MC:1.6.4)
    (Implementing API version 1.6.4-R0.1-SNAPSHOT)
    Chestshop Version is: 3.65
    iConomy 6 Version: 1.2.12-b136
    Essentials V2.11.1 Groupmanager Version 2.0 (2.10.1) (Phoenix) is Disabled!
    Worldguard Version 5.8
    Vault Version 1.2.12-b136

    I have added WG Flag "allow-shop: ALLOW" & "chestshop: ALLOW" to the region.
    I have ADDED the Perm. "ChestShop.shop.*" to the Group.

    I am able to Successfully create the shop - Confirms on the chat.
    when a player tries to buy, it tells them in chat, "[Shop] You don't have enough Money!"
    I have confirmed the the player has plenty of money/(only one player(not opped & in the group) and myself(Opped) right now.)
    The economy works. I have Serversigns plugin installed and the buy and sell works perfectly.
    I really need the ability for my user to have a chest shop - This will be a prison server when i get this fixed.

    anyway... the server.log outputs this when the player tries to buy:
    (Tried to buy more then once)
    Thanks for any help you could give. (I will be willing to whitelist and opped you if you need to do some testing)

    Code:
    2013-09-30 15:46:08 [SEVERE] Could not pass event CurrencyAmountEvent to ChestShop v3.65
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
        at com.Acrobot.ChestShop.ChestShop.callEvent(ChestShop.java:356)
        at com.Acrobot.ChestShop.Listeners.PreTransaction.PartialTransactionModule.onPreBuyTransaction(PartialTransactionModule.java:44)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
        at com.Acrobot.ChestShop.Listeners.Player.PlayerInteract.onInteract(PlayerInteract.java:102)
        at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
        at org.bukkit.craftbukkit.v1_6_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:190)
        at net.minecraft.server.v1_6_R3.PlayerInteractManager.interact(PlayerInteractManager.java:373)
        at net.minecraft.server.v1_6_R3.PlayerConnection.a(PlayerConnection.java:630)
        at net.minecraft.server.v1_6_R3.Packet15Place.handle(SourceFile:58)
        at net.minecraft.server.v1_6_R3.NetworkManager.b(NetworkManager.java:296)
        at net.minecraft.server.v1_6_R3.PlayerConnection.e(PlayerConnection.java:116)
        at net.minecraft.server.v1_6_R3.ServerConnection.b(SourceFile:37)
        at net.minecraft.server.v1_6_R3.DedicatedServerConnection.b(SourceFile:30)
        at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:592)
        at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:227)
        at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:488)
        at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java:421)
        at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:583)
    Caused by: java.lang.NoSuchMethodError: net.milkbowl.vault.economy.Economy.getBalance(Ljava/lang/String;Ljava/lang/String;)D
        at com.Acrobot.ChestShop.Listeners.Economy.Plugins.VaultListener.onAmountCheck(VaultListener.java:63)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425)
        ... 34 more
    2013-09-30 15:46:08 [SEVERE] Could not pass event CurrencyCheckEvent to ChestShop v3.65
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
        at com.Acrobot.ChestShop.ChestShop.callEvent(ChestShop.java:356)
        at com.Acrobot.ChestShop.Listeners.PreTransaction.PartialTransactionModule.onPreBuyTransaction(PartialTransactionModule.java:49)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
        at com.Acrobot.ChestShop.Listeners.Player.PlayerInteract.onInteract(PlayerInteract.java:102)
        at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
        at org.bukkit.craftbukkit.v1_6_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:190)
        at net.minecraft.server.v1_6_R3.PlayerInteractManager.interact(PlayerInteractManager.java:373)
        at net.minecraft.server.v1_6_R3.PlayerConnection.a(PlayerConnection.java:630)
        at net.minecraft.server.v1_6_R3.Packet15Place.handle(SourceFile:58)
        at net.minecraft.server.v1_6_R3.NetworkManager.b(NetworkManager.java:296)
        at net.minecraft.server.v1_6_R3.PlayerConnection.e(PlayerConnection.java:116)
        at net.minecraft.server.v1_6_R3.ServerConnection.b(SourceFile:37)
        at net.minecraft.server.v1_6_R3.DedicatedServerConnection.b(SourceFile:30)
        at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:592)
        at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:227)
        at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:488)
        at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java:421)
        at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:583)
    Caused by: java.lang.NoSuchMethodError: net.milkbowl.vault.economy.Economy.has(Ljava/lang/String;Ljava/lang/String;D)Z
        at com.Acrobot.ChestShop.Listeners.Economy.Plugins.VaultListener.onCurrencyCheck(VaultListener.java:80)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425)
        ... 34 more
     
  29. Offline

    Acrobot

    morgcorp13
    Hey - exactly as Mcyd says, you need Vault.

    And sorry for the misinformation, I fixed it now.

    JLLBEE
    You are using an outdated Vault version. Update.
     
  30. Offline

    JLLBEE

    I thought i had the newest version, but i see one came out earlier this last month, Thanks. It is Working now!
    Great Job!
     
  31. Offline

    JLLBEE



    ok great that problem is fixed, now i got another one - Same setup.
    I use Simple market region to rent a shop plot to a player.
    This make the player a member of the region until it expires (not an owner)
    This will not allow a member to open a chestshop, just owners, is there a way around this?
     

Share This Page