Mailboxes
A standalone plugin giving players persistent in-game mail with item attachments, and the delivery backend Medieval Factions prefers for offline notifications.
Mailboxes is a standalone plugin: persistent player-to-player mail, with items attachable to a message. It has no dependency on Medieval Factions. The relationship runs the other way — the flagship uses it when it is present.
A deliberate API package
The externalapi package is the notable design choice. Rather than letting other plugins reach into Mailbox and Message directly, Mailboxes exposes MailboxesAPI plus wrapper types M_Mailbox and M_Message.
The M_ prefix marks the boundary: those are the types other plugins are allowed to hold. getMailbox and getMessage wrap the internal object on the way out, so internal classes can be refactored without breaking consumers.
The class also reports its own APIVersion, separate from the plugin version — so a consumer can check whether the contract changed rather than merely whether the plugin did.
How the flagship uses it
MailboxesNotificationService implements the flagship's Notification interface by calling sendPluginMessageToPlayer, using the UUID overload — which matters, because the recipient is by definition offline and there is no Player object to pass. That is the entire integration: a faction announcement to an absent member becomes a piece of mail waiting when they next log in.
Because the flagship resolves the plugin by name and returns quietly if it is absent, Mailboxes remains genuinely optional.
Item attachments
Attachments make mail an item-transfer channel, not just a message channel — with configurable limits and permissions, since an unbounded one would be a duplication and storage problem.
Related
Mailboxes ships in the curated plugin set on DPC Minecraft Server, which is where its interaction with the flagship is exercised.