[Request]Chest Shop that works with multiple currencies

Discussion in 'Archived: Plugin Requests' started by Typical_Name, Jun 8, 2013.

  1. Offline

    Typical_Name

    Plugin Category: Economy

    Suggested Name: Multicurrency Shop
    (I'm not very good at making names, feel free to change this.)

    What I want: Now that MineConomy has been updated again, there's a working plugin that supports multiple currencies. However, I can't find any shop plugins that support multiple currencies (mainly because they all rely on Vault, which does not support multiple currency economies). Shop plugins will operate and the multiple currencies will exist, but shops (and every other economy feature that relies on Vault) will only accept one "default" currency. This means that multiple currency economies are restricted to players manually sending money, rather than working through features such as shops.
    I would like to request a chest shop plugin that supports the multiple currencies. For example, if you were to base it off of the classic iConomy ChestShop, I could see it working like this:
    1.) Place sign one block away from a chest
    a.) Line 1: [Owner's Name] (Ideally, this will be filled by the plugin automatically; there needs to be some mechanism to prevent players from making shops in other people's names)​
    b.) Line 2: [Currency Type Accepted]​
    c.) Line 3: B [buy price] : [sell price] S​
    d.) Line 4: [Amount of Item] : [Item Name or ID]​
    2.) Put [Item] in chest
    3.) Player walks up with enough ([buy price]) of [Currency Type], and right clicks on the sign to buy [Item] for [buy price]. [Item] is taken out of the chest and put into the player's inventory and [buy price] [Currency Type] is taken out of the player's account and put into [Owner's] account.
    4.) Player walks up with [Item] and left clicks the sign to sell [Item] for [sell price]. [Item] is put into the chest and [sell price] [Currency Type] is taken out of [Owner's] account and put into the player's account.

    Also, the plugin would ideally include a way to categorize items with a config yml. These categories would allow the server owner to make it so that certain permission groups can sell some times of items, but not others (for example, perhaps someone wants certain people to be able to make shops to sell ore, but not food or potions).


    Alternatively, the creator of Vault has stated that he will accept a pull request to implement multiple currency support (he just doesn't want to do it himself). https://github.com/MilkBowl/Vault/issues/307
    If someone did this (and I have no idea how hard this would be), then other shop plugins would be able to update to support multiple currencies themselves.

    Ideas for commands: No commands in particular. Shops are set up entirely by physical means.

    Ideas for permissions: Something based off of ChestShop, like this, would work well:
    currencyshop.create - for creating shops of all kinds
    currencyshop.[currency].create - for creating shops of a particular currency
    currencyshop.buy - for buying from shops
    currencyshop.[currency].buy - for buying from shops of a particular currency
    currencyshop.sell - for selling to shops
    currencyshop.[currency].sell - for selling to shops of a particular currency
    currencyshop.admin - allows admins to bypass chest protections and destroy other people's shops
    currencyshop.create.[category] - for creating shops that sell items of a particular category, defined in a config yml (for example, I might define a "diamond" category that includes diamonds, diamond blocks, diamond tools, and diamond armour).
    currencyshop.[currency].create.[category] - same as above, but for particular currency (ie, if someone wanted to make it so that someone could sell diamond armor in Currency A but not Currency B)



    Thanks for reading.
     
  2. Offline

    awesomelemonade

    This seems a good idea.. Would like to see it happen..

    Meanwhile.. I am trying out the bukkit library.. so confusing :/ (I have 2 years java expierence btw...)
     
  3. Offline

    Typical_Name

Share This Page