ExcellentEconomy
collector-excellenteconomy · version 0.6.0 · registers as economy · CI 2026-09-25
ExcellentEconomy's multi-currency economy — by events, and by REFLECTION.
COMPLEMENTS the essentials module, which gives the TOTAL in circulation by reading EssentialsX's already-computed cache. This one gives the MOVEMENT: who earns, who spends, how much, in which currency. A total that doesn't move and a heavy flow don't describe the same economy, and neither metric replaces the other.
WHY REFLECTION HERE, AND NOWHERE ELSE. ExcellentEconomy is compiled as class 69, i.e. Java 25 — verified in its jar. A javac targeting Java 21 refuses to READ such a file, even for a plain signature:
<pre> bad class file: ExcellentEconomy-2.8.0.jar(…/ChangeBalanceEvent.class) class file has wrong version 69.0, should be 65.0 </pre>
The two clean options were compiling this module with --release 25, which forces a JDK 25 to build the whole repo, or dropping it. Reflection is the third path: the module stays compilable on the repo's JDK 21, and registerEvent accepts a class obtained at runtime. The cost is that a signature change on NightExpress's side won't show up at compile time — it will show up at startup, as a warning, and the module will stay silent instead of failing to build.
Install
Put vania-metrics-collector-excellenteconomy-0.6.0.jar in the plugins folder, next to the core and to ExcellentEconomy, then restart. The collector depends on both: without ExcellentEconomy it stays disabled, and the core keeps running.
- Target plugin: ExcellentEconomy 2.8.0 (reflection, not compiled against) — latest for Minecraft 1.21.11: 2.8.0
- Built against: core v0.6.0
- Download: vania-metrics-collector-excellenteconomy-0.6.0.jar, with its SHA-512, from the v0.6.0 release
- Collects: on events, as they happen
- Tested on: Java 25
- Latest CI: success · 2026-09-25 21:28 UTC · commit
aa46598· run
Platforms
| Platform | Target plugin | Collector | Latest CI |
|---|---|---|---|
| Paper | yes | Passed | paper ✓ |
| Purpur | yes | Passed | purpur ✓ |
| Folia | no | n/a | — |
| Spigot | yes | Passed | spigot ✓ |
| CraftBukkit | unknown | Unknown | — |
| Sponge | no | n/a | — |
| Velocity | no | n/a | — |
| BungeeCord | no | n/a | — |
| Waterfall | no | n/a | — |
| Geyser | no | n/a | — |
See the compatibility matrix for every collector at once.
Metrics
mc_economy_flow_total
counter currency direction
Amounts moved, as absolute values. direction = in|out. The ratio of the two tells whether the economy is creating or destroying currency.
mc_economy_player_balance
gauge player uuid currency
Balance of an online player. Updated by event, so accurate to the second — no database reads.
mc_economy_transactions_total
counter currency type
Account movements. type = deposit|withdraw.
Configuration
In metrics.properties, or as environment variables. See Configuration.
| Key | Default | Environment variable |
|---|---|---|
collector.economy | true | VANIA_METRICS_COLLECTOR_ECONOMY |