[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

    TopGear93

    did you by anychance have an API for on ChestShop? Im hoping you have one, id like to add chestshops to my Occupy plugin. if not ill have to create my own chestshop system.
     
  3. Offline

    ShadowStep717

    Hi, I seem to be having trouble with permissions I guess? Everyone on my server can make a shop just fine but when anyone tries to use it we get the message/s "you cannot sell/buy here". Here is my permissions so far: groups:
    New Player:
    default: true
    info:
    prefix: '&f[Miner&f]&b'
    suffix: '&3'
    build: true
    permissions:
    - lockette.user.create.*
    - BackToBody.btb
    - SpawnControl.sethome.basic
    - SpawnControl.home.basic
    - SpawnControl.spawn.use
    - telepads.use
    - telepads.list
    - iConomy.help
    - iConomy.holdings
    - iConomy.payment
    - ChestShop.shop.buy
    - ChestShop.shop.sell
    - ChestShop.shop.create
    Moderator:
    default: false
    info:
    prefix: '&a[Moderator&a]&9'
    suffix: '&b'
    build: true
    inheritance:
    - New Player
    permissions:
    - dcp.starterkit
    - dcp.starterkit.other
    - dcp.goldtool
    - dcp.goldtool.other
    - dcp.clean
    - dcp.clean.other
    - dcp.creative
    - dcp.survival
    - dcp.heal
    - dcp.giveitem
    - dcp.givearmor
    - dcp.diamondtool
    - telepads.create
    - telepads.delete
    - telepads.link
    - iConomy.accounts.*
    - - iConomy.accounts.create
    - - iConomy.accounts.remove
    - - iConomy.accounts.purge
    - - iConomy.accounts.empty
    - iConomy.holdings.others
    - playerfreeze.*
    - ChestShop.nofee
    - ChestShop.mod
    Admin:
    default: false
    info:
    prefix: '&d[Admin&d]&e'
    suffix: '&4'
    build: true
    inheritance:
    - Moderator
    permissions:
    - '*'
    -------------------------------------------------------------------------
    CraftBukkit version: git-Bukkit-1.1-R3-b1846jnks (MC:1.1) (Implementing APT version 1.1-R3)
    sorry in advance, im new at permissions.
     
  4. Offline

    Acrobot

    TopGear93
    Well, you can surely use it like me, but I don't guarantee that there will be no changes.
    The code is as messy as it gets though :p It was coded almost a year ago, and I didn't know java as well as now back then :p
    You can also use reflection to change the code.

    Basic tutorial:
    (Every package here is inside com.Acrobot.ChestShop, so when you have /Shop.Shop, it means com.Acrobot.ChestShop.Shop.Shop)

    /Shop.Shop is the shop object you want to create. (Yep, I actually know that choosing an object for it was wrong, but well - it works anyway so I didn't really mess with it)
    It is created by passing:
    • /Chests.ChestObject, which is a wrapper for chests/inventory objects (that means that it's actually possible to make an inventory chestshop). You might want to use /Chests.MinecraftChest though, which can handle double-chests well. You just need to pass a Bukkit chest object to it.
    • boolean, which specifies if the transaction is a buy or sell transaction (this will probably be deleted in a newer version, so be warned :p)
    • Bukkit Sign object - this is the chestshop's shop sign
    • ItemStack (theoretically an infinite amount, but I use only itemStacks[0] - it doesn't work with multiple at the moment :/)
    Then, you can execute Shop.buy(Player), or Shop.sell(Player)
    In Shop.buy/sell the Player in the argument is the CLIENT, not the shop owner.

    Well, that's basically it :p
    You can also use the String->Item parsing in /Items.Items (you want to use getItemStack(String name) for the best recognition). It can take formats like Item ID's or item names, followed by a durability ":2" or enchantment "-a1", or even "Red Wool"

    (Enchantments are coded and encoded by /Utils.uEnchantment)

    If you need any more help, feel free to PM/write to me.

    ShadowStep717
    You are not creating the shop right.
    You have to do either (B and S can be on either side):
    B 5
    S 5
    B 5:5 S
     
  5. Offline

    01banshee

    Hey, I can't get the shop to work at all. When I right-click I get "[EssentialsProtect] Protection owner: 01banshee"
    When I left-click, nothing happens.
    Bukkit vsn: R4​
    CS version: 3.34​
    Economy plug: Essentials​
    Permissions: Essentials​
     
  6. Offline

    Acrobot

    01banshee
    I've heard that sometimes essentials mess up the ChestShops.
    For the left-click issue, go to bukkit.yml, change spawn-radius to 0.

    Also, do you get any errors?
     
  7. Offline

    FuRiouSOne

    Disable essentials sign protection in the essentials config file. Let chest shop protect shops = fixed. What i did.
     
  8. Offline

    TopGear93

    if thats the case it might be easier for me to create my own system. it cant be that hard right? lol
     
  9. Offline

    Acrobot

    TopGear93
    Oh well, it can be hard, believe me :)
    The concept seems easy, but the little things like item recognition take a lot of time :)
     
    mushroomhostage and TopGear93 like this.
  10. Offline

    01banshee

    How do you disable the Essentials sign protection?
     
  11. Offline

    der_robert

    Hello,

    I have a problem with iConomy ChestShop in conjunction with SCL (SimpleChestLock).

    And indeed, when I close a Chest with SCL (which works fine) and a "Chest Shop" sign next to add, I can open it as a non-owner of the Chest.

    My question is, this is a "problem" of SCL or "Chest Shop" or both and is it possible to fix that?

    I use CB1.1-R4 with a few plug-and, of course, SCL and iConomy + "Chest Store".

    Robert

    btw here is the answer form the SCL Thread:

     
  12. Offline

    Acrobot

    der_robert
    I didn't know the SCL exists :p
    I have my own chest protection, but if you want to, I can make it also support SCL.

    I override the event, because in the past (don't know about now), WorldGuard blocked shop interaction.
     
  13. Offline

    der_robert

    Yeha, that would be great! The User on my Server love your Plugin, and I do not want to miss it!
     
  14. Offline

    Epics

    2012-02-11 10:43:20 [SEVERE] Could not pass event org.bukkit.event.block.SignChangeEvent to ChestShop
    java.lang.ArrayIndexOutOfBoundsException: 0
    at com.Acrobot.ChestShop.Items.Items.getItemStack(Items.java:54)
    at com.Acrobot.ChestShop.Listeners.signChange.onSignChange(signChange.java:34)
    at org.bukkit.plugin.java.JavaPluginLoader$38.execute(JavaPluginLoader.java:530)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:57)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:453)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:1094)
    at net.minecraft.server.Packet130UpdateSign.handle(SourceFile:41)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:100)
    at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:552)
    at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:537)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:435)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:465)
     
  15. Offline

    mrkirby153

    I have a problem. The People on my server can't buy from adminshops. They have ChestShop.shop.buy but it says "You can't sell here"

    Please help
     
  16. Offline

    Epics

    "You can't sell here" implies that the format is
    Code:
    Admin Shop
    x
    S x
    
    which would need the permission
    Code:
    ChestShop.shop.sell
    If you want the players to be able to buy, you'd do...
    Code:
    Admin Shop
    x
    B x
    
    With the permission you stated above.
     
  17. Offline

    mrkirby153

    OH!!! I was using the format

    Code:
    AdminShop
    X
    B X: X S
    
     
  18. Offline

    Epics

    It would be...
    Code:
    Admin Shop
    X
    B X:S X
    ItemID
    [/code]

    Hope this helps,
    Epics
     
  19. Offline

    Jarek_fgdark

    Hmmmm :confused:" how to i get the command /money and be able to start out with money and use it ect..?
     
  20. Offline

    Acrobot

  21. Offline

    brendanbond123

    how do we download it
     
  22. Offline

    Acrobot

    brendanbond123
    Download what?
    If you want to download the plugin, normally you'd click the huge DOWNLOAD text, but at the moment it is not yet approved, so you need to click the "wget" download.
     
  23. Offline

    01banshee

    I finally got essentials disabled. But now, The player shops won'y Buy/Sell, and Admin shop can only buy
     
  24. Offline

    Acrobot

    01banshee
    For admin shop issue, go to bukkit.yml, change spawn-radius to 0.
    You have to tell me more though about the player shops.
     
  25. Offline

    01banshee

    I changed the spawn-radius to 0, and it still doesn't work
    The player shops just do nothing. What do you need to know?
     
  26. Offline

    Epics

    Did you restart after changing the spawn radius?
     
  27. Offline

    01banshee

    Yes, I always shut it off to mess with the coding
     
  28. Offline

    Epics

    Well if you want, you can send me the IP and I'll come look.

    Turns out EssentialsEcon only works with Vault. When he installed Vault it worked fine!
     
  29. Offline

    Acrobot

    Epics
    Thanks Epics :)
    I'll look into it, I've heard of the API change, but I didn't think it was now :)
     
  30. Offline

    Woopass123

    do this work whit essentials eco?
     
  31. Offline

    Epics

    Yup, but for now you'll need to use Vault until Acro updates the new fetching method for Essentials API :)
     

Share This Page