πŸ”₯Join our Discord for support, updates, and custom commissions.
Polaroid Studio Logo
PolaroidSTUDIO
DiscordLog In

πŸ’» Installation

Requirements

ServerPaper 1.21.11 or newer
Java21 or newer

Install

  1. Put PolaroidMail-x.y.z.jar in plugins/.
  2. Start the server. The config files are generated on first run.
  3. 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.

PluginWhat it adds
Vault + an economyMoney inside mail, and a send cost
LuckPermsPer-rank send cost and delivery delay
PlaceholderAPI%polaroidmail_unread% and %polaroidmail_has_mail%
ModelEngineA 3D model for the mailbox block
FloodgateNative Bedrock screens for Geyser players β€” see Bedrock
Nexo, Oraxen, ItemsAdder, MythicMobs, CraftEngine, ExecutableItems, HeadDatabaseCustom items anywhere the config takes an item β€” see Custom Items

Files

Everything lives in plugins/PolaroidMail/.

FileHolds
config.ymlBehaviour: limits, costs, expiration, sounds
messages.ymlEvery chat message
menus.ymlScreen layouts and dialog labels
items.ymlHow every item the plugin builds looks
server-mail.ymlPre-written mails sent by id
mailbox-block.ymlThe placeable mailbox
mail.dbThe 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.