====== 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.
