Add Coal Cents economy
This commit is contained in:
40
coalgov-wiki-pages/technical.txt
Normal file
40
coalgov-wiki-pages/technical.txt
Normal 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.
|
||||
Reference in New Issue
Block a user