Inactive [ECON] BetterShop 2.0 - A 'Better' Server-wide Shop - Spout compatible :) [1240]

Discussion in 'Inactive/Unsupported Plugins' started by jascotty2, Jul 6, 2011.

  1. Offline

    jascotty2

    BetterShop - The "better" global command-based shop
    Version: 2.0
    Download: (static jar) BetterShop.jar
    download page with older versions


    BetterShop is now primarily on BukkitDev

    (you can still come this forum for some help, though)


    this plugin (original concept) was first made by jjfs85 here
    however, he stopped development (that i know of) once i started

    Features:
    plugin support
    for economy, currently dependent on one of:
    Permissions support

    Help support

    configurable
    Fully configurable colors and message text in config.yml file
    shoplist can have text alignment (read config for more info): <item> <l(eft-aligned)> <buy and sell info>
    - uses minecraft font character spacing, so is very close to perfectly aligned in chat
    shoplist can optionally not show listing tail (or head, but recommended to leave <page> of <pages>)
    Items can be colored in the new itemsdb.yml file
    also in itemsdb.yml: kits!
    - define your own kits that the shop can sell
    - three examples provided, edit and add to your liking
    Configurable Options:
    -max pagesize when printing shoplist
    -whether to broadcast all transactions publicly
    -name of the pricelist file/table
    -customsort: a custom sorting order, so you can have items at the top of the shop list
    -allowbuyillegal: if someone without BetterShop.admin.illegal can buy illegal items
    -whether maxstack should be honored
    -if used tools can be bought back
    -default color for items
    - and more!

    shop flexibility
    shopcheck will run a name comparison check, and return all matching items
    Item sub-type support for dye colors, cloth colors, etc: magentacloth = 35:2 = cloth:magenta
    "all" is a valid amount when buying or selling: "/sell cobblestone all" or "/sell all cobblestone"
    damaged tools can be resold for an adjusted value of sellprice*(1-(damage/maxdamage))
    buystack can be given multiple items, or number of stacks: "/buystack wool 5" or "/buystack wool blackdye reddye"
    shopsellall can be given multiple items (/sell all cobble gravel flint dirt)
    plural-insensitive items: if not found, will check if plural & remove "s"
    not just items can be bought anymore: can now buy LivingEntities, like dogs (wolf)
    signs can be used for buying & selling
    - first line: [BetterShop] (not case-sensitive)
    - second line: action: buy [amt], buyall, buystack, sell [amt], sellall, sellstack
    - third line: item (name, id, etc)
    - fourth line: unused (was going to make price, but decided on pricecheck instead)
    - to activate, someone with BetterShop.admin.makesign must left-click the sign.. the first line will change color when active
    - left-click for price check (or activate), right-click to buy/sell
    - if a unauthorized player destroys a block a sign is on, is canceled
    item categories
    - can search for items by category (in shoplist)
    players using Spout (if installed & enabled) can use a GUI Menu for buying & selling
    - default button is 'b'
    - displays items in shop in top half
    - item detail below with # in stock, buy/sell price, & buttons to buy & sell
    - amount to buy/sell can be set in text box or with up/down buttons

    administration
    Every item and subtype can be priced differently
    Disable buying or selling of an item by giving it a price of -1 (0 makes it free)
    command aliases to stop carpal tunnel
    many commands have sub-aliases.. eg. shoplist kits will run shoplistkits
    MySQL pricelist support
    MySQL pricelist can be cached for a given timespan (decreases table selects) (flatfile is cached until manually updated)
    Transaction records (MySQL or flatfile as .csv)
    Downloads mysql-bin.jar dependency automatically
    buy/sell cap in program set to 999,999,999 (not that you'd be using that much, but the cap is to prevent other errors)
    if encounters errors while editing a player's account, will attempt to reload iConomy (i've had issuses with it before)(may remove in a future update.. seems to work better now)
    can backup the current pricelist: /shop backup
    can restore from backup: /shop restore <file>
    can import new prices in a batch from a csv (or old yml format) : /shop import <file>
    on start, can check the download page to see if there is an update available
    shop can be given a finite stock from which to buy & sell
    /shop ver[sion] to check the current version & see if there's an update
    /shop update to manually download & install the most recent version
    MinecraftIM support: forward errors or all messages
    checks for missing & unused configuration nodes
    strings have default values if missing
    auto error reporting added (can be disabled)
    custom message you can send with the error report
    help main page integration can be disabled
    global shop can be disabled & only allow signs to be used
    can use permissions to define discounts for certain users
    - uses nodes in "BetterShop.discount.xxxx"​
    - nodes defined in config under discountGroups​
    - ex: discountGroups:​
    VIP: 10 # gives 10% discount to players with BetterShop.discount.VIP​

    Version 2.0 - 9/24/11
    near-complete rewrite
    - more modular, should be easier to add new features
    added region-based shop support
    - just main shop for now
    - config modes:
    - - shop.commandShop: global
    - - - regions are areas where command-based shop access is disabled
    - - shop.commandShop: regions
    - - - globally disabled, except for within regions
    - - shop.commandShop: both
    - - - allows command-based shop access from anywhere
    - - shop.commandShop: none
    - - - cannot use commands (or spout) to use the shop
    - regions are defined by first selecting a region in worldguard
    - - after regions have been defined, can put the WorldEdit.jar in the lib folder
    now checks from 2 mirrors (still on git)
    - not really needed, but the code behind it looks cleaner
    finally adopted some license to support open development.
    - now the source is licenced under the GNU General Public License
    - http://www.gnu.org/licenses/gpl.txt
    added pages menu option (default) so spout scrolling goes by page, not column
    added a fix for a spout button error
    fixed a spout error where may show amount stock can sell, not buy
    added category switching (spout)
    - can use 'cycle' for a button to cycle through the categories (shows more per-page)
    - or use 'tabbed' for buttons at the top that can be selected
    chest shop interface added :D
    - to define a chest, point at the chest & type "/shop chest define"
    - automatically detects double-chests
    - multiple users can use the same chest shop
    - - each user gets a customized chest screen
    - - items in the display show either max stack, or max of that item the user can afford
    - setting for "chestSellBar", which allows selling to a chest which is full (without buying anything)
    tnt explosion cancelation settings for sign/chest shop added
    - should be more efficient than prior method
    commandlog format moved in config & added more formatting options
    updated Register methods (fixes iCo6 errors)
    added a rudimentary spell check routine
    - if an item name doesn't match at first, and there is 1 match for closeness, returns that item
    sign shop handling rewrote
    - should be more efficient
    - can now define custom prices for transactions
    - - 4th line contains cost, doen't have to just be a number
    - - - "1.23", "$1.23", "1.23 Dollars", "$1.23 total" are all acceptable
    - - for a given amount, define the total cost
    - - if using "sellall" or "buyall", define unit cost
    categories have been implemented in buy & sell
    - can sell all items in a category, or buy an amount of each item in a category
    - ex. "/sellall food"
    sign & chest shops are protected from endermenv (if shop.(sign & chest)DestroyProtection = true)
    sql routines updated for foreign locales

    Full changelog can be found in the readme on git

    Support development!
    if you really like this & don't want to see it go by the wayside, [​IMG]
    (i make no money maintaining plugins)
    if you can't donate, at least a "like" would help ;)
     
  2. Offline

    shadydeath999

    @<Edit by Moderator: Redacted mediafire url> working plugin.yml for the jar: <Edit by Moderator: Redacted mediafire url> (this one has working permissions to)
     
    Last edited by a moderator: Jul 13, 2017
  3. Offline

    jascotty2

    not quite correct (shop shouldn't have permission node)..
    here's the current beta version: <Edit by Moderator: Redacted mediafire url>
     
    Last edited by a moderator: Jul 13, 2017
  4. Offline

    shadydeath999

    i took the old plugin.yml and replaced permission: with permissions: and nade it work for me again
     
  5. Offline

    Techykid3

    @jascotty2

    Please support iConomy 6.0.3. :)
     
  6. Offline

    jascotty2

  7. Offline

    Techykid3

    Before I do, what are the risks? I just want to make sure this wont corrupt the map, or something like that, or my mysql database :)
     
  8. Offline

    jascotty2

    won't corrupt your map :)
    there are some major internal changes, but the only external difference you may want to look at is the changes in the configuration file.. and even that can be ignored if you want to
     
  9. Offline

    Techykid3

    @jascotty2 I'll test it in about 30 minutes :)

    Runs perfectly on a server with 70 + plugins

    Java 7 Crossover
    Craftbukkit Build #1122
    x64


    Runs fine - No errors with iConomy 5.0.1, now to test 6.0.3

    Alright, Results!

    Console Spam :(

    Code:
    2011-09-17 23:32:00 [SEVERE] Could not pass event PLUGIN_ENABLE to BetterShop
    java.lang.NoClassDefFoundError: com/nijiko/coelho/iConomy/iConomy
    	at com.nijikokun.register_21.payment.methods.iCo4.isCompatible(iCo4.java:61)
    	at com.nijikokun.register_21.payment.Methods.createMethod(Methods.java:95)
    	at com.nijikokun.register_21.payment.Methods.setMethod(Methods.java:141)
    	at com.nhksos.jjfs85.BetterShop.BSEcon.onPluginEnable(BSEcon.java:38)
    	at com.nhksos.jjfs85.BetterShop.BetterShop$PluginListener.onPluginEnable(BetterShop.java:86)
    	at org.bukkit.plugin.java.JavaPluginLoader$44.execute(JavaPluginLoader.java:548)
    	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
    	at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:892)
    	at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:278)
    	at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:171)
    	at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:154)
    	at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:297)
    	at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:284)
    	at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152)
    	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348)
    	at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    
    a million times.

    Posted ico 6 results...

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 17, 2016
  10. Offline

    jascotty2

  11. Offline

    Techykid3

    I got the error ONLY on /reload, and it also happened again.


    EDIT:

    Conflicts with essentials's /buy command, removed essentials, ran perfectly fine!

    If I were you, I would call this 1.6.8. Just because with 1.8 just coming out, there is bound to be bugs somewhere.
     
  12. Offline

    darkhelmet

    is there a way I can sell things with fixed quantities? We don't sell all items one at a time so we don't have prices worked out for one by one, but sometimes a price for ten, etc. We could do the math but would prefer to simply sell x items.
     
  13. Offline

    DrBreadgun

    What does it mean:
    I'm sorry, Dave. I'm afraid I can't do that
    I am using Minecraft 1.8
     
  14. Offline

    Techykid3

    Bukkit's new error message. Bukkit also likes to say:

    Bukkit tear. Bukkit sad. Bukkit wont let you. Bukkit tears.

    Or something like that..
     
  15. Offline

    jascotty2

    from Command.java testPermission(CommandSender), it's an internal permissions check
    (before the plugin checks for permission)
     
  16. Offline

    darkhelmet

    I'm using the latest version with the latest build of bukkit. I've imported a price list of my own and I've confirmed prices with /shopcheck feature. Glowstone dust for example shows as $12 buy, $10 sell. When I do a check with a quantity of 284, I see the correct sell amount. However, whe I actually sell it using /shopsellall I get:

    284 sold at 0.18 per.. for 50.00

    This is happening with everything and there's no discount permissions.

    UPDATE: This only happens when you use /shopsellall. Doing /shopsell dirt 64 works
     
  17. Offline

    jascotty2

    I'll look into that.. haven't noticed any problems before, but i also need to re-write some of the buy/sell code anyway
    thanks for letting me know :)
     
  18. Offline

    Vezorock

    Is there aversion of bettershop compatible with the new iConomy 6? Im still getting the console spam thing
     
  19. Offline

    enchanter100

    Are you using essentials? It has it's own shop feature and It also caused me issues. I had to start typing out more cause I couldn't figure out how to disable the essentials shop.
     
  20. Offline

    darkhelmet

    Essentials has a shop? Yes we're using essentials but I don't know why that would impact /shopsellall only? They don't use that command and it obviously came from this plugin.
     
  21. Offline

    akaBruce

    When I start my server, I get this notice, its not an error but its quite annoying. Using BetterShop 1.6.7 on CB1185

    16:55:37 [INFO] [BetterShop] Notice: Unused Configuration Nodes:
    strings.commandlog, strings.listalias

    Help would be much appreciated :)
     
  22. Offline

    epsolon77

    I had the "I'm sorry, Dave. I'm afraid I can't do that" error, but the beta version fixed that. The beta version seems to be working quite well.
     
  23. Offline

    jascotty2

    Version 2.0 is out! :D

    also: BetterShop is now on BukkitDev :)

    Changes:
    near-complete rewrite
    - more modular, should be easier to add new features
    added region-based shop support
    - just main shop for now
    - config modes:
    - - shop.commandShop: global
    - - - regions are areas where command-based shop access is disabled
    - - shop.commandShop: regions
    - - - globally disabled, except for within regions
    - - shop.commandShop: both
    - - - allows command-based shop access from anywhere
    - - shop.commandShop: none
    - - - cannot use commands (or spout) to use the shop
    - regions are defined by first selecting a region in worldguard
    - - after regions have been defined, can put the WorldEdit.jar in the lib folder
    now checks from 2 mirrors (still on git)
    - not really needed, but the code behind it looks cleaner
    finally adopted some license to support open development.
    - now the source is licenced under the GNU General Public License
    - http://www.gnu.org/licenses/gpl.txt
    added pages menu option (default) so spout scrolling goes by page, not column
    added a fix for a spout button error
    fixed a spout error where may show amount stock can sell, not buy
    added category switching (spout)
    - can use 'cycle' for a button to cycle through the categories (shows more per-page)
    - or use 'tabbed' for buttons at the top that can be selected
    chest shop interface added :D
    - to define a chest, point at the chest & type "/shop chest define"
    - automatically detects double-chests
    - multiple users can use the same chest shop
    - - each user gets a customized chest screen
    - - items in the display show either max stack, or max of that item the user can afford
    - setting for "chestSellBar", which allows selling to a chest which is full (without buying anything)
    tnt explosion cancelation settings for sign/chest shop added
    - should be more efficient than prior method
    commandlog format moved in config & added more formatting options
    updated Register methods (fixes iCo6 errors)
    added a rudimentary spell check routine
    - if an item name doesn't match at first, and there is 1 match for closeness, returns that item
    sign shop handling rewrote
    - should be more efficient
    - can now define custom prices for transactions
    - - 4th line contains cost, doen't have to just be a number
    - - - "1.23", "$1.23", "1.23 Dollars", "$1.23 total" are all acceptable
    - - for a given amount, define the total cost
    - - if using "sellall" or "buyall", define unit cost
    categories have been implemented in buy & sell
    - can sell all items in a category, or buy an amount of each item in a category
    - ex. "/sellall food"
    sign & chest shops are protected from endermenv (if shop.(sign & chest)DestroyProtection = true)
    sql routines updated for foreign locales
     
  24. Offline

    enchanter100

    I would check the price that that item is sold on essentials for, I'm still betting that is the issue.
     
  25. Offline

    darkhelmet

    I don't sell anything through essentials. I fact the latest build is totally screwed because it returns negative values when using /shopbuy and players found ways to get massive amounts of money.
     
  26. Offline

    justin shulman

    /shop buy logs gives players money ??

    it says bought -1 log for 5 total -5
     
  27. Offline

    Eckhart

    I'm trying to use this plugin with 1185 on 1.8.1 and am having some issues.

    As above, buying anything in the shop via /shop buy returns a purchase for -1 in quantity and gives the players the cost of the item. No item is given.

    Secondly, hitting B to use the Spout menu crashes the Spoutcraft client.
     
  28. Offline

    afmiller

    Hitting B for me in 1185, doesn't do anything
     
  29. Offline

    chdsbd

    I have a major problem where i cant buy an item and it gives me back more money. Any ideas how to fix the problem?
     
  30. Offline

    earthoven

    I try to buy something but it ways the maximum I can carry is 0.
    How to I change this?
     
  31. Offline

    Ruan

    BetterShop 2.0 is broken, returns more money for buying an item and when selling a non-present item also gives money.
     

Share This Page