Changelog
Updates ✨
- Introduced automated mailings defined in
mailings.yml
, supporting cron-based schedules, first-join delays, permission gates, and Folia-safe delivery with automatic player notifications. - Added the
/lmb mailings
admin command with live status reporting (last/next run previews, run counters) backed by YAML and SQLite repositories. - Expanded the mail composer: schedule or expire deliveries via the GUI clock, build reusable console command bundles with the new command-item editor, and preview current receivers/messages directly in the interface.
- Upgraded
/lmb send
to accept inline sections (| [commands] | schedule:YYYY:MM:DD:HH:mm | expire:YYYY:MM:DD:HH:mm
) so console and admins can queue timed or command-driven mail in one call.
Fixes 🛠️
- Blocked players from mailing themselves and added capacity checks before accepting new receivers to prevent overfilled mailboxes.
- Restricted bulk recipient and command attachment actions to admins, ensuring permission checks mirror the GUI workflow.
- Added sent-mail deletion confirmation and safeguarded composer/item GUI closures so items return to players instead of being lost.
- Normalized
allonline
targets to snapshot current online players before storage, ensuring scheduled deliveries reach the correct recipients.
Changes 🔄
- Bumped configuration schema to 1.4 with expanded messages, titles, and GUI metadata plus the new
mailings.auto-cleanup
toggle for status pruning. - Mail records now capture optional schedule and expiry timestamps, defaulting expiration from
settings.default-expire-days
when unspecified. - Command attachments persist as structured "command items" (YAML
command-items
section or SQLitemail_command_items
table) while retaining legacy command lists for backward compatibility.
Notes 📌
- Cron expressions follow the UNIX format (
m h dom mon dow
); disable any definition by settingenabled: false
. mailings.yml
is generated on first run—review default examples before enabling automation in production.- Back up your YAML/SQLite data before upgrading; the plugin will auto-create the new
mail_command_items
/mailing_status
tables andmailing-status.yml
file on startup. - Reloading via
/lmbreload
refreshes mailing definitions, runs auto-cleanup, and reports active IDs for quick verification.
Files
LamMailBox-1.5.0.jar(13.5 MiB) Primary Download
Details
Licensed GPL-3.0-only
Published a month ago
Updated 13 days ago