RealEconomy 1.13.1-hotfix

banking, muti-currency, bid-ask system, and more

  1. wysohn
    Description

    Did you put economy plugin in your server, yet it didn't work out well? At least for me, yes. This is because I lacked the understanding of how finance system work, how the currency is created, and most of all, what 'inflation' is.

    Unlike the typical economy plugins, this plugin is tightly packed with the entity, called bank. When you use '/eco give' command to give out money to the user, the bank actually 'prints' the money out of it, so bank is now in debt. On the other hand, if you take the currency away from user by `/eco take` command, the bank will 'destroy' the currency to nowhere. If you want to run the central bank for your entire server, it's your job to manage these currencies. Otherwise, the economy will collapse.

    • Tips for you: refrain from using '/eco give' command as much as possible.
      • If you want to give out currency to the user, you must exchange it with the real goods and services. For example, since everyone loves diamond, you may trade 1 currency with 1 diamond. Even though the bank is now in 1 currency debt, it has the counter-check, which is the 1 diamond.
      • But in terms of services, you can be creative. Maybe pay for building stuff? But never give out currency for free. The best way to decide the price of goods and services is relying on the 'free market system'

    Simply put, currency is nothing more than a piece of paper than can be traded with goods and services. But what gives it the purchasing power? it depends on what is backed by it. It is the trust that the currency can buy goods and services. If you have traded a diamond with 1000 dollars, he or she expects to buy a diamond with 1000 dollars!

    The problem starts when we just 'print' the currency out of thin air and give it to the user, for whatever reason: for beginners, for events, etc. the purchasing power is diluted simply by putting the money to the economy system. Why? because when currency is injected into economy, the price of goods and services try to compensate with the total amount of currency in circulation.

    Yesterday, you sold a diamond at 1000 dollars, and imagine an administrator give out 1000 dollars for the beginners for free, then when you sell the diamond for next time, wouldn't you increase the price of diamond? Cause otherwise, you are just giving out a diamond for free 1000 dollars! Or smart users will try to buy diamonds when it's cheap and will sell it after the price is adjusted.

    What this plugin offer
    • Vault integration. You can easily change your current economy system without other changes.
      • If you want to migrate from Essentials economy, I have a python script that does it for you. Contact me if you need one for yourself.
    • Bid/Ask system. This is a very special system where players can bid and ask items. This is like an auction, but unlike auction, buyers also can set the price they want to buy the item at. This is a fundamental part of a free-market system where the price of item `automatically adjusted` by the market makers, a.k.a users, supply and demand.
    • MySql support. If you want to, the bid/ask/trade-logs will be saved in the MySql tables. Using this, you may integrate it with your website to create the market graph (which I am personally trying to do atm).
    • 100% language modification. Change any part of language used in the plugin.
    • easy to use commands supported by JSON chat and tab-completer
    • Other features are under development...

    Installation

    RapidFramework plugin does not work without it
    Modified SmartInv (by MinusKube) plugin does not work without it
    ProtocolLib optional, but JSON chat does not work without it
    Vault optional, but there's nothing much you can do without it

    All included in zip file (except for Vault. I assume you have it already).

    1. Un-zip and drop the contents into the plugins folder
    2. start the server
    3. edit the configs as your need
    4. reload the plugin with `/trade reload` command
    5. use `/trade` command to see the list of commands.

    Make sure to remove some commands by editing the plugin.yml in the Essentials.jar or EssentialsX.jar.

    For example, both this and essentials plugin use /pay, /sell, /eco


    Config

    Nothing much in this file.

    Code (YAML):

    language
    :
      locales
    :
     - en
      - ko
    currency
    :
      code
    :
        maxlen
    : 3
    currencyDrop
    :
      onDeath
    : false
      pickupByPlayerOnly
    : false
    serverBank
    :
      enable
    : true
    materials
    :
      <name>
    : item
    denyItemsList
    :
    - WRITTEN_BOOK
    database
    :
      type
    : mysql
      host
    : 127.0.0.1
      name
    : realeconomy
      user
    : re
      password
    : pass

     
    language.locales
    the `locales` are literally the locales you want to support, and depending on what you put in here, the `lang` folder will be automatically populated.

    These locales must match with the `ISO 639-1 Code` that can be found in http://www.loc.gov/standards/iso639-2/php/code_list.php. This is because the plugin will use the locale provided by the user's setting directly, the locale of the player's setting and the locale setting of the plugin must match.

    Of course, languages other than `en` are merely a copy of its English version, so you still have to translate them yourself and reload.

    currency.code.maxlen
    in the later release, users will be able to create their own currency, and they will have to decided its name and the 'code.' For example, dollar's code is USD in real world.

    currencyDrop
    This is still under investigation. Because users now have concept of both 'wallet' and 'bank account,' we need some way to encourage users to use bank account more often than the wallet. In a realistic sense, currency also has to be dropped when you die!

    This option make the player to drop its entire currencies in his or her wallet as a 'check,' and it can be picked up to acquire the currency back. Of course, other players can pick it up too.

    serverBank:
    By default, this is set to false. Make it to true until new features are out.

    The bank, will be included in later releases, will serve as a physical location. So in order for the player to use the bank, they have to be physically located in the bank. This is still under development, so set it to true so all players in every location is identified as in a 'server bank,' which is directly integrated with the Vault.

    materials:
    this is to help users to search for the items on the market. Users can defined the type of item in `/eco items` command to filter out only for the desired item types. By default, everything is set to 'item'

    replace the <item> part with Spigot API's Material enum value. This will be automatically populated first time though.

    denyItemsList:
    obviously, item to be denied on the market. Do not remove WRITTEN_BOOK until this issue is solved. Written books are not correctly identified by the plugin, so they will cause problems.

    database:
    straight forward enough.

    type can be either 'mysql' or 'sqlite'
    This is where actual translation files reside.

    edit them and reload to see the changes.

    Permission
    realeconomy.<command name> - give permission to use the <command name>.

    Command

    /eco or /realeconomy - show helps

    Questions/Bug/Feature request

    You may contact me via DM, discord (wysohn#1933), or github issue.

    Future work

    - Bank location setting (by Chunk, worldguard region, etc.)
    - Currencies created by users
    - Banking System that can run by users
    - A complete finance system through a working loans, bonds, CDs, and possibly more.
    - Or do you have any better idea? let me know.

    Please Donate

    It took me quite a while to develop this plugin, not only because of the coding, but also lots of tests and study for microeconomics myself. So if you think I deserve something, please donate though the paypal link below the title.

    Or, help me in any other way. Contribute to the code, start a wiki, make a fancy images or videos, etc. any help is greatly appreciated.

    ---

    Combo Chart icon icon by Icons8

Recent Updates

  1. critical bug found
  2. updates

Recent Reviews

  1. JCJC
    JCJC
    5/5,
    Version: 1.13.1-hotfix
    Looks really promising economy plugin! I'd agree people need to stop giving free money from commands/jobs. A preferable system should be trading with goods and services to keep the purchasing power of money.
  2. notashelf
    notashelf
    5/5,
    Version: 1.13.1
    Before i stumbled upon this page i used a different economy plugin. I no longer do.

    I feel like the author knows what they are doing, and developing with passion instead of developing to make an industrialized product with no care put into it. The ideas are amazing, and the plugin works juuust fine for me. Really expect to see more of this plugin!

    Excellent work!
    1. wysohn
      Author's Response
      Hello there,

      I'm glad to hear that you like it!

      If you have any suggestions or problems, don't hesitate to contact me.

      This plugin has a lot more to go. Hopefully, I can implement some more fun stuff to play before school starts again.

      Let us see how things will go!

      Sincerely,

      wysohn