AdvancedShop - A dynamically priced server shop which is fairly intuitive and versatile; supporting both experience and money
~ Plugin requested by woebegone1 on http://forums.bukkit.org/
[Overview]
- A simple to use server shop where prices change when you buy/sell
- Buy/Sell signs
- Support for ListBuilder/WhatIsIt for modded item names (Forge)
- Supports experience or money
- Can have different formulas for buy and sell
- You can have the prices based on a configurable time period
- Allows multiple names per shop item
- Add or remove items from the shop
- Shops can have "Stock" and only sell if they are in stock.
- Can log transactions
[Commands|Permissions]
Command | Description | Permission |
---|---|---|
/advsell <item/hand> *<amount> | Sells a given amount of an item | advshop.sell |
/sellall | Sell everything in your inventory | advshop.sellall |
/advbuy <item> <amount> | Buys a given amount of an item | advshop.buy |
/value <item/hand> | Gives info on price/stock of item | advshop.value |
/hand | Tells you what item you are holding | advshop.hand |
/advshop help | Lists all the commands for the plugin | None |
/advshop reload | Reloads the plugin | advshop.reload |
See here for setting up command aliases (e.g. using /sell)
[Installation]
- Download AdvShop.jar as well as the dependencies below into your plugins directory
- Restart your server or load the plugins using a plugin manager
- Add the permissions that you see fit (listed above) to players
- See the configuration tutorial below for further information
For forge modded servers:
Use ListBuilder to generate a list of items for AdvShop.
- Simply copy the generated names.yml into the AdvShop folder and it will convert it on startup
- Remember to change the "idlist" setting the the config.yml
[Dependencies]
Click here for Vault which provides economy integration.
An economy plugin of some sort is also required
[Configuration Tutorial]
Most configuration can be done through the config.yml
[Buy/Sell Formula]
This dynamic shop plugin allows you to specify your own formula for buying and selling. The default formula does the following;
- Items are cheaper if a lot of that item has been sold, but not much has been bought
- Items are more expensive if not much of it has been sold compared to other items.
- The sell price is always half of the buy price
If you have "require-stock" set to true in the config.yml, here is an example formula:
constant/(sold-bought)
where constant is some number of your choice e.g. 1000
Placeholders:
- bought
- sold
- volume
- totalsold
- totalbought
- totalvolume
basic javascript will also work in the formula
The default-sold and default-bought values are the stock of an item after it has been sold/bought for the first time.
It is a good idea to have the buy formula return a larger value than the sell.
[Using EXP]
Simply change use-exp-instead to true in the config.yml
[Adding/Removing items]
If you want to have a custom item list, you will need to copy idlist.yml and modify it
Once you have done that, remember to change the idlist in the config to specify the new file.
[Logging transactions]
Transactions are automatically logged to history.yml.
TO DISABLE - set keep-history-days to 0
TO KEEP FOREVER - set keep-history-days to -1
[Disable auto item matching]
Set item-similarity-match to 0 (in config.yml)
[GUI shop]
There are many plugins out there which allow you to create your own GUI's:
- Chest Commands GUI
- Or do a search
With ChestCommandsGUI you can execute commands (e.g. /advsell) when a block is clicked.
[Signs]
The latest version of AdvShop allows for the creation of Buy and Sell signs, here is an example:
- The first line of the sign ([ADVBUY] or [ADVSELL]) is completely configurable through the language setting
- The last line shows the current stock levels for the item
- Shift+R-Click to trade a stack at a time
Portuguese Video by AbsintoJ
[Other Projects]
- SignRanks
- CompassModes
- WorldeditRegions
- VoxelSniperRegions
- InSigns+
- IndividualMessages
- IndividualHolograms
[TODO for v0.2.0]
Please tell me if you would like any additional features added
- Threaded buy and sell commands
- buy/sell sign protection
- Add option to set static prices for certain items
- Item min/max buy/sell values
- Search command
- Command to repair items based on shop value
- Command to smelt item based on shop values
- Enchantment books
- Fix exception with buying something with no stock
- Finish adding min/max prices for items
- List cheapest/most expensive items
- Cooldowns for buying certain items
- MySQL
- actions?
- player-player trading (rather than just player-server trading)
- buy entities