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
Working on all of your problems as we speak, guys.
I'm planning to implement this for 1.2, so we can overhaul our whole market. One of my users has a degree in economics and he seemed pretty happy with the feature list :) I told him if he wanted to see anything added I would pass it on and he said this just now:
@ksafin
Thanks for the reply. Is there an ETA on the release for 1.0? If it's soon, I won't bother doing any changes, but if it's far from now then I need to do something about our shops until 1.0.
I've also noticed this error spamming my console: http://pastebin.com/RYrNqaiy
Thanks for updating it so it can disable the auto-updater. That is one problem I liked being fixed.
But now I have another problem... I dont know why, but for some reason, it keeps clearing my items.yml file...
EDIT: Oh and another thing: I defined a region and have use-regions to true, but I still cant buy anything...
@angelofdev
Hmm. odd; the idea was that even if they have $0 it should take them into the negative. I'll look into it back home, perhaps my usage of Vault is a little bit off.
@wolfenit415
Haha thanks :) I want to solve all problems and make your experience with DynamicEconomy the best!
Anyways, megge208 is right; the exceptions are because of loans.yml being empty. I was working on the code this morning and should have a fix, but I'm away from my computer right now.
v .7.4 should clear up this issue.
@wolfenit415
just do /loan 10 one time, should fix the issue. I guess the NPE results from the loans.yml being empty.
Thanks for the quick fix on the loan deal, console spam sucks. I wish every plugin producer was as dedicated as you! Maybe you can go take a look at degriefer and tell that guy to get on the ball. LOL. JK. EDIT: Ok so i used 7.1it worked fine then i installed 7.3 and got this again. Am i doing something wrong? Can anyone confirm?
2012-02-25 13:02:07 [SEVERE] java.lang.NullPointerException 2012-02-25 13:02:07 [SEVERE] at me.ksafin.DynamicEconomy.loan.run(loan.java:317) 2012-02-25 13:02:07 [SEVERE] at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34) 2012-02-25 13:02:07 [SEVERE] at java.lang.Thread.run(Unknown Source) 2012-02-25 13:02:22 [SEVERE] java.lang.NullPointerException 2012-02-25 13:02:22 [SEVERE] at me.ksafin.DynamicEconomy.loan.run(loan.java:317) 2012-02-25 13:02:22 [SEVERE] at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34) 2012-02-25 13:02:22 [SEVERE] at java.lang.Thread.run(Unknown Source) 2012-02-25 13:02:37 [SEVERE] java.lang.NullPointerException 2012-02-25 13:02:37 [SEVERE] at me.ksafin.DynamicEconomy.loan.run(loan.java:317) 2012-02-25 13:02:37 [SEVERE] at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34) 2012-02-25 13:02:37 [SEVERE] at java.lang.Thread.run(Unknown Source) 2012-02-25 13:02:43 [INFO] CONSOLE: Stopping the server..
@ksafin
I hope I didn't miss anything in configs, but I've noticed loans are forgotten when the user has $0 in their account. Would it be possible to put them into a negative balance? or even disable access to certain commands like /pay, /money give & /f money
@Marslar
Looking into it right now.
@BONNe1704
Glad you figured it out :)
@Magew
Kind of.
There will be a chest shop addition to DE for v 1.0 It'll be even better then just a sign, so all of your shops will work great, but you'll have to stay tuned for that update.
Is there some quick possible way of putting the /buy and /sell function onto signs? The price can obviously be hidden, since it's always changing, but a simple [Buy] and the item name would be extremely appreciated. I'm in need of this plugin, but I can't get rid of our shop building. We've contributed too much time into it.
Thanks in advance.
I have quesitons about Loans... I cannot find any command or any settings, how to pay back a loan... And what will happen when time ends? In 7.3 i cannot pay loan back to Bank account and it didn't took it from my. And when time end, the loan just disapar... :D
Sorry my Fail :D
I didnt read all :D and didnt check settings about 15min :D
10:29:03 [SEVERE] java.lang.NullPointerException 10:29:03 [SEVERE] at me.ksafin.DynamicEconomy.loan.run(loan.java:317) 10:29:03 [SEVERE] at org.bukkit.craftbukkit.scheduler.CraftWorker.run(Cra tWorker.java:34) 10:29:03 [SEVERE] at java.lang.Thread.run(Unknown Source)
:S my english isnt good so i couldnt figure out how to fix it in case if the problems with my settings... why is this happening it gives this error every 5 seconds and i updated 7.3 too :S please help
Guys, v .7.1, v .7.2, and v .7.3 have been released in the past few hours.
Please check the changelogs for all of them to be aware of bug fixes, updates, and new features.
Enjoy and let me know what you think, and keep posting issues to github.
By the way, big thanks to all of you submitting errors via github; it makes my life easier and doesn't clog the comment area with error messages :)
@richboos
Haha maybe.
Yeah I usually rush to just stick in the update, change the version number, and put in a description. I usually forget to change the urgency, but I can get used to making it accurate ;)
Latest version ( v .7.1) has been labeled as LOW just for you :P
And it's not that you should take caution with it, it worked, I just needed to fix some errors that were popping up from users, not related to this build; even v .6.1 had these errors.
I'll always release a stable version (stable enough to run). I end up catching bugs later, which is why v .5 ended up having 6 subversions.
Hey everyone,
I am aware of the NPE exception spam and will look into it when I get home, I think I know the problem.
For now, revert to the latest pre .7 version of DE..
Thanks, kSafin
@wolfenit415
Confirming. I ticketed it on GitHub: https://github.com/ksafin/DynamicEconomy/issues/3
Hello cool plugin one thing. Since the loan update my console is being spammed about null point exception loan problems.2012-02-24 15:43:00 [SEVERE] java.lang.NullPointerException
2012-02-24 15:43:00 [SEVERE] at me.ksafin.DynamicEconomy.loan.run(loan.java:255) 2012-02-24 15:43:00 [SEVERE] at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34) 2012-02-24 15:43:00 [SEVERE] at java.lang.Thread.run(Unknown Source) 2012-02-24 15:43:07 [INFO] <sackbuscusBuilder> it works 2012-02-24 15:43:15 [SEVERE] java.lang.NullPointerException 2012-02-24 15:43:15 [SEVERE] at me.ksafin.DynamicEconomy.loan.run(loan.java:255) 2012-02-24 15:43:15 [SEVERE] at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34) 2012-02-24 15:43:15 [SEVERE] at java.lang.Thread.run(Unknown Source) 2012-02-24 15:43:29 [INFO] [Bukkit] LAWLZ... 2012-02-24 15:43:30 [SEVERE] java.lang.NullPointerException 2012-02-24 15:43:30 [SEVERE] at me.ksafin.DynamicEconomy.loan.run(loan.java:255) 2012-02-24 15:43:30 [SEVERE] at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34) 2012-02-24 15:43:30 [SEVERE] at java.lang.Thread.run(Unknown Source) 2012-02-24 15:43:45 [SEVERE] java.lang.NullPointerException 2012-02-24 15:43:45 [SEVERE] at me.ksafin.DynamicEconomy.loan.run(loan.java:255) 2012-02-24 15:43:45 [SEVERE] at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34) 2012-02-24 15:43:45 [SEVERE] at java.lang.Thread.run(Unknown Source)
Nice! Is it possible to nag + spam my server log with update warnings only when there is a recommended version? Is it me or does it seem silly to have all that, come to this page, and see the warning for version 7 "it is recommended you take caution until a stable fix to these problems is released. "
Seems conflicting to rate the urgency high then warn us not to use it. I'm still happy with this plugin though. Many thanks! (Also, It seems every update is URGENT even if it adds a feature or two)
So, If I'm bob, and I request $500, and the interest is 10%, I'll pay back $550. In how long? Depends on config.yml. Here's the new fields:
use-loans: (true/false) Turns off or on the three new loan commands
interest-rate: (any value, but IR is taken as decimal, so .1 is 10%)
payback-time: (time, in minutes, that the bank will wait until collecting the loan repayment). So if this is 20, the bank will take the $550 bob owes 20 minutes after he gets his loan
max-num-loans: (any whole number greater than or equal to 1) The number of loans any user can have at one moment.
max-loan-amount: (maximum $ amount per loan)
min-loan-amount: (minimum $ amount per loan)
use-loan-account: (true/false) whether you want to use an economy account to withdraw loans from, and return loan payments to
loan-account-name: (if above is true, this is the username for the account)
loan-check-interval: (how often the bank will check for overdue loans). It's measured in "ticks". So, setting 20 for this equals one second. The default is 300, aka 15 seconds. Every 15 seconds, the bank will check all users whether they have their loan due. If so, it'll withdraw the money from their account and notify them.
New commands:
Permissions: dynamiceconomy.loan dynamiceconomy.curinterest
Upcoming features: Dynamic Interest Rates Loan-Payment notifications: Notify users every x minutes that they have a loan due in y minutes Bug Fixes; for those of you who submitted issues on github, I'm looking into it, I just wanted to release this today
Enjoy!