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