[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

    PatrickFreed

    Yeah, my permissions are fine. (I ran it with default permissions) Can you update the title to show the proper build it requires?
     
  3. Offline

    Acrobot

    Ugh, I will, when the craftbukkit bamboo site is up (I don't remember the correct build)
     
  4. Offline

    PatrickFreed

    Thanks dude.:D
    Oh, and the bamboo site no longer exists.
    http://ci.bukkit.org/builds
    This is the new site ^^^^
     
  5. Offline

    Acrobot

    Oh, thanks :)
    By the way, I liked the old site better :/
    Can't find relases 200-400
     
  6. Offline

    PatrickFreed

    Do you think it'll work with 401+?
     
  7. Offline

    Acrobot

    @Patrick
    I think yes, I'll try it now.
    @Aidan
    I don't use this code in this event.

    EDIT: b402 works fine.
     
  8. I see this:

    @Override
    public void onBlockPlace(BlockPlaceEvent e) {
    Material mat = e.getBlockAgainst().getType();
    if (mat.equals(Material.SIGN) || mat.equals(Material.SIGN_POST) || mat.equals(Material.WALL_SIGN)) {
    e.setCancelled(true);
    }
    }

    Im a noob programmer, but i thought that the Against shouldn't be there? If it should, can you explain why? Thanks :D


    EDIT: When i used 402 it didn't work?
     
  9. Offline

    Acrobot

    @Aidan
    onBlockPlace isn't onBlockRightClick
    Also, I think it is because the ..against gets the block you targetted while placing block, when in onBlockRightClick it returns correct block now without the need to ..against :)
    Hope you know what I mean :)
     
  10. wow i feel dumb :p Thanks tho... I still pull a error with 402 tho... its really werid?
     
  11. Offline

    Acrobot

    Yes, It is weird...

    Send me your permissions config.yml file, please? :3
     
  12. Offline

    unrivaledneo

    @Acrobot
    I also had stores set up next to it selling wool from 10-35 $ each
    --- merged: Feb 20, 2011 11:44 PM ---
    Ah you know what it was... i tried setting up color numbers &6 lmao which didnt work
     
  13. Call me an idiot... do it :p I would get a error because my config file was the one from 0.2, i didn't realize it updated... Today is not my day :D
     
  14. Offline

    unrivaledneo

    Now i get a not enough items to sale when im selling stuff, it lets me then stops half way saying i ran out which i didnt.
     
  15. Offline

    Acrobot

    @unrivaledneo

    Are you sure you don't use double chests?
    EDIT: I'm also going to sleep now :p
     
  16. Offline

    PatrickFreed

    For me, Permissions doesn't work with b402, and neither does iConomy.
     
  17. Offline

    unrivaledneo

    Yea i dont use double chests, i fixed one problem the 61 thing but now i have 4 wool and says wont buy them lol
    --- merged: Feb 21, 2011 12:47 AM ---
    My sign is set up like

    buy
    1
    5
    wool

    it buys everything till i have less that 5 in my inv lmao if i do

    buy
    1
    1
    wool

    it buys everything
     
  18. Offline

    Meteo

    Code:
    SEVERE: Could not load plugins\iConomyChestShop.jar in plugins: null
    org.bukkit.plugin.InvalidPluginException
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:79)
            at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
    java:117)
            at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
    .java:82)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:53)
            at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:171)
            at net.minecraft.server.MinecraftServer.c(MinecraftServer.java:158)
            at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:110)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:209)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:512)
    Caused by: java.lang.NoSuchMethodException: com.bukkit.Acrobot.iConomyChestShop.
    iConomyChestShop.<init>(org.bukkit.plugin.PluginLoader, org.bukkit.Server, org.b
    ukkit.plugin.PluginDescriptionFile, java.io.File, java.io.File, java.lang.ClassL
    oader)
            at java.lang.Class.getConstructor0(Unknown Source)
            at java.lang.Class.getConstructor(Unknown Source)
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:75)
            ... 8 more
    Sigh.... again...
     
  19. Offline

    unrivaledneo

    Also for buying for some reason I think whatever the price is it is trying to see how much of the item you are selling/buying if its less that sell price it wont work. Confusing it with quantity. I think i explained it right.
     
  20. Offline

    LogSpoon

    I deleted and reinstalled the latest version. Turns out my computer didn't auto-replace the old config file when I pasted! I just deleted and dropped the new one, works fine!
     
  21. Offline

    GamezGalaxy

    YAY I fixed the error
    You have to update to permission 2.0
    Anything under wont work :p
     
  22. Offline

    PandaVidya

    buying from people doesnt work with the newest craftbukkit builds :mad:

    edit: specifically, it gives them this message:
    you have not enough items to sell

    even when they have enough
     
  23. Offline

    Sebi

    I looked into new source and found why you are experiencing those problems. Plugin is getting first item available of certain type in your inventory and comparing it with required amount.

    Try putting everyting on one stack and tell what you see. I will inform Acrobot as soon as he is online.
     
  24. Offline

    Adellus

    I have permissions set up correctly exactly as specified in the OP, when someone tries to create a store it tells him he doesnt have permission to do this.
    Code:
    # Supports "Default" and "GroupUsers"
    plugin:
        permissions:
            system: default
    ##
    # Groups can contain inheritance.
    #   To make a group inherit the permissions from another
    #   group simply place the groups name in the "inheritance:"
    #   field seperated by commas.
    #
    #   Example: inheritance: Default,Admins,
    ##
    #   All permissions including the asterisks must be placed in single quotes.
    #   like so:
    #
    #       - 'general.spawn'
    #
    #   Otherwise errors will happen!
    ##
    #   Globalized Permission settings:
    #
    #       If a permission contains periods (.) you can denote a globalized parameter:
    #
    #           - 'general.*'
    #
    #       This will allow you to use all general commands.
    #
    ##
    #
    #   Single Asterisk denotes all commands:
    #
    #       - '*'
    ##
    groups:
        Default:
            default: true
            info:
                prefix:
                suffix:
                build: true
            inheritance:
            permissions:
                - 'general.spawn'
                - 'general.help'
                - 'iConomyChestShop.shop.create'
                - 'iConomyChestShop.shop.use'
                - 'iConomyChestShop.shop.sell'
                - 'iConomy.payment'
                - 'iConomy.access'
                - 'iConomy.rank'
                - 'iConomy.list'
                - 'iConomy.withdraw'
                - 'iConomy.deposit'
                - 'iConomy.reset'
                - 'permissions.reload'
                - 'iConomyChestShop.shop.create'
                - 'iConomyChestShop.shop.use'
                - 'iConomyChestShop.shop.sell'
                - 'iMonster.User'
                - 'mcmmo.skills.*'
                - 'mcmmo.motd'
                - 'mcmmo.chat.partychat'
                - 'mcmmo.chat.adminchat'
                - 'mcmmo.commands.ptp'
                - 'mcmmo.commands.party'
                - 'mcmmo.commands.whois'
                - 'mcmmo.commands.myspawn'
                - 'mcmmo.commands.setmyspawn'
                - 'mcmmo.tools.mmoedit'
                - 'tpack.cuboid'
                - 'tpack.items'
                - 'lwc.protect'
    Moderator:
        default: false
            info:
                prefix:
                suffix:
                build: true
        inheritance:
                - Default
        permissions:
                - 'general.time'
                - 'general.teleport'
                - 'general.teleport.here'
                - 'general.player-info'
                - 'lwc.mod'
    Admins:
        default: false
            info:
                prefix:
                suffix:
                build: true
        inheritance:
                - Moderator
        permissions:
                - '*'
                - 'lwc.admin'
    ##
    # DarkGrave has control over all commands.
    # sk89q can use /spawn & /time
    ##
    users:
        darkgrave:
        group: Admins
        permissions:
    sk89q:
        group: Default
        permissions:
        - 'general.time'
    adellus:
        group: Admins
        permissions:
    kageshukuun:
        group: Admins
        permissions:
    EDIT: Respaced it and now im getting this error

    Code:
    2011-02-21 03:03:21 [SEVERE] Could not load plugins\Permissions.jar in plugins:
    null
    org.bukkit.plugin.InvalidPluginException
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:85)
            at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
    java:129)
            at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
    .java:94)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:53)
            at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:179)
            at net.minecraft.server.MinecraftServer.c(MinecraftServer.java:166)
            at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:118)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:217)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:512)
    Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    
            at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
    rce)
            at java.lang.reflect.Constructor.newInstance(Unknown Source)
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:77)
            ... 8 more
    Caused by: mapping values are not allowed here
     in "<reader>", line 75, column 13:
                info:
                    ^
    
            at org.yaml.snakeyaml.scanner.ScannerImpl.fetchValue(ScannerImpl.java:74
    5)
            at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.ja
    va:307)
            at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:18
    3)
            at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(Par
    serImpl.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.composeMappingNode(Composer.java
    :230)
            at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
            at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:12
    2)
            at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:105)
    
            at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseCons
    tructor.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:178)
            at org.bukkit.plugin.java.JavaPlugin.<init>(JavaPlugin.java:41)
            at com.nijikokun.bukkit.Permissions.Permissions.<init>(Permissions.java:
    74)
            ... 13 more
     
  25. Offline

    PandaVidya

    that didnt work. same error

    @Adellus is that exactly how the spacing looks like in your permissions file? either you spaced it wrong or you pasted it wrong.
     
  26. Offline

    Sebi

    Oh sorry, my bad, It was not that part of the code I was looking for, but I found the right mistake now. :D
     
  27. Offline

    Acrobot

    Sorry, I fixed it now :p
     
  28. Does that mean that you re-uploaded? Or there will be a new version soon? Thanks for all this... I would love to be a beta tester
     
  29. Offline

    Moe041991

    I cant decide which i should use. SignTrader or ChestShop?

    I want people to be able to set up local shops (not global, a shop where you need to go!) and sell their stuff for iconomy money.

    They look a lot alike to me, but what are the advantages/disadvantages?
     
  30. Offline

    Acrobot

    @Aidan
    I reuploaded.
     

Share This Page