Add Coal Cents economy

This commit is contained in:
CoalGov Deploy
2026-05-04 17:00:05 +00:00
commit c8cc200004
73 changed files with 6873 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
====== Technical Notes ======
===== Plugin Type =====
CoalGov is a server-side Paper/Bukkit plugin. It is not a Forge mod, Fabric mod, resource pack, datapack, or custom launcher. Vanilla clients can join normally.
===== Java Package =====
com.librewiki.coalgov
===== Architecture =====
The plugin is split into commands, listeners, models, services, storage repositories, and small utilities. The goal is boring, maintainable Java rather than one giant plugin class.
===== Persistence =====
CoalGov uses SQLite at:
plugins/CoalGov/coalgov.db
Tables:
* players
* claims
* claim_vertices
* land_regions
* permits
* transactions
* market_stock
===== Important Runtime Behavior =====
* Player rows are created on join.
* SQL uses PreparedStatement.
* Timestamps are stored as epoch milliseconds.
* Database access is synchronous because the target server is tiny.
* Money columns are stored as integer Coal Cents. The ''schema_meta'' table records the one-time migration from old whole-coal ledger units.
* Admin permission allows admin commands. Coal mining, build protection, and marker protection are bypassed only while the admin has enabled ''/coalgov admin bypass on''.
* Polygon claims store their vertices separately from the claim bounding box.
* The market stores stock separately from transaction history.