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

    Pomme72

    Hi,

    Can we have a screen of the spout's GUI ?

    Ty :)
     
  3. Offline

    blaize9

    well if you read the change log it says this
    "fixed gui"

    so i think its added
     
  4. Offline

    Pomme72

    No, I just want to see how it's look in game ^^ ty
     
  5. Offline

    ben1996123

    Really? I got a wood pickaxe and used it a few times, then did /shopsell woodenpickaxe 1 and it said that I didn't have enough of that item...
     
  6. Offline

    jascotty2

    make sure that in your config, shop.buybacktools: true

    Example Screenshot (open)

    2011-09-05_10.09.24.png
     
  7. Offline

    Fob_Upset

    @jascotty2

    All i added was the BetterShop.user.* permissions node to my default group.
    Shall i send you my permissions file? i don't think the problem is with permissions.
     
  8. Offline

    SchmidtMathias

    Hey there. Could you implement "shop-zones" so that the SpoutGUI can only be opened in specific areas? I don't want to have a global shop. I want to create a mall for my players, where they can buy and sell things and your SpoutGUI is just awesome so I want to have it! :)
     
  9. Offline

    jascotty2

    I've been thinking of that for a while now.. ever since i did that for CookieMonster....
    I'll have a go at it later today, if i don't have too much else to attend to ;)
     
  10. Offline

    SchmidtMathias

    Sounds great, I'll be waiting for your solution :p
     
  11. Offline

    alienkila10

    how could i make it so you can buy a wolf from a sign?because it says you cannot buy this
     
  12. Offline

    jascotty2

    you'll have to be more specific.. i have wolves in my server shop, & have bought some using signs.
     
  13. Offline

    AdrianoP1994

    Hello. I got a question. I installed Bettershop, and it works ok. but ingame, i've set buy and sellprices. the buying prices works. but if i say that a diamond costs 2000$, and you can sell it for 1000. the shop only gives me 230 per diamond. another example. i added wool to buy for 5 and to sell for 2. but if i sell one wool, the shop gives me 8 $? what's wrong there? what can i do?

    could you help me? thanks, adriano
     
  14. Offline

    jake5675

    Can i set the shop to sell only items that players sell to it?
     
  15. Offline

    McLovn

    Can you add this to BukkitDev please?
     
  16. Offline

    alienkila10

    ok so i put down a sign [bettershop]
    buy 1
    wolf
    i then place it next i punch it, it says you cannot buy this, if i right click it says not a legal sign
     
  17. Offline

    jascotty2


    set user permissions with "-BetterShop.user.sell"
    are there wolves in your shop?
    if not:
    Code:
    /shopadd wolf <buy>
    eg. "/shopadd wolf 5"
     
  18. When i use the GUI menu, as soon as i click on one of the items, an entire page full of error messages shows up in the console (goes off the top it's so long). There's some problem with it atm ^^
     
  19. Offline

    jascotty2

    without the error stacktrace, i cannot tell if this is an issue with bettershop or another plugin
    if you could upload it somewhere (or here), that would be helpful ;)
     
  20. Ahh sorry, I disabled this plugin (http://dev.bukkit.org/server-mods/requipanel/) and it worked fine, I was about to paste the entire error log and i noticed it's name appear near the bottom ;)

    Anyways just letting you know, I can scroll forwards through the GUI list, but it won't move backwards most of the time, and occasionally when it does move back, sometimes it will just update the icons but still have the previous items in their place. It is a really good idea though :D

    It might be cool if you add in group sub menus, where you can have a list of just blocks/items/food etc :) (kinda like this -> http://i26.lulzimg.com/4cb4ec.png)
     
  21. Offline

    jascotty2

    yes, there are several (unnamed) plugins that try a spout gui but also try to handle events that aren't theirs to meddle with

    as for the grouping: i like the idea :)
    will have to look into trying some configurable gui displays..
     
  22. Offline

    Deathmarine

    Had a question since all the new 1.8 builds break bettershop are you going to building against the new api. and lastly I will try to never switch to bukkit permissions will you continue to support Permissions 3.
     
  23. Offline

    jascotty2

    i've had a 1.8-compatible build for a few days now.. i'm waiting on an RB before i make any release
    (also gives me another day or so to tweak all of the major changes i've made to the code structure)
    if you'd like to test it out (and provide feedback/bug reports) you can try the latest build here

    -and, yes, i'm personally not switching over to superperms on my server until all of the bugs have been worked out, and this plugin will continue to support Permissions 3
     
  24. Offline

    FleVa

    hast anyone a finished pricelist :D it will be nice
     
  25. Offline

    flying_pancake

    You guys should switch to PEX -- it works quite nicely.
     
  26. Offline

    darkhelmet

    I didn't see this anywhere, but can I have this setup so that it's an admin (server shop, no need to restock etc) shop? It isn't clear to me where the items being sold come from? The players inventory?
     
  27. Offline

    jascotty2

    the stock tracking is an optional feature, which is disabled by default
    it's a global shop, so there's really an infinite supply (if stock is disabled)
    players buy & sell from/to the server from their own inventory
     
  28. Offline

    darkhelmet

    Is there an alias I can use, because I'd also like to use something like virtual shop but the commands would collide.

    Nevermind - virtual shop would be ok.
     
  29. Offline

    teeth

    Hi, great plugin!

    Can you add a command /shop gui

    Why?
    Players are using the shop inside a MobArena to buy items. I know i can stop this using SpoutKeyCommands by binding B to a command instead of instantly loading the shop. (MobArena stops the commands)

    Cheers
     
  30. Offline

    Superbun

    Bug report:
    Tested on Bukkit Build #1138 (MC 1.8) on a server running solely the BetterShop 2 beta

    Using /shop followed by any command returns the following error from bukkit:
    Code:
    2011-09-17 14:42:30 [INFO] Bukkit sad. Bukkit want you to access command, but Bukkit cannot let you. Bukkit will leak tears :'(


    However the aliases such as /buy , /sell and /shoplist still work.
     
  31. Offline

    jascotty2

    i can, but you could also define the arena as a place where the shop cannot be used (next release, not yet live)

    sorry, that's an error in the plugin.yml
    if you have an archive manager that can open jar files, open up BetterShop.jar/plugin.yml & remove the permission node from the shop command
     

Share This Page