Treasury
An bridge layer to provide economy and points implementations
- Loaders
- FabricNeoForge
- Downloads on Modrinth
- 331
- Followers on Modrinth
- 0
- versions
- 6
- Updated
- April 18, 2026Apr 18
- Published
- in 2026
At a glance
Needed both in the game and on the server
Treasury
A simple economy & points API for Minecraft mods.
Inspired by the Bukkit Vault plugin.
It is not an economy implementation.
Instead, like Vault, other mods provide economy/points implementations, and Treasury acts as a bridge layer.
*We need a good logo lmao, my art sucks —— the author*
What can it do?
- Hold server economy (multi-currency supported)
- Access points / premium currency
- Allow mods to interact economy system without depending on specific implementations
How it works
Treasury defines two main provider types:
EconomyProviderfor normal currencyPointsProviderfor points (most for premium currency)
Other mods register their implementation, and other developers who use the API can get them. See more below.
Registry
Economy
- Stored in
EconomyServiceRegistry - Supports multiple providers
- One provider is selected as primary
Selection rules:
- Using
primaryEconomywhich defined in config if specified - Otherwise, use the first registered provider
Points
- Stored in
PointsServiceRegistry - Only one provider allowed
Registering another provider will throw an exception.
Register Providers
Economy
Treasury.economy().register(new ExampleEconomyProvider());Points
Treasury.points().register(new ExamplePointsProvider());Notes:
- Only one points provider allowed
- Please register during mod initialization
Fabric Entrypoints
Treasury supports register providers via Fabric entrypoints:
treasury-economytreasury-points
Example:
{
"entrypoints": {
"treasury-economy": [
"com.example.mod.ExampleEconomyProvider"
],
"treasury-points": [
"com.example.mod.ExamplePointsProvider"
]
}
}Usage
Economy
if (Treasury.economy().hasPrimary()) {
EconomyProvider economy = Treasury.economy().getPrimary();
double balance = economy.getBalance(playerUuid);
}Points
if (Treasury.points().isRegistered()) {
PointsProvider points = Treasury.points().get();
int balance = points.getBalance(playerUuid);
}Commands
/treasury info- `/treasury balance `
Required permission level: 2
Requirements
- Fabric: Minecraft
1.20.1+, any Fabric version, Fabric API is not required - NeoForge: Minecraft
1.20.4+, any NeoForge version - Java:
17or higher
Don't ask for Forge!
Build
./gradlew buildImport
dependencies {
compileOnly("io.github.lijinhong11:treasury:VERSION")
}FAQ
How to install Treasury?
Install Fabric for your Minecraft version, download Treasury for the same version and loader, put the file into the mods folder and launch the game with the loader profile.
Which Minecraft versions does Treasury support?
Treasury has builds for Minecraft 1.20–26.1.2.
Is Treasury needed on the server?
Needed in the game and on the server