BuffShop 0.1.2.1

Sell buffs for money and/or items! Customizable GUI!

  1. GoToFinal
    Plugin is under development.
    So it's more like only demo of it :)



    This plugin allows you to sell potion effect (aka buffs) for items and/or money.

    Features

    Player can buy buffs using shops with special inventory GUI.
    Shops are very customizable, you can even link shops, use any item you want, block closing GUI (it will be closed after purchase), prices for: opening GUI, buffs, links to other shops.

    Most of features works good, but plugin can be hard to configure, and that is next milestone -> make it simple, by using chat or/and GUI editors.

    Each buff contains one or more effects, each of that effects can be configured.
    Example buff file:
    HTML:
    buff: # don't touch
      ==: BS_Buff # don't touch
      name: EG_Digger # name of buff, player will never see it, but you will use it. Must be this same as file name.
      effects: # section of effects
        digSpeed: # name of effects, it's only used by plugin in some parts of code.
          ==: BS_Effect # don't touch
          overrideType: POWER # Can be: ALLOW, DENY, POWER , more on wiki
          buffType: PLAY_TIME # PLAY_TIME or FIXED_TIME
          onDuplicate: MERGE # Can be: MERGE, OVERRIDE or LEAVE
          power: 3 # power of effect, minecraft count it from 0, so 0 is like 1.
          time: 6m # time of effect, time like in essentials eg: 3d5h30m -> 3 days, 5 hours, 30 minutes.
          effectType: FAST_DIGGING # name of effect http://jd.bukkit.org/rb/apidocs/org/bukkit/potion/PotionEffectType.html
          onDie: DO_NOT_REMOVE # REMOVE or DO_NOT_REMOVE
        vision: # next effect..
          ==: BS_Effect
          overrideType: DENY
          buffType: FIXED_TIME
          onDuplicate: OVERRIDE
          power: 0
          time: 30m
          effectType: NIGHT_VISION
          onDie: REMOVE


    After first run plugin will generate example shop, so you can see how that works.

    Some screenshots of sample Shops/GUIs:
    http://imgur.com/a/7bTui

    Commands

    For now, only 5 commands are available:
    • /OpenBuffShop - to open shop.
      Permission: gotofinal.buffshop.openshop (op)
      /openbuffshop <shop name> - open selected shop
      Permission: gotofinal.buffshop.openshop.any (op)
    • /BuyBuff - open default shop
      Permission: gotofinal.buffshop.buybuff (default)
      /BuyBuff <player> - buy buff for other player (gift, needs confirm)
      Permission: gotofinal.buffshop.buybuff.gift (op)
    • /BuffConfirm <confirm/refuse> <player> - confirm or refuse gift.
    • /GiveBuff <buffname> <player> - force give buff to selected player.
      Permission: gotofinal.buffshop.givebuff (op)
    • /BuffShopReload - save/load selected parts of plugin.
    Configuration

    Configuration for now can be hard, but that will be changed.
    Plugin will generate main configuration file like that:

    http://pastebin.com/YiFaqw7j

    addDefaultEffects -> if true, plugin will add 2 sample shops.

    auto-save_players -> in minutes. 0 -> no auto-save

    auto-save_effects -> in minutes. 0 -> no auto-save. Auto-save of effects isn't needed if you using normal version of that plugin.

    taskSpeed -> each x ticks plugin must check active buffs of every player. (will be changed to something less-laggy, like checking x player in y ticks)

    defaultShop -> Shop that will be open if someone type /openbuffshop command.

    Plugin will also generate 5 folders: buffs, items, prices, shops and players.

    Sample item files:

    http://pastebin.com/CCF3kAsy

    Sample price files:

    http://pastebin.com/bniCbGET

    Sample shop files:

    http://pastebin.com/xXTHX57M
    Notice border options! You can easily set border to GUI, selected item, and fill other empty slots with selected items.

    What mean "overrideType"?
    If you get other effect, from potion or something, your bought effect can be overridden, but sometimes that isn't good.
    So you can select:
    ALLOW -> can be always overridden
    POWER -> only if new effect is better. (stronger, or longer)
    DENY -> nope, it can't be overridden.

    What mean "onDie"?
    Effect can by "REMOVE"-d on die, or not "DO_NOT_REMOVE"

    What mean "onDuplicate"?
    If player will buy this same buff more than one time, plugin will try merge it, but you can configure hoe each effect of buff should be merged:
    MERGE -> times will be added.
    OVERRIDE -> time will be overridden by new effect.
    LEAVE -> new effect will be ignored.

    What mean "buffType"?
    PLAY_TIME -> plugin will only count online-time, so if player quit effect will be paused.
    FIXED_TIME -> time is counted even if player is offline (or even server)



    TODO List
    • Make configuration easier.
      • Some chat builders.
      • JSON editor (clicking on text)
      • Maybe some GUI selectors.
      • Editing, adding, removing.
      • Command to see all shops/buffs/prices
      • Command to sell all items, even that needed in prices with ability to get copy of clicked item.
    • Make item costs more advanced.
      • Add enchants range, like diamond sword with enchant all damage above 3 level.
        • Maybe even some way to more "logic connections" like all damage can be below 3 if other selected enchantment is above X
        • Maybe that can be made using "weight", each enchantment had own weight (configurable for every item), and sum of weight must be within selected range.
      • Support for meta-data, like potions with selected effects, maps, skulls of players, etc...
    • Make better description and wiki.
      • Yeach, this plugin need wiki!
    • Add source code to github.
      • Will be added when I decide with code for configuration I want use. I don't want add code, and change 20% of it, in every commit :D
    • Add API
      • Yep! Adding own button-types, own actions, own buffs, everything is possible ;3 You can easily make GUI shops using that plugin :D
    • More epic options.
      • Code of that plugin can much more than just selling buffs, it can selling xp, items, special-actions like command execute.
      • But first I will finish other parts :D


    Yeach, this description isn't good now :D
    It will be better!

    Donations... soon....

    And sorry for my English!
    Patryk likes this.

Recent Reviews

  1. MineOrity
    MineOrity
    4/5,
    Version: 0.1.2.1
    Ever notice the BS_Effect?
  2. BukkitSmerf
    BukkitSmerf
    5/5,
    Version: 0.1.1
    Nice ;> Add that possibility to selling items, xp etc... And this can be very good plugin for shops, not only buffs ;)
    And maybe some weird option to allow players create own shops with items :D Than can be harder.
    And idea for buffs: Add command to give presents -> someone can buy buff for other person. (with confirm)