[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

    cr0ss

    @Acrobot
    Hmm I am using PEX. Any idea on how I'd do that ( to your knowledge ) ? I'll try to look that up, but I don't think that is a possibility with groups, is it?

    Our donors have access to creative mode via a toggle with BCS (BurningCreativeSuite) to prevent any sort of economy flooding. However, with ChestShop they are able to sell to the shops still while in creative mode (putting items on their hotbar and still selling that way). Just disallowing the selling functionality if a player is in gamemode 1 would be excellent. But thanks for the quick response, I'll see if I can figure out a way to do it with PEX somehow.
     
  3. Offline

    maller

    When I try to create a new shop in version 3.28 and 3.29 I get "You don't have permissions to access this chest!"
    I have the chest locked with LWC when they are placed. If i remove the lock from the chest, I can create it with out any problems. What could be causing this ? In version 3.24 it works fine with locked chests.
     

  4. i do not get any errors in console
    only in-game "[shop] you do not have permissions to the chest" something like that.
     
  5. Offline

    CesarSMX

    @Acrobot

    Just to let you know, the problem was on the spanish language translation, i deleted it and the plugin is working again.
     
  6. Offline

    kernet

    Hi, using Factions players can buy from the shops placed in Safe Zone but cannot sell to it.

    Is there any chance to fix this bug?

    Thank you.
     
  7. @zyxep
    Did you tried to place the shop somewhere else? Seems the chest wasn't protected by you or it's a bug in the last CS version.
     
  8. Offline

    Meteo

    Umm for some reason, used pistons using redstone with redstonetorches etc, and this error came up.
    Code:
    22:40:22 [SEVERE] Could not pass event BLOCK_PISTON_EXTEND to ChestShop
    java.lang.NullPointerException
            at com.Acrobot.ChestShop.Listeners.blockBreak.cancellingBlockBreak(block
    Break.java:35)
            at com.Acrobot.ChestShop.Listeners.blockBreak.onBlockPistonExtend(blockB
    reak.java:70)
            at org.bukkit.plugin.java.JavaPluginLoader$46.execute(JavaPluginLoader.j
    ava:577)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:58)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:339)
            at net.minecraft.server.BlockPiston.g(BlockPiston.java:75)
            at net.minecraft.server.BlockPiston.doPhysics(BlockPiston.java:52)
            at org.getspout.spout.block.mcblock.CustomBlock.doPhysics(CustomBlock.ja
    va:217)
            at net.minecraft.server.World.k(World.java:520)
            at net.minecraft.server.World.applyPhysics(World.java:496)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:53)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.ja
    va:290)
            at org.getspout.spout.block.mcblock.CustomBlock.doPhysics(CustomBlock.ja
    va:217)
            at net.minecraft.server.World.k(World.java:520)
            at net.minecraft.server.World.applyPhysics(World.java:496)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:53)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.ja
    va:290)
            at org.getspout.spout.block.mcblock.CustomBlock.doPhysics(CustomBlock.ja
    va:217)
            at net.minecraft.server.World.k(World.java:520)
            at net.minecraft.server.World.applyPhysics(World.java:500)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:53)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.ja
    va:290)
            at org.getspout.spout.block.mcblock.CustomBlock.doPhysics(CustomBlock.ja
    va:217)
            at net.minecraft.server.World.k(World.java:520)
            at net.minecraft.server.World.applyPhysics(World.java:499)
            at net.minecraft.server.BlockRedstoneWire.g(BlockRedstoneWire.java:53)
            at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.ja
    va:290)
            at org.getspout.spout.block.mcblock.CustomBlock.doPhysics(CustomBlock.ja
    va:217)
            at net.minecraft.server.World.k(World.java:520)
            at net.minecraft.server.World.applyPhysics(World.java:495)
            at net.minecraft.server.BlockRedstoneTorch.a(BlockRedstoneTorch.java:56)
    
            at org.getspout.spout.block.mcblock.CustomBlock.a(CustomBlock.java:228)
            at net.minecraft.server.Chunk.a(Chunk.java:339)
            at net.minecraft.server.World.setRawTypeIdAndData(World.java:347)
            at net.minecraft.server.World.setTypeIdAndData(World.java:444)
            at net.minecraft.server.BlockRedstoneTorch.a(BlockRedstoneTorch.java:142
    )
            at org.getspout.spout.block.mcblock.CustomBlock.a(CustomBlock.java:200)
            at net.minecraft.server.World.a(World.java:2315)
            at net.minecraft.server.World.doTick(World.java:1738)
            at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:503)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:414)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
    >
    And using CB 1533.
     
  9. Offline

    Acrobot

    @maller
    @zyxep
    The LWC lock would cause this, when it's not assigned to your account.
    @CesarSMX
    Thanks :)
    I don't check every translation - I just thought that the submitters checked them before.
    @kernet
    Go to bukkit.yml, change spawn-radius to 0.

    @cr0ss
    I honestly don't know, as I don't use PEX.
    You should probably ask its maker about that :)

    @Meteo
    ChestShop version?
     
  10. Offline

    kernet

    Thanks!
     
  11. Offline

    w7gamer

    Maybe a syntax check when creating shops so it's not possible to create non-working shops (and be charged for it), especially since the refund for taking down a sign doesn't work.
     
  12. Offline

    Meteo

    Using chest shop 3.29
     
  13. Offline

    Acrobot

    @w7gamer
    Refund should be working now. (ChestShop 3.29)

    @Meteo
    Hmm... Weird. What exactly did you do?
     
  14. Offline

    cr0ss

    @Acrobot

    Yeah I do not think there is any way to do an "if in creative mode, do NOT have THESE perms" check in PEX, or any permission system actually.

    Would this check be something you could look into for ChestShop, however?
     
  15. Offline

    Acrobot

    @cr0ss
    Sure, I hope there's an API for that.
     
  16. Offline

    maller

    When a player place a chest on my server it's set to auto lock to their account as soon as it's placed. Now they have to unlock it, place the sign and then lock it again. This was and is not needed in the previous versions of Chestshop.
     
  17. Offline

    Meteo

    @Acrobot well the moment i used redstone and redstone torches with psitons, it spams my server console with error msgs, only problem is the lag, other than that nothing else is afflicted.
     
  18. Offline

    Excal1bur

    Hello Acrobot,

    Is it planned to write out the ID's of the potions in the future, in letters or abbreviations?

    current version - Health Potion II:

    Username
    1
    B 60
    Potion:8229

    Example:

    Username
    1
    B 60
    Potion of Health


    Otherwise I like your plugin very well.

    It brings a lot of fun in Minecraft

    Excal1bur
     
  19. Offline

    Acrobot

    @Meteo
    Ok, going to fix that today (00:48 here)

    @maller
    Hmm... OK, I'll check that. Are you using any other chest protection plugins?

    @Excal1bur
    Totally, but it will work probably like:
    Speed potion
    etc.
    (Prefix before potion name)
     
  20. Offline

    Meteo

    @Acrobot no no, dont rush i dont want you to work yourself to hard, its a great plugin.

    Oh btw, another error i recently found,
    Code:
    15:48:12 [SEVERE] Could not pass event ENTITY_EXPLODE to ChestShop
    java.lang.NullPointerException
            at com.Acrobot.ChestShop.Listeners.blockBreak.cancellingBlockBreak(block
    Break.java:35)
            at com.Acrobot.ChestShop.Listeners.entityExplode.onEntityExplode(entityE
    xplode.java:14)
            at org.bukkit.plugin.java.JavaPluginLoader$66.execute(JavaPluginLoader.j
    ava:721)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:58)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:339)
            at net.minecraft.server.Explosion.a(Explosion.java:181)
            at net.minecraft.server.World.createExplosion(World.java:1522)
            at net.minecraft.server.WorldServer.createExplosion(WorldServer.java:215
    )
            at net.minecraft.server.EntityCreeper.a(EntityCreeper.java:122)
            at net.minecraft.server.EntityCreature.m_(EntityCreature.java:70)
            at net.minecraft.server.EntityLiving.d(EntityLiving.java:884)
            at net.minecraft.server.EntityMonster.d(EntityMonster.java:26)
            at net.minecraft.server.EntityLiving.w_(EntityLiving.java:294)
            at net.minecraft.server.EntityMonster.w_(EntityMonster.java:30)
            at net.minecraft.server.EntityCreeper.w_(EntityCreeper.java:72)
            at net.minecraft.server.World.entityJoinedWorld(World.java:1251)
            at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:1
    04)
            at net.minecraft.server.World.playerJoinedWorld(World.java:1233)
            at net.minecraft.server.World.tickEntities(World.java:1140)
            at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:507)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:414)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
     
  21. Offline

    ArcFox

    @Acrobot
    I'm not sure if it is already in the plugin but could you make it possible that a player sells everything he has of a certain item to the AdminShop? I'm running a very big Mall in my server via the Adminshop and it would be a HUGE advantage to create one sign for selling and the rest for buying, so someone who wants to sell 26 diamonds doesn't have to use the 'sell 16 diamonds' + 'sell 8 diamonds' + 2x 'sell 1 diamond" signs.
    Something like:
    #Adminshop
    #Everything
    #Sell 10 (per item)
    #Stone
    So if you have 26 stone you only once click the sign and he automaticly sells 26 stone for 26 x 10 = 260.

    And a second suggestions, though not that important: Would it be possible to make a "Undo the last buy / sell from Adminshop" sign? Not an important topic but if you don't have anything to do, this would be a nice idea! :p

    Big thanks in advance! I love your plugin! One of the favorites on my server!
     
    Acrobot likes this.
  22. Offline

    Acrobot

    @ArcFox
    Not in the plugin atm. May be in ChestShop 4, in which I'll re-write the shop system.

    And yeah - undo can be done too :)
    Thanks :)
    (If you could post that ideas on here: http://dev.bukkit.org/server-mods/chestshop/tickets/ I'd be very very happy :p)

    @Meteo
    Hmm... It seems like I cannot re-produce it.
    Can you check the version (there was an error just like this, but in version 3.28, not in the latest one - 3.29)
    /csversion
    And tell me how can I test it?
     
  23. Offline

    Meteo

    Hmm had 9 pistons, 3 in each row and column and had it so that 1 pressureplate would activate the redstonetorch that would pulse power into the already lit redstone torch to turn off, making the pistons to back off
     
  24. Offline

    Acrobot

    @Meteo
    And the /csversion?
    What does it tell?
    (I'm going to sleep now, Goodnight :p)
     
  25. Offline

    ArcFox

    @Acrobot
    No way you could just squeeze it in fastly? Selling everything you got shouldn't be thaaaat many lines of code :p I'm redoing the whole mall at the moment and reducing the amounts of signs by this method would be AWESOME! :D

    Posting the ideas at your link now :)
     
  26. Offline

    destruktoid

    is there an ETA for an update of the plugin for the latest build?
     
  27. Offline

    maller

    Nop, LWC is the only one.
     
  28. Offline

    ArcFox

    Oh right, there is a new latest recommended build that everyone has to obbey! /sarcasm

    Dude, just install the plugin. I'm running Chestshop 3.29 with Bukkit #1550 (MC 1.0.0) without any problems, so why should you have?
     
  29. Offline

    Nerrion

    Alright, I got one little problem.

    Everything is working fine, but normal members can't buy from any shops, even though I have given them the permission to buy!

    I'm using Bukkit 1555, and PEX.
     
  30. Offline

    Acrobot

    @Nerrion
    Hmm...
    Go to bukkit.yml and change spawn-radius to 0?
     
  31. Offline

    Nerrion

    What does spawn-radius mean, and what does it have to do with my permissions?
     

Share This Page