PrimeShop
I will no longer update this plugin. If you are looking for an alternative, I recommend you my GlobalChestShops plugin over at Spigot
Description
PrimeShop is an aspiring shop plugin, providing a dynamic price calculation algorithm built around the volatility of supply and demand. Items can be set to increase in price as they are purchased and decrease as they are sold back, simulating open market conditions. All item prices are perfectly balanced and correlate among one another. Items can be purchased by GUI, command, sign interaction or offered by a Citizens NPC.
Features
· Buy and sell items in-game via command, GUI or NPC.
· Price automatically adjusts based on supply and demand (speed and form of changing can be defined for every item individually).
· A dynamically-priced item might cost more for 10 items than the cost of 1 item multiplied by 10, due to growth of demand while the transaction is conducted.
· Well-structured graphicaluserinterfaces for almost every option and transaction provided by plugin.
· Supports all major economy plugins and custom currencies using Vault.
· Customize the chat output with anything you'd like and translate the entire Plugin in your own language.
· Comprehensive permissions support.
· Sort items into different shops, and then limit users to only being able to purchase or sell items from it.
· Assign a permission group to an item, limiting the access to it and all crafts arising from it to a smaller group of users. Ban items from in-game by simply assigning a high permission group to them.
· Item prices are shared among different Shops. If wood gets bought a lot in shop A, anything made up on Wood will increase in price, even in Shop B.
· Choose suitable prices for enchantments.
· Optionally disable price linking with item‘s ingredients.
· Disable dynamic price building for selected items.
· Collect multiple items to one Shop.
· List of items in shops are broken into pages.
· Multiple shops can be summarized to a collection.
· Link collections or shops to NPC Shopkeeper created with the Citizens Plugin.
· Bind Shop to Signs.
· Change all prices in-game with convenient GUI.
· Create custom price chains and link the price of Items to a common denominator.
- Link the milk price with the cost of beef
· Spam protection.
· Customizable appearance to end-user.
Dependencies
· Vault
· Citizens
Setup
1. Copy the PrimeShop.jar into your Plugin folder.
2. Download and install Vault and Citizens.
3. Assign permissions.
4. Start server.
5. Type “/PrimeShop” to get a list some available commands.
6. Type “/PrimeShop create MyTestShop Dirt” to create a new Shop called “MyTestShop” with the display icon of Dirt.
7. Type “/PrimeShop additem MyTestShop Stone” to make the Shop offer Stone.
8. Create a sign with the headline: “PrimeShop” and in second line “MyTestShop”.
9. Click the sign.
10. Type “/NPC create TestNPC” to create a NPC.
11. Stand close to the NPC and look in its direction.
12. Type “/PrimeShop NPC addShop MyTestShop”.
13. Click the NPC.
Tips
· The initial prices of items are just considered a starting point - user transactions will eventually adjust an item's price to a near-ideal level, based on actual value and rarity.
· While you are in a shop, hold SHIFT and click an Item in your Inventory to add it to the shop.
· While buying an item, click the icon on the center top to change quantity.
· To destroy signs, use an arrow.
· If you have a slow server or lots of players, it is recommended to increase the spam protection delay in “config.yml”.
· You can add multiple shops to one NPC
Commands
/PrimeShop create <shopname> <itemName | itemID | “hand” >
/PrimeShop delete <shopname>
/PrimeShop rename <shopname> <new name>
/PrimeShop additem <shopname> <itemName | itemID | “hand” >
/PrimeShop addinventory <shopname>
/PrimeShop NPC addShop <shopame>
/PrimeShop NPC create
/pSell <itemname | itemID | “hand”> <amount>
/pBuy <itemname | itemID | “hand”> <amount>
/pSellAll
/value <itemname | itemID | “hand”> <amount>
/prices top
/prices floor
Permission
Warning: Negated permission will not work with this plugin!
PrimeShop.*
PrimeShop.admin.*
PrimeShop.admin.basics
PrimeShop.admin.createShops
PrimeShop.admin.deleteShops
PrimeShop.admin.changePrices
PrimeShop.admin.createSigns
PrimeShop.admin.addItemsToShop.*
PrimeShop.admin.addItemsToShop.<shopname>
PrimeShop.admin.addShopsToNPCs.*
PrimeShop.admin.addShopsToNPCs.<shopname>
PrimeShop.Defaults.*
PrimeShop.Defaults.interactWithNPCs
PrimeShop.Defaults.interactWithSigns
PrimeShop.Defaults.openShop.*
PrimeShop.Defaults.openShop.<shopname>
PrimeShop.Defaults.buyfromShop.*
PrimeShop.Defaults.buyfromShop.<shopname>
PrimeShop.Defaults.sellfromShop.*
PrimeShop.Defaults.sellfromShop.<shopname>
PrimeShop.Defaults.canUseCommandToGetPriceOfItem
PrimeShop.VIP.*
PrimeShop.VIP.permission_Group.*
PrimeShop.VIP.permission_Group.<number>
PrimeShop.VIP.useTheOpenShopCommand
PrimeShop.VIP.canSeeAListOfAllShops
PrimeShop.VIP.sellEntireIventory
PrimeShop.VIP.seeListOfCeapestItems
PrimeShop.VIP.seeListOfMostExpensiveItems
PrimeShop.VIP.useTheBuy_SellCommand
PrimeShop.VIP.canBuySellAllItemsRegardlessIfTheyWereAddedToAShop
Languages
If you have translated this plugin, please consider to share it..
Planned Features
· Random price fluctuations
· Chest-Shops
· Statistics
· Multiple and independent economy’s
· BungeeCord support (one economy for multiple servers)
If you find a bug or have any suggestions, feel free to leave a comment or send me an email at [email protected]
Plugin Metrics
This plugin utilizes Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:
· A unique identifier
· The server's version of Java
· Whether the server is in offline or online mode
· The plugin's version
· The server's version
· The OS version/name and architecture
· The core count for the CPU
· The number of players online
· The Metrics version
Opting out of this service can be done by editing plugins/Plugin Metrics/config.yml and changing opt-out to true.
Hey there, I did a review on your plugin which you can find here - http:youtu.be/ZEg_9KF5RWk. This plugin is excellent, I really hope you keep up the great work with it! ^_^ Thanks for your work. - Wukkit
Can you add commands? like /PrimeShop additem <shopname> <itemName | itemID | “hand” > | command
@EDMAN93
Ah, thank you for clarifying that, I had hoped that was the case. Maybe list it as an optional plugin for added functionality then instead of a dependency then?
@McyD1
Citizens allready is just a soft dependence.
Looks interesting. Is it possible to run without Citizens installed. I don't really want to install it to just be able to run the plugin. Maybe make it add extra compatibility if it is installed, but not require it to run?
@Peydunnn
PrimeShop.VIP.useTheOpenShopCommand worked for opening shops. You have to have
Primeshop.admin.basics PrimeShop.VIP.useTheOpenShopCommand PrimeShop.Defaults.openShop.<shopname>
to open a shop... Just for future users of this plugin
@EDMAN93
Same issue, no perms.
@pepper82
Yes, potions are not supported in the current version.
@pepper82
The price changes not totally random, but because there are multiple ways to craft colored wool, PrimeShop does make a random decisions what recipe it will use to calculate the price.
@Peydunnn
Try to give your users PrimeShop.admin.basics
This will give them permission to use the /PrimeShop command.
Without this permissions, the users can only use Signs and NPCs
The permission node PrimeShop.Defaults.* isn't working for me. Only way to give users the ability to open the shop is PrimeShop.* but that allows them to delete and what not. Any fixes?
Bug: colored wool is buggy. when you buy / sell the price changes randomly!
Bug:
Throwable potions become normal potions in shop?!
Suggestion:
I use essentials to spawn named items. Now I want to sell these items in a primeshop. But instead of the name I've chosen (e..g. "Supersword") it just says "Diamond Sword" when you hover the item in the primeshop. Can you make it so that it displays the name of the item?
Bug:
Throwable potions become normal potions in shop?!
Just a small bug: When you make a price constant on an item, and then manipulate the quantity, quantities 2, 3 and 4 do nothing, the produce a null price, not even 0, just nothing. Heres and image to help explain if you dont know what i mean: http://gyazo.com/7fb9df6ce04250737c8dc2ac36fdeeee
Bug #2 As soon as i go over 20 with the quantity count, the price re-sets back to 0, it does the same when i go to 30 and 40. So for example when i go to buy 24 of an item, it will cost $4 because it reset at 20, then if i went to buy 36 of an item, it will cost me $6. http://gyazo.com/cb2194e60a3916a11b8eabeddb10ef48
I agree with pepper on the explanation of config, but I'm thinking more! This plugin is God damn amazing and does everything, I would like to see something like a wiki page, explaining every aspect of the plugin, would be a lot of help. :D
@pepper82
Why not using the bukkit /reload command?
You could increase the "rate of price change" to a value 20 times higher than the current one. This will slow down the price increase by the factor of 20.
Suggestions:
- Reload command
- Config Options Explanation
How can I change how fast the dynamic price system kicks in? I don't want the price of an item change with every sale but with every 11th or 20th sale ...
@ErazePlaysMC
There is only an option to reduce ALL sell-prices. This is done in the config.yml by setting
"value_every_item_sold_gets_multiplied_with" to 0.5
When i set the default price of an item, and make it a constant price (Disable the dynamic aspect of the price) it gives me the same price for both Buy and Sell. Would you be able to make it so i can set an individual price for both Buy and Sell, or maybe make it so if price is set to constant, the sell price is 50% of the buy price? I wish to use this plugin with set prices for all items, yet im finding it hard to do so, which is frustrating considering this is an amazing plugin.