AutoEconomy plugin beta testing before launch on the MCM server

Status
This thread has been locked.

Justis

Community Member
Management
Feedback score
61
Posts
2,117
Reactions
2,414
Resources
0
Hey guys,

I recently finished what will be the first official version of MCM's future AutoEcon plugin.
For those of you who haven't heard about it or what it does, it's a price balancing plugin, which will automatically adjust the prices for every item in game based on supply and demand.
This way, no one item can be abused, and other items that would normally be forgotten or trashed have some value.

However, I still want to make sure the starting prices are at where they should be, so it doesn't take too long for them to adjust to something not so easily abused.
I'd also like to make sure that the rate at which the economy fluctuates to the supply/demand isn't too unstable rapid, nor stagnant.
So for that reason, I'm asking for help from the community to test out what I've come up with.
This would also give everyone a chance to pitch in ideas for what they'd like to see, or what they don't want to see on the server.

If you'd like to give it a look, or even better, test it out, and offer feedback:

The ip is: autoecon.dynu.com
Minecraft version: 1.10

The commands are:
  • /sell
  • /buy
  • /trade
The hope is that users will naturally know how to use these commands without explanation, but just in case...

/sell opens up an inventory, which you can dump any item into, or click the "dump" icon, which will empty your entire inventory and handheld items into the sell inventory, click it again to empty it back.
When your cursor is empty, the title of the inventory will update to the worth of all the items you've dumped in. (damaged items will be worth their normal price minus the damage percentage taken)
If you're satisfied, exit the inventory, and you'll receive that amount.


/buy actually requires 1 argument and an optional second argument.
/buy <item> [amount]
There's no item data or anything like that, I've accounted for every item in game. I've even made it auto-tab-complete, so that if you want some green stained glass window panes, all you have to do is type "/buy gree" then press tab, it'll show every item that starts with "gree" and fill in the rest as you tab along.
Like a shopping list. Items have never been so easy to find; and specify any amount with the second argument, otherwise it'll default to 1 of that item.
Click enter, and it'll send you a message with the price of that product, asking if you wish to confirm. Either type /buy confirm, or click that message, and you'll be given your items, and the price will be subtracted from your balance.


/trade requires an argument as well <player>, with optional arguments for any other player you also want to join the trade.
If any of those players are online, a trading session will begin, you'll be given a shared inventory with which to dump your items, (a lot safer than on the ground), and whoever you've invited will be able to share/take along with you.
As long as one person has the inventory open, the trade will be active, the moment the last person leaves, whatever items are left over are dumped at that player's feet.
It's simple, and so much less of a hassle than all those complex GUIs which take up so much space you're left with, six slots to put your items. But hey, I'm asking for your opinion, not mine.

If you're looking for a more detailed explanation of how prices are determined, here are the configuration files:
Code:
####################
# - Auto Economy - # Config
####################
# - by Justis

# Because this system is fully automatic, there's not much to set. Just a few rates, and you're good to go.

# Buy Rate -
# How many times greater should the buy price be from the sell price? (BuyPrice = SellPrice * BuyRate)
# Whenever the sell price of an item is adjusted, whether due to a purchase or a sale,
# the buyprice will be adjusted as well, so that it is always x2 the sell rate
# The larger the gap, the greater area for players to provide their own competition
BuyRate: 2

# Change Rate -
# Every time an item is bought/sold, how much should it influence that item's value on the server?
# This means, that when an item is purchased, it's sell price will increase by itself * the change rate.
# And whenever an item is sold, the price will decrease by itself * the change rate
# This is to discourage the buying/selling abuse of any 1 item
# The lower the rate, the less the economy will fluctuate
ChangeRate: 0.00025

# InverseRate -
# Every time the value of one item increases/decreases, the value of all the other items should decrease/increase by what percentage?
# Same concept as the ChangeRate, only applies to every item, except the item that was purchased/sold, and is, as the name implies, inverse.
# Say an item is sold to the server, the sell price of every item but that item will go up by itself * the sold item's price * the inverse rate
# Or if an item is bought from the server, the sell price of every item but that item will go down by itself * the bought item's price * the inverse rate
# This is to encourage the buying/selling of other items on the server
# The lower the rate, the less the economy will fluctuate
InverseRate: 0.000004

# Save Interval -
# How Often should the plugin save the updated prices to prices.myml? Time is in minutes.
# This will also save your butt, should the server ever crash, however, you can set it to -1 to disable saving.
SaveInterval: 60

# Enabled Damaged Items -
# Setting this to true will allow players to sell their damaged tools, armor, and other equiptment.
# The price they sell it for will be reduced to the % of whatever durability is left on that item
# Setting this to false will disable the selling of damaged equiptment all together.
EnableDamaged: true
Code:
####################
# - Auto Economy - # Item Prices
####################
# - by Justis

# All item prices are stored in here, saved on server shutdown, loaded on startup.
# /setprice <item> <price/depend[equation]> in game to modify at runtime

# Note that these are the prices that an item will be sold to the server at.
# The price that players can buy items from the server at will be determined by multiplying the sell prices set here by the BuyRate value set in the config.myml
# Alternatively, if you wish to have a custom BuyRate value for specific items, you may add BuyRate to the subpath of any item, and specify.
# This is good for when you want to intentionally make an item unbalanced, (very common/very rare)

# Accepts all positive numbers for prices
# -1 to disable the buying/selling of that item
# Also accepts other item names, marking that price as dependent upon what the other price is at
# If depending on another item, you may include a divide by or multiply by sign, followed by a number,
# This marks it as a percentage of the price of the item that the dependent item is depending on.
# You may also depend on items which depend on other items.
# Example dependent format: BEDROCK: AIR*500
# This would make bedrock always 500 times the price of air. Buying and selling bedrock would also have an effect on the economy 500 times greater than that of air.
# DO NOT make an item dependant on itself or an item which is either directly or indirectly dependent on that same item.

AIR: -1
STONE: 1
GRANITE: 1
POLISHED_GRANITE: 1
DIORITE: 1
POLISHED_DIORITE: 1
ANDESITE: 1
POLISHED_ADESITE: 1
GRASS: 2
DIRT: 1
COARSE_DIRT: 1.2
PODZOL: 2
COBBLESTONE: 1
OAK_PLANK: OAK_LOG/4
SPRUCE_PLANK: SPRUCE_LOG/4
BIRCH_PLANK: BIRCH_LOG/4
...............
.....

Again, any feedback you can offer would be highly appreciated,
I've put a great deal of thought into creating this and would like it to be the best it can be.

 
Last edited:
PebbleHost
High performance, consistent uptime and fast support. Minecraft hosting that just works.

Justis

Community Member
Management
Feedback score
61
Posts
2,117
Reactions
2,414
Resources
0
Would this happen to be opensource? I'd love to nitpick the code :)
Not at the moment, I'm considering selling it as a premium plugin instead.
However, if you'd like to buy a copy off me to decompile, I'm open to offers. ;)
 

Justis

Community Member
Management
Feedback score
61
Posts
2,117
Reactions
2,414
Resources
0
I like it buy the /buy confirm is a bit tedious
You can just click the message, I didn't think it was that bad.
However, I suppose I can add a -c tag to the buy command, so that it auto-confirms without first alerting you of the price.
How's that sound?
 

Tabbin

Java Developer
Supreme
Feedback score
20
Posts
777
Reactions
512
Resources
0
You can just click the message, I didn't think it was that bad.
However, I suppose I can add a -c tag to the buy command, so that it auto-confirms without first alerting you of the price.
How's that sound?
Personally, I dont think it even needs a confirm, but it sounds alright.
 

Justis

Community Member
Management
Feedback score
61
Posts
2,117
Reactions
2,414
Resources
0
Personally, I dont think it even needs a confirm, but it sounds alright.
Most people care about how much money they have and would like to know how much what they're buying will cost before they purchase it. :p
It is for those people that the confirm is there.
 

Tabbin

Java Developer
Supreme
Feedback score
20
Posts
777
Reactions
512
Resources
0
Most people care about how much money they have and would like to know how much what they're buying will cost before they purchase it. :p
It is for those people that the confirm is there.
Maybe add a /price (item), so people can check.
 
Status
This thread has been locked.
Top