MPassports — Changelog
v1.7 (Current)
New Features
Tab Completion
- All subcommands now support tab completion
- Player names auto-complete for commands that require a target player
- Fields auto-complete for /passport set
- Gender suggests Male / Female automatically
- Expiry dates suggest example dates (30 / 90 / 365 days from today)
Passport History
- Every field change is now recorded with timestamp, who changed it, and old → new value
- Last 50 changes are stored per passport
- History is saved to passports.yml and persists across restarts
- Command: /passport history [player]
Passport Expiry
- Passports can now have an expiry date
- Admins can set, clear, and check expiry dates per player
- Auto-expiry on creation: configure passport.valid-days in config.yml (0 = disabled)
- Expired passports are clearly marked in /passport show and the passport book
- Commands: /passport expiry set|clear|check
Passport Revoke (bonus)
- Admins can now delete a player's passport entirely
- The player receives a notification when their passport is revoked
- Command: /passport revoke <player>
Bug Fixes & Improvements
- GUI: View Passport — removed unwanted GUI reopen after viewing another player's passport; result now stays visible in chat
- GUI: Ask Passport — changed from two-step firstname/lastname input to a single player nickname input; the plugin automatically finds the passport by nickname
- GUI: all fields — fixed a Bukkit timing issue where the GUI would sometimes not reopen after chat input; all reopens now use a 1-tick scheduler delay
- GUI: Fines — fine list now also refreshes with a 1-tick delay after paying
File Changes
File Change Passport.java Added expiryDate, history, overloaded setters with changedBy parameter PassportManager.java Load/save expiry and history; added removePassport(); auto-expiry on createPassport() PassportCommand.java Added history, expiry, revoke commands; implemented TabCompleter PassportGUI.java Fixed reopen timing; fixed View and Ask buttons; history-aware setters lang.yml Added expiry, history, revoke messages; added gui-type-ask-player; improved usage-passport to multi-line list config.yml Added passport.valid-days setting plugin.yml Updated command usage string; bumped version to 1.7 pom.xml Renamed <name> and <finalName> from McUltimatePassports to MPassports
v1.6
- Renamed plugin internally from McUltimatePassports to MPassports
- Renamed main class file from McUltimatePassports.java to MPassports.java
- Replaced all internal references to old name across all source files
- Deleted Luckperms from Softdepend
v1.5 (Base version)
- Initial release
- Passport creation and display system
- GUI-based passport editor with chat input
- Fine system with Vault economy integration
- LuckPerms integration (job/position display)
- PlaceholderAPI support
- Request system (ask / accept / deny)
- Passport book (/passport get)
- Admin commands: list, reload, set <player>
- Multi-language support via lang.yml
- Configurable GUI via gui.yml
