Advanced Shop

9.1k Downloads

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]

CommandDescriptionPermission
/advsell <item/hand> *<amount>Sells a given amount of an itemadvshop.sell
/sellallSell everything in your inventoryadvshop.sellall
/advbuy <item> <amount>Buys a given amount of an itemadvshop.buy
/value <item/hand>Gives info on price/stock of itemadvshop.value
/handTells you what item you are holdingadvshop.hand
/advshop helpLists all the commands for the pluginNone
/advshop reloadReloads the pluginadvshop.reload

See here for setting up command aliases (e.g. using /sell)

[Installation]

  1. Download AdvShop.jar as well as the dependencies below into your plugins directory
  2. Restart your server or load the plugins using a plugin manager
  3. Add the permissions that you see fit (listed above) to players
  4. 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;

  1. Items are cheaper if a lot of that item has been sold, but not much has been bought
  2. Items are more expensive if not much of it has been sold compared to other items.
  3. 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 Sign

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