DynamicEconomy
| DynamicEconomy introduces your server to an economy where the prices constantly change based on the supply and demand of items. |
|---|

| Depends on [Vault] Vault Download Link |
|---|
Download
Here's a video with an overview of some of DE's features, graciously made by WoopaGaming!
Plugin is in BETA - Meaning it is not as perfect as I would like as of yet. I am still constantly adding features. Once I'm happy with the feature list, it'll be released into v 1.0. Expect v1.0 to have Chest Shops.
Support Pages
There's a lot to understand about DynamicEconomy, so visit some of these helpful pages!
-
Features
- Buy and Sell items in a global shop.
- Price automatically adjusts based on supply and demand!
- Customizable price ceiling & floor!
- Prefix the chat output with anything you'd like!
- Choose whether price changes are announced globally, locally, or not at all!
- Includes a custom alias file, so you can customize the aliases you use (Add whatever word in the world to stand in for, say, diamond, so if you call /buy purpleelephant it can buy you diamond!) - Even better, it already includes hundreds of aliases.
- Add items to items.yml at your whim! Just make sure to add aliases for them in alias.yml!
- Sort items into different groups, and then limit users to only being able to purchase or sell items from particular groups!
- You choose the default amount sold/bought if the user leaves out the amount argument.
- Features 340 items: the most commonly traded and used, as well as non-obtainable items and potions!
- Also, you can sell and buy enchantments! Enchant your items with any enchantment at any level, and then sell items from an item instead of selling the entire item itself!
- Custom Items.yml puts you in control of item prices, minimums, maximums, descriptions, and everything else!
- Change the price, price floor, price ceiling, price velocity, and stock, all from in-game without a restart or reload!
- Custom in-game command allows you to reload the DynamicEconomy config.yml
- Features help screen of all commands, usages, and descriptions
- Assess which features of your config are on and off from in-game.
- Simple permissions: permission is the same as the command name.
- DynamicSign - Signs that show the price, stock, velocity, ceiling, or floor of any item in REAL TIME! You can also change the colors the sign displays in!
- Find out the durability of any item in your inventory, or your armor!
- When you sell a tool or armor, the price you receive is proportionate to how much of the durability was used up. If an item is 25% used up, a player will only get 75% of the total price when he sells it! Stops "Infinite tool" abuses.
- Update Checker & Downloader!
- Sell and buy EXP!
- Data values for all woods, wools, saplings, slabs, and inks!
- Option to use either set-amount item velocities, or a percent velocity.
- The option to turn on "Price-Decay-Over-Time", meaning, if items aren't purchased for a long time, their prices will decrease! This is fully customize-able to the last bit; customize percent of price decrease, what's considered a "long time", and how often to check for these items! Or disable it all-together!
- Also, in addition to price decay over time, there's also price inflation over time, so items that aren't sold for a while will have an increase in price! This encourages sale of those items!
- Multi-World support!
- /sell hand and /price hand for selling or checking price of the item you're holding!
- Ban items from in-game instantaneously!
- Customizable random events! Make your own wacky random events that change the prices of items!
- Customize standard DE messages! Up to 32 of them, currently!
- Use your own custom currency.
- Custom log.txt file personalizes logging of all user commands for very intuitive, useful, and helpful logs for Server admins. No need to fuss over confusing server logs and exceptions. (You can disable it, if you want, too!)
- Sales & Purchase Taxes!
- Set taxes from in-game!
- Extensive region control! Select your own 3D regions in which users can buy and sell items!
- Alternative commands for /buy and /sell, so you can use other popular economy plugins in conjunction!
- Basic location control, such as setting a minimum height from bedrock in order to access the economy.
- Loans! With custom payback times, minimum and maximum loans, as many loans as you'd like, and more!
- Dynamic Interest rates for loans!
- Ability to ban the sale OR purchase of certain items!
Planned Future Features
Optional Interest Rates/Taxes on purchases and sales[ Completed 2/6/2012 5:47 pm in v .5.1]Loans with Optional Interest Rates[ Completed 2/23/2012 11:31 pm in v .7]- Chest Shops!
Option to either set IR/Tax statically, or have it dynamically change based on economy conditions.[ Completed 2/25/2012 12:08 AM in v .7.2 ]Sale of tools will give amount appropriate to current durability (A tool almost worn out will receive a very little percent of total price when sold)[ Completed 1/6/2012 11:05 pm in v .2]Optional Random Events that change item prices[ Completed 3/4/2012 1:07 AM in v .8.0 ]Price decreases over time if item is not purchased[ Completed 2/26/2012 1:42 AM in v .7.6 ]Option to not allow some items in the market.[ Completed 2/25/2012 12:36 AM in v .7.3 ]- Option to lose money upon death
- Option to store money in a bank account
Option to log all transactions[ Completed 1/22/2012 8:41 pm in v .4]- Extended abuse prevention: Looking through the kinks to ensure the dynamics of the economy are not abused by players
Update Checker[ Completed 1/21/2012 2:12 pm in v .3.2]- Prevent you from buying if you do not have enough inventory space
Data Values (35:1 etc)[ Slight addition in v.5.3 ] [ Completed 2/25/2012 11:32 pm in v .7.5 ]Location-based controls[ Slight addition in v.5.2 ] [ Completed 2/19/2012 9:24 pm in v .6 ]- MySQL Databases
Alternative Commands[ Completed 2/7/2012 10:18 pm in v .5.2]Marquee Signs (Signs that show the price and info of a given item)[ Completed 3/18/2012 1:27 AM in v .8.1 ]EXP Transactions[ Completed 3/19/2012 12:44 am in v .8.3 ]- Region Flags
- Much much more!
Donation
Your donation helps my development of this plugin and possibly more!
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=USZYP9PCHSVJW






-
View User Profile
-
Send Message
Posted Jun 26, 2012With more testing, it seems like selling anything enchanted does this.
-
View User Profile
-
Send Message
Posted Jun 26, 2012Selling an enchanted diamondpickaxe seems to get the player money without removing it from their inventory.
-
View User Profile
-
Send Message
Posted Jun 26, 2012@bigboy2013
A high span means more change, and a low span means less change.
If I said elsewhere, forgive me for the slip.
See the EnderEngine page here: http://dev.bukkit.org/server-mods/dynamiceconomy-v-01/pages/ender-engine/
Look at the graphs on the bottom and you'll see how prices change based on stock, ceiling, and floor for diamond based on different spans.
-
View User Profile
-
Send Message
Posted Jun 26, 2012I'm extremely confused.. You say that a HIGH span means less change, and a LOW span means more change... No matter what I do, it seems to be the exact opposite for me. When I have stone with a span of 1 or lower, price seems to change really slow. When I have span over 1000, price changes quicker. Am I doing something wrong?
-
View User Profile
-
Send Message
Posted Jun 26, 2012@ksafin
damn!. then i have to rollback to a older version.or find another economy plugin... i don't need no enderengine... its stopped anyway...
-
View User Profile
-
Send Message
Posted Jun 26, 2012@HaoSs
No Stock isn't an option anymore. You MUST have stock for EnderEngine to compute prices for items.
@HaoSs
Hmm Ok, I'll go take a look
@HaoSs
Add the name of the world you wish to use DE in to "dynecon-world" in config.yml
@HaoSs
Hm Alright.
How do you feel about giving them a portion of the price proportional to the item durability?
An enchantment sold from an item at 50% dur gets 50% of its total price?
-
View User Profile
-
Send Message
Posted Jun 26, 2012Enchantment buy/sell feedback.
Love your system for this as it makes getting enchants of higher level easier. However I dont like the fact that you can use an item to 1 durability sell the enchants get a new item and re-enchant the item. This makes the price continually go down with no diminish on stock for enchants. I propose an option at least to require 100% durability to sell an enchant from an item.
Also pro tip: use gold items to get enchants sell them to the store then buy them back on your diamond stuff. (dont inflate the price of most enchants as well cause you can use this tactic to make a good amount of money buy getting lvl 1 enchanting then selling using a monster spawner.)
edit: also when using the in game command /setceiling if you try to set it below the current price it will give you an error.
-
View User Profile
-
Send Message
Posted Jun 26, 2012It says that this world doesnt have permission to do any of the commands. how do i give it permission?
-
View User Profile
-
Send Message
Posted Jun 26, 2012how do i make infinite stock pls ? I need it ASAP
-
View User Profile
-
Send Message
Posted Jun 26, 2012@MichaelDarkBlue
reply 776496
In reference to my enchantment problem, if i turn off taxes (making the taxes 0) my problem goes away. I think the calculations for taxes on are configured differently for selling and buying enchantments? I tired to look at the source to post a fix but i could not see it in the download.
Anyway, could someone with source access please double check the tax calculations on enchantments?
-
View User Profile
-
Send Message
Posted Jun 26, 2012ok. so how do you set the stock to false now ? there is no use-stock: false in the new config ( after 8.9 ) and i wan't an infinit stock for my server
second thing. when i use a unknown command like : /dynecon trololo i get errors. This is how it should work ?
null
org.bukkit.command.CommandException: Unhandled exception executing command 'dynecon' in plugin DynamicEconomy v.8.97
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42)
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:166)
at forge.bukkit.ForgeCommandMap.dispatch(ForgeCommandMap.java:54)
at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:491)
at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:917)
at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:873)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:855)
at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:34)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:234)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:121)
at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:556)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:453)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
Caused by: java.lang.NumberFormatException: For input string: "blabla"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:481)
at java.lang.Integer.parseInt(Integer.java:514)
at me.ksafin.DynamicEconomy.DynamicEconomyCommandExecutor.commandList(DynamicEconomyCommandExecutor.java:1105)
at me.ksafin.DynamicEconomy.DynamicEconomyCommandExecutor.onCommand(DynamicEconomyCommandExecutor.java:215)
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
-
View User Profile
-
Send Message
Posted Jun 25, 2012@ksafin
Your logic is sound. I agree, my approach is illogical. There's no such thing as an economy with "zero" of every commodity.
.. <continues on in deep thought of how to solve this conundrum>
-
View User Profile
-
Send Message
Posted Jun 25, 2012@Gunnerrrrr
Use the plugin "Vault". It lets other plugins hook into your economy and permissions plugins.
I use Vault to hook into iConomy.
-
View User Profile
-
Send Message
Posted Jun 25, 2012@sleite
See, this is actually not a problem with EnderEngine, but rather your approach.
EnderEngine isn't flawed by having prices at their ceiling when stock is 0. This is an actual valid economic approach.
In the real world, in real economics, price is higher when the supply is lower (stock), and the price is lower when supply is higher.
So, when the supply is 0, the price has to be EXTREMELY high because there is none of the item, yet there's a demand, but since there is none of it, people must be willing to pay an extremely high price to obtain it.
In your approach, you're trying to have NONE of an item, but still force it to have a decent, balanced, price, which would regularly be the "Market" price.
There's just no way, in DE, or in real economics, for the stock of an item to be 0, and for the price to be the "market" price.
I understand what you WANT, however this defies the basis of economics. At each extreme of supply (0 and infinity), there's an extreme price (ceiling and floor), whereas the balanced price you speak of is between the two and is found by the consumers in the market.
As for your question about **span**, refer to the EnderEngine page.
-
View User Profile
-
Send Message
Posted Jun 25, 2012@ksafin: Could you explain how span (found in Items.yml) works? I understand what it does, but I want to gain a better technical understanding so that I am able to modify the value with some precision. Maybe a few examples?
Ender Engine Flawed? (Discussion)
I also wanted to start a discussion about the Ender Engine. I think the engine may be flawed. I'm wondering if there's anyway to correct the problem in another way.
For my purposes, I want my server to start with ZERO stock on every item. Only after players start to sell items will the stock of world items increase and decrease. But what I do not want to do is set everything to some arbitrary number (eg. Like 50). It doesn't make sense for some rare items.
The problem I'm facing is trying to start my world off with what I call a base price for each item. For example, gold_ingots base price is $250.00. iron_ingots base price is $25.00. (These are values I have chosen. They seem to be pretty popular as well).
I spent a lot of time trying to place a value on items in the game. I even added complex formula's that take in to consideration if the item in question is commom, uncommon or rare. Also I had considered things like complexity (is the item found naturally such as a diamond, or does the item have a process, like baking a cake requires sugar, eggs, wheat, or a map requires a compass and paper, which requires ... you get the idea. I also thought about introducing value based on how useful the item is (saddles are very rare, but utterly useless, redstone is not that rare, but still utterly useless, unless you create a use for it).
Anyways, all that work, and in the end, I was stumped because of the way that the Ender Engine calculates prices. It's based on inventory (Stock). If I have a world that starts with everything at ZERO, then basically that translates to having a world where every item starts off at it's maximumally inflated price! This is not what I want.
I tried fiddling with floor and ceiling, but the only thing I could do to guarantee that an item would start off at a middle-of-the-road (base price) was to set the ceiling equal to the base price.
This introduces a new problem: My economy starts every item off at it's base price (aka ceiling), but now the prices will never become inflated, only deflated. So things like gold, iron, and diamonds can only become discounted, and never over-priced.
This kind of defeats the whole point of having an economy in the first place.
So I'm perplexed, and I'm wondering if there are any mathematical geniuses out there that can come up with a better ender engine that allows for an economy to start off at "zero" for stock, and still have the ability for items to become inflated or deflated in price.
Thank you for your time, and sorry if this doesn't interest anybody.
-
View User Profile
-
Send Message
Posted Jun 25, 2012@ksafin
did a full wipe of the de folder. it works :) now i got the span thing in the items.yml
-
View User Profile
-
Send Message
Posted Jun 25, 2012@HaoSs
Are you using DE v .8.97?
-
View User Profile
-
Send Message
Posted Jun 25, 2012@ksafin
did a full wipe of the de folder. now it works :) i will just reconfigure
-
View User Profile
-
Send Message
Posted Jun 25, 2012@HaoSs
Well I see your problem. You have no "span" field.
As of v .8.9 there was a new field in Items.yml introduced called "span".
You need to backup your items.yml then delete it, restart your server, and DE will generate a new Items.yml with the brand new "span" field.
After that, it should work fine.
HOWEVER: I have never tested DE on a tekkit server and have NO clue if it'll work or not.
-
View User Profile
-
Send Message
Posted Jun 25, 2012@ksafin
I must mention: used this config on a survival server with no problems. But now i switched to tekkit. The diamond ID is the same as in the game
DIAMOND: velocity: 2.9 id: 264 price: 600 floor: 600 ceiling: 600 description: The most precious jewel of them all! stock: 50 spread: 2.9 time: 0