PAR-56
Transactions appear in chat
Notify online firm employees/players in chat when their firm receives an incoming transaction.
Technical notes — Treasury fires no per-transfer event (only TaxCycleEvent), so there's nothing to listen for cross-plugin. But the primitive exists: FirmStaffService.getOnlineEmployees(firm) returns online staff + proprietor (already used by disband). In the pay-in handlers (FirmTransactionServiceImpl/MiscCommands.payInto), after a successful treasury.transfer, message.send(getOnlineEmployees(firm), "…received…"). A true event-driven version is blocked on the same missing transfer event as PAR-75.
Resources
- commit08b8cbb Add firm notification service + incoming-transfer notices (PAR-94, PAR-56)MCCitiesNetwork/Business
- PR · merged#6 Release: develop → mainMCCitiesNetwork/Business
Comments
tesks · Jun 4, 2026, 9:56 AM
Code context — Treasury fires no per-transfer event (only TaxCycleEvent), so there's nothing to listen for cross-plugin. But the primitive is here: FirmStaffService.getOnlineEmployees(firm) returns the online staff + proprietor (already used by the disband flow).
Approach: in the pay-in handlers (FirmTransactionServiceImpl/MiscCommands.payInto), after a successful treasury.transfer, message.send(getOnlineEmployees(firm), "…received…"). Doing it in-band avoids needing a Treasury event; a true event-driven version is blocked on the same missing transfer event as PAR-75.
tesks · Jun 5, 2026, 11:15 AM
Shipped on develop (commit 08b8cbb), built on the new firm notification system (PAR-94).
The receiving firm's online members now get an in-game notice when money comes in via:
/firm pay into <firm> <amount>(player → business),/firm pay business <firm> <target> <amount>(target firm notified),/firm account pay business <firm> <accountId> <target> <amount>(target firm notified).
Uses notifyFirmExcept(targetFirmId, payer, …) so the payer isn't notified of their own payment. Message key business.notify.transfer.incoming → "{firm} received {amount} from {sender}".
Known limitation (by design): Treasury fires no per-transfer event, so this only catches transfers Business itself originates. External incoming (ChestShop sales, Vault, direct Treasury transfers) needs the per-transfer event in PAR-75 — the fully event-driven path remains tracked there.
Activity
- ParadauxIO linked a commit — Commit 08b8cbb — Add firm notification service + incoming-transfer notices (PAR-94, PAR-56)
- ParadauxIO changed status to Status → Done
- ParadauxIO linked a pull request — PR #6 merged — Release: develop → main
- ParadauxIO linked a pull request — PR #6 open — Release: develop → main
- ParadauxIO linked a pull request — PR #6 open — Release: develop → main
- ParadauxIO linked a pull request — PR #6 open — Release: develop → main
- ParadauxIO linked a pull request — PR #6 open — Release: develop → main
- ParadauxIO linked a pull request — PR #6 open — Release: develop → main
- ParadauxIO linked a pull request — PR #6 open — Release: develop → main
- tesks commented
- tesks changed status to Status → Pending Release
- ParadauxIO linked a commit — Commit 08b8cbb — Add firm notification service + incoming-transfer notices (PAR-94, PAR-56)
- tesks updated labels (Labels updated)
- tesks changed status to Status → Backlog
- tesks description: Description updated
- tesks commented
- tesks assigned Assigned to rian