LamMailBox 1.5.0

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 SQLite mail_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 setting enabled: 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 and mailing-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

Project members

YusakiDev

Member

Details

Licensed GPL-3.0-only
Published a month ago
Updated 13 days ago