Hi all. I'm solo developing Kaldra, a Minecraft server. Last week I went through transportation and mentioned more than once that things cost gold. This week is about the gold itself: why it's the currency, where it comes from and what you spend it on, with the reasoning behind each decision and how it's built.
On most Towny servers I've played, money is a number in /bal. It comes from selling stacks to a server shop or from jobs, it piles up on accounts nobody can touch, and after a few weeks everyone has more than they can spend. When money can't be lost or stolen, it stops meaning anything.
On Kaldra there's no balance. The currency is the gold you're carrying.
Gold is the money
Gold ingots and gold blocks are the only currency: an ingot is worth 1, a block is worth 9. When you found a town, claim land or pay for a flight, the gold is taken straight from your inventory. When you get paid, it's put straight into it.
That means your money exists in the world. It can sit in a chest in your town, it can travel in your pocket, and if you die carrying it, it drops like anything else. You can't store gold in an ender chest either, so there's no pocket dimension to keep it safe. If you want to protect your gold, protect your town.
Where it comes from
Gold is scarce on purpose. Ore generation is reduced, Fortune doesn't work on gold, and mobs don't drop it, so there's no gold farm to build in a corner and leave running overnight.
What's left is real work: mining what's there, trading with other players, completing Nomad contracts, clearing dungeons, and what your town produces. Towns can survey their land for resources and get a daily production from them, gold included, which is a big part of why founding a town and claiming good land matters. It's also what wars are fought over.
What you spend it on
Founding a town, claiming land, founding a nation and declaring a siege all cost gold. So do surveys for town resources, which get more expensive at each level, and flights. Horse upgrades are paid in gold too.
Declaring a siege costs more the more a target town has developed its resources. Attacking a rich town is worth more, so it should cost more to try.
How it's built
Towny's own economy is turned off. Instead, I wrote a small economy plugin that every other plugin goes through when it needs to charge or pay a player. It counts the gold in the inventory, takes the right mix of blocks and ingots, gives change, and pays out in blocks and ingots too. If the inventory is full, the rest drops at the player's feet. Keeping it in one place means horses, flights, sieges and contracts all follow the same rules.
Some payments can't happen instantly. A Nomad contract, for example, takes the contractor's gold up front and only pays it out when the job is done. That gold sits in escrow in the database, so a crash or restart in the middle doesn't make it vanish or duplicate. If the player who should be paid is offline, the payment waits and is delivered when they log back in.
The faucets are closed at the source: Fortune is ignored on gold ore, mobs that normally drop gold don't, and ender chests refuse any form of gold, including gold hidden inside a shulker box or a bundle. Every charge and payout is logged, so I can see how much gold enters and leaves the world and adjust prices with real numbers instead of guesses.
Why so strict
Every rule here is about one thing: making gold you have feel earned and gold you carry feel at risk. A town that hoards its treasury has to defend it, a nation that wants to go to war has to pay for it, and someone riding across the map with a full inventory has a reason to watch the road.
I expect some of this to change once players are in. Prices especially will move after testing, and I'd rather start strict and loosen up than the opposite.
Next week: Towns. How they're founded, how they level up, and what they produce.
For anyone who has designed an economy with a physical currency that can be lost or stolen: how did you keep the risk exciting without making players hoard and never spend?