Allow the system to fine firms directly (today fines target players only).
Technical notes — GovServiceImpl.issueFine resolves the fined party via getAccountByUUID(player) (PERSONAL account), GovernmentFine stores a playerUuid (not an accountId), and FineCommand takes an OfflinePlayer — there's no path to fine a BUSINESS/firm account. Add an overload issueFine(int debtorAccountId, int govAccountId, …), generalise GovernmentFine to carry a debtorAccountId (keep playerUuid for back-compat), add a /fine firm <name> … route resolving the BUSINESS account, and mirror it in the revoke path. Pairs with PAR-59.
Code context — Fines are player-only today:
GovServiceImpl.issueFineresolves the fined party viagetAccountByUUID(player)(PERSONAL account),GovernmentFinestores aplayerUuid(not an accountId), andFineCommandtakes anOfflinePlayer. There's no path to fine a BUSINESS/firm account.Approach: add an overload
issueFine(int debtorAccountId, int govAccountId, …), generaliseGovernmentFineto carry adebtorAccountId(keepplayerUuidfor back-compat), add a/fine firm <name> …route resolving the BUSINESS account, and mirror it in the revoke path. Pairs with PAR-59 (webhook).