π» Installation
Requirements
| Server | Paper 1.21.11 or newer |
| Java | 21 or newer |
Install
- Put
PolaroidMail-x.y.z.jarinplugins/. - Start the server. The config files are generated on first run.
- Edit what you want and run
/mail reload.
SQLite and its connection pool are downloaded on first start, so the first boot needs internet access. After that the plugin runs offline.
Optional plugins
None of these are required. Each one is detected at startup, and the feature it powers simply stays off when it is absent.
| Plugin | What it adds |
|---|---|
| Vault + an economy | Money inside mail, and a send cost |
| LuckPerms | Per-rank send cost and delivery delay |
| PlaceholderAPI | %polaroidmail_unread% and %polaroidmail_has_mail% |
| ModelEngine | A 3D model for the mailbox block |
| Floodgate | Native Bedrock screens for Geyser players β see Bedrock |
| Nexo, Oraxen, ItemsAdder, MythicMobs, CraftEngine, ExecutableItems, HeadDatabase | Custom items anywhere the config takes an item β see Custom Items |
Files
Everything lives in plugins/PolaroidMail/.
| File | Holds |
|---|---|
config.yml | Behaviour: limits, costs, expiration, sounds |
messages.yml | Every chat message |
menus.yml | Screen layouts and dialog labels |
items.yml | How every item the plugin builds looks |
server-mail.yml | Pre-written mails sent by id |
mailbox-block.yml | The placeable mailbox |
mail.db | The mail itself. Back this up |
Updating
Replace the jar and restart.
Config files are never overwritten. A plugin only writes a .yml when it is missing, which is what stops an update from wiping your configuration. The flip side: new options added by an update will not appear in your existing files. Check the changelog, or delete a file to have the current default regenerated.
mail.db migrates itself on start. Nothing to do.
Conflicting with EssentialsX
EssentialsX also registers /mail. Whichever plugin loads last wins, which is not something you want to leave to chance.
Give PolaroidMail its own name instead:
command:
aliases:
- pmail
Players can then use /pmail, no matter who won /mail.