MashFlightManager
World-based timed flight manager for Paper 1.21+ with per-mode limits, restricted worlds, bypass permissions, browse GUI, and admin controls.
MashFlightManager
MashFlightManager
Core Features
- Restrict flight by world (`restricted-worlds`) - Bypass support: - `mashflight.bypass` - `mashflight.bypass.<world>` - Two time modes: - `COUNT-FLYING` (consumes only while flying with plugin flight) - `COUNT-ONLINE` (consumes while actively flying with plugin flight) - Prevents mixing both modes at the same time - BossBar with clean time display - Per-mode max caps via `max-flight-time` - Async YAML storage (minimal data only) - Strong admin tools with tab completion - Browse all configured flight items in-game (`/flight browse`) - Click items in browse GUI to receive them - Sound feedback for success/error/click actions
Important Behavior
- Time does not consume in Creative/Spectator - Time does not consume for bypass players - Time does not consume in restricted worlds - Item use denied if it would exceed mode cap - Item metadata is non-italic and consistent
---
Commands
Player
- `/flight` Shows your remaining flight time.
Admin (`mashflight.admin`)
- `/flight browse` Opens item browser (click to receive item). - `/flight give <player> <item-id> [amount]` - `/flight give <player> <amount> <item-id>` (also supported) - `/flight set <player> <type> <seconds>` - `type`: `count-flying` or `count-online` - `/flight add <player> <seconds>` - `/flight remove <player> <seconds>` - `/flight reload` - `/flight restriction add <world>` - `/flight restriction remove <world>` - `/flight restriction list`
---
Permissions
- `mashflight.use` - `mashflight.admin` - `mashflight.bypass` - `mashflight.bypass.<world>`
---
Default Config (example)
```yml restricted-worlds: - world - pvp
bossbar: title: "&8✦ &bFlight &8✦ &f%time% &8✦" color: BLUE style: PROGRESS
max-flight-time: count-flying: 3600 count-online: 7200
flight-items: small-fly: material: FEATHER custom-model-data: 1 name: "&bSmall Flight Token" lore: - "&7Grants 10 minutes of flight" - "&7Counts only while flying" time: 600 mode: COUNT-FLYING
big-fly: material: PHANTOM_MEMBRANE custom-model-data: 2 name: "&dPremium Flight Token" lore: - "&7Grants 30 minutes of flight" - "&7Counts while online" time: 1800 mode: COUNT-ONLINE ```
---
Data Storage
- File: `plugins/MashFlightManager/data.yml` - Stores only: - Player UUID - Remaining time by item ID
---
Installation
1. Put `MashFlightManager-1.2.0.jar` in your `plugins` folder. 2. Restart server. 3. Edit `config.yml` and `messages.yml` if needed. 4. Run `/flight reload`.