Sueta

EzFlyTime

3.0.4

Sell flight time with customizable vouchers, and make flying players look awesome with highly configurable particles. Also includes configurable bossbar for countdown and has PlaceholderAPI support.

·Plugin
  1. 3.0.4latestEzFlyTime 3.0.4Aug 6, 2026
    Added
    - `display.time-format` config option - controls how {time} and {duration} are formatted in boss bars, action bars, commands, messages, and placeholders. Accepts a pattern string with tokens: DD/D (days), HH/H (hours), MM/M (minutes), SS/S (seconds). Examples: HH:MM:SS, MM:SS, Dd HH:MM:SS. The special values compact and clock are still supported for backward compatibility. - `/ezflytime info <player>` admin command - shows a target player's remaining flight time, active voucher status (name and duration), flying state, unlimited-flight status, and per-session max-flight bypass state. Permission node: ezflytime.info (default: op). - `hide-voucher-nbt` config option (default: true) - when enabled, voucher items no longer expose internal attribute modifiers or NBT metadata in the item tooltip. Set hide-voucher-nbt: false in config.yml to restore the previous behaviour. - Multi-line message support - configurable messages in messages_*.yml can now contain literal \n sequences to split a single message across multiple chat lines. This is useful for longer notifications such as the update available message, which now displays version and download details on separate lines. - Action bar flight display - optional actionbar: section in config.yml lets you show remaining flight time (and optional horizontal speed) above players' hotbars instead of, or alongside, the existing boss bar. Enable with actionbar.enabled: true and customise the title and speed counter independently of the boss bar settings. Supports the same placeholders as the boss bar: {time}, {seconds}, {fuel}, and {speed}.
    Changed
    - Voucher item flags now use the direct Bukkit API - replaced the legacy reflection-based addItemFlags call with ItemMeta.addItemFlags(ItemFlag…) so voucher tooltips are hidden consistently across Spigot, Paper, and Purpur.
    233 downloads
  2. 3.0.3EzFlyTime 3.0.3May 24, 2026
    Changed
    - Split unlimited-flight disabled message - Show a different message when a player disables flight while they have unlimited flight. Added the flight-disabled-unlimited message key and updated the command and teams subcommand to use it when appropriate.
    242 downloads
  3. 3.0.2EzFlyTime 3.0.2May 20, 2026
    Changed
    - [TeamsAPI](https://modrinth.com/plugin/teams-api) dependency bumped 1.8.0 → 2.0.0 - the 2.0.0 release adds TeamRelation.MEMBER and adjusts the default colours of ALLY and TRUCE. EzFlyTime does not use TeamRelation, so no code changes were required.
    Added
    - TeamsAPI integration smoke tests - 112 parameterized tests across all compatible server software (Paper, Spigot, Purpur, Folia) and Minecraft versions (1.16.5 – 1.21.5) guard against regressions of the NoClassDefFoundError crash fixed in 3.0.1.
    Fixed
    - Spurious `particle-shop-gui.yml` save warning - StartupBootstrap called saveResource("particle-shop-gui.yml", false) unconditionally on every startup, producing Could not save … because … already exists after the first run. The call was redundant: ParticleShopGUI already guards the same saveResource behind an existence check, so the StartupBootstrap call has been removed. - [TeamsAPI](https://modrinth.com/plugin/teams-api) soft-dependency crash - NoClassDefFoundError: com/skyblockexp/teamsapi/api/TeamsSubcommand was thrown on startup whenever TeamsAPI was absent. Bukkit's class loader eagerly loads field-type classes in the same jar, so FlySubcommand (and transitively its TeamsSubcommand interface) was resolved the moment TeamsIntegration was instantiated, before any availability guard ran. The flySubcommand field is now typed as Object; all TeamsAPI references remain in method bodies and are resolved lazily at execution time.
    32 downloads
  4. 3.0.1EzFlyTime 3.0.1May 20, 2026
    Fixed
    - [TeamsAPI](https://modrinth.com/plugin/teams-api) soft-dependency crash - NoClassDefFoundError: com/skyblockexp/teamsapi/api/TeamsSubcommand was thrown on startup whenever TeamsAPI was absent. Bukkit's class loader eagerly loads field-type classes in the same jar, so FlySubcommand (and transitively its TeamsSubcommand interface) was resolved the moment TeamsIntegration was instantiated — before any availability guard ran. The flySubcommand field is now typed as Object; all TeamsAPI references remain in method bodies and are resolved lazily at execution time.
    Added
    - `{time}` placeholder in `flight-disabled` message - the remaining flight time is now substituted into flight-disabled messages (e.g. &cFlight disabled. Remaining time: {time}.). Updated all 8 bundled locales (en, nl, de, fr, es, ru, tr, zh) to include the placeholder by default. ---
    19 downloads
  5. 3.0.0EzFlyTime 3.0.0May 19, 2026
    This release is a major overhaul of EzFlyTime. Nearly every system has been rewritten or significantly extended. **Existing config.yml and message files will need to be updated** - delete them and let the plugin regenerate defaults, then re-apply your customisations.
    Added
    - TeamsAPI integration (optional soft dependency) - integrates with [TeamsAPI](https://modrinth.com/plugin/teams-api) when the plugin is present: - Registers a /f fly subcommand in the team plugin's command tree so players can toggle EzFlyTime flight from within their team commands. - New teams.claimed-chunks-only config option (default false): when enabled, EzFlyTime-managed flight is restricted to the player's own team-claimed chunks. Entering an unclaimed or enemy chunk mid-flight automatically lands the player. - New teams.enabled config toggle to disable the integration entirely. - New permission ezflytime.teams.fly.bypass (default false): exempts a player from the claimed-chunks-only restriction. - New message keys: teams-no-fly-unclaimed, teams-fly-zone-left, teams-not-in-team (all 8 locales). - Timed flight system - players now have a flight-time balance instead of unlimited flight. The remaining time counts down live and is shown in a boss bar above the screen. - Physical flight vouchers - voucher items are backed by Persistent Data Container (PDC) metadata and carry a unique identifier, making each item traceable and preventing duplication exploits. - In-game voucher shop GUI - players open the shop with /flytime and purchase vouchers directly using Vault economy currency. The GUI is fully configurable in voucher-gui.yml (title, slots, items, sounds, prices). - Configurable commands on voucher buy / use - add on-buy-commands and on-use-commands to any voucher in config.yml to run console or player commands automatically. Supports placeholders: {player}, {voucher}, {voucher_name}, {duration_seconds}, {amount}. - Particle trail shop - players can unlock and equip particle effects during flight. The shop and selection GUI are configured in particle-shop-gui.yml and particles.yml. - Auto-flight reward system - grant flight time automatically on a timer. Rewards can be flat, permission-based (rank groups), or tied to mcMMO skill level thresholds. - Fuel display mode - optionally show remaining flight as a percentage fuel bar instead of a time value (display.flytime-mode: fuel). - MySQL storage backend - store flight-time data in a MySQL database for multi-server / BungeeCord setups alongside the default YAML backend. - PlaceholderAPI expansion - use %ezflytime_time%, %ezflytime_seconds%, %ezflytime_minutes%, and %ezflytime_fuel% in any PlaceholderAPI-compatible plugin. - Multilingual messages - built-in translations for English, Dutch, Spanish, French, Russian, Turkish, Chinese, and German. Set language: in config.yml to switch instantly. - Tab-complete permission gating - /flyvoucher tab completions now respect permissions: give is only suggested to players with ezflytime.give, and buy only to players with ezflytime.buy. - `/flytime top` leaderboard command (permission ezflytime.top, default: true). - Per-session flight cap - limit how long a single uninterrupted flight session can last (max-single-flight-seconds). A per-player bypass permission is available. - Flight preservation across death - optionally keep or clear a player's remaining flight time when they die (preserve-on-death). - Creative / Spectator bypass - players in Creative or Spectator mode can be configured to fly freely without consuming time. - SpigotMC update checker - notifies online operators/admins when a new version is available. Configurable and can be disabled entirely. - bStats metrics - anonymous usage statistics to help guide future development (opt-out supported via bStats global config). - GitHub Pages documentation at <https://ez-plugins.github.io/EzFlyTime/>.
    Changed
    - /flytime with no arguments now opens the voucher shop GUI for all players who have the ezflytime.buy permission (default: true). Previously only server operators saw the shop; regular players received only a "remaining time" message. - ezflytime.buy is now declared in plugin.yml with default: true, making the shop accessible to all players out of the box. Restrict it via your permission manager if needed. - /fly and /flytime no longer operate independently of each other - both draw from and update the same flight-time balance. - Admin time-management commands (give, set, remove) no longer send a duplicate notification to the target player. The command handler sends one message; FlyTimeManager is told notify=false.
    Fixed
    - Modrinth release workflow now lists vaultunlocked instead of vault as an optional dependency; Vault has no Modrinth listing whereas [VaultUnlocked](https://modrinth.com/plugin/vaultunlocked) is the actively maintained fork. - plugin.yml now includes both Vault and VaultUnlocked in softdepend so EzFlyTime loads correctly regardless of which economy provider is installed. - /flyvoucher tab completions are now gated on sender permissions: give is only suggested to players with ezflytime.give and buy only to players with ezflytime.buy. - Players without ezflytime.buy could never open the voucher shop GUI because the permission was used in code but not registered in plugin.yml, causing it to silently default to OP-only. - Tab-complete for /flyvoucher suggested give and buy to every sender regardless of what they were actually allowed to do. - Right-clicking a voucher during the 1-second anti-spam cooldown did not cancel the event, allowing the click to propagate to the server. - Granting, setting, or removing flight time via admin commands sent two notifications to the target player (one from the command, one from FlyTimeManager).
    26 downloads
  6. 2.3.3EzFlyTime 2.3.3Mar 24, 2026
    - Added new configuration option preserve-on-death in the config.yml. Example usage:
    flight:
      # Preserve flight state across death/respawn. If true, players keep plugin-granted
      # flight after they die and respawn (defaults to true).
      preserve-on-death: true
    169 downloads
  7. 2.3.2EzFlyTime 2.3.2Mar 22, 2026
    - Added option to show formatted money (1k, 2m, 3b, etc.) ![Flight time voucher shop formatted price](https://i.ibb.co/NdhVQM80/image.png) - Added formatting to enter price formatted in the config
    37 downloads
  8. 2.3.1EzFlyTime 2.3.1Mar 22, 2026
    - Fixed issue in creative/spectator bypass still counting down the timer
    30 downloads
  9. 2.3.0EzFlyTime 2.3.0Mar 21, 2026
    - Added permission bypass for creative mode (ezflytime.bypass.creative) - Added configurable bypass for creative mode (flight.allow-creative-bypass: true in config.yml) - Added permission bypass for spectator mode (ezflytime.bypass.spectator) - Added configurable bypass for spectator mode (flight.allow-spectator-bypass: true in config.yml)
    39 downloads
  10. 2.2.2EzFlyTime 2.2.2Mar 2, 2026
    - Fixed /flyvoucher usage message - Fixed /flyvoucher default permission to prevent require *.give permission for opening the shop GUI. Permissions are now handled per subcommand.
    78 downloads
  11. 2.2.1EzFlyTime 2.2.1Feb 22, 2026
    - Added de (German) as language (translated by FurubaFox) - Fixed issue not being able to use custom language files (outside of the default languages)
    60 downloads
  12. 2.2.0EzFlyTime 2.2.0Feb 8, 2026
    - Improved multi-language support - Added language support and default messages for Chinese - Added language support and default messages for Russian - Added language support and default messages for Turkisch - Added language support and default messages for French - Moved messages files to the messsages/ folder inside the plugin data folder. - For this version only old messages files are backwords compatible and will load - Added option to limit time per flight in config.yml
    flight:
      # Maximum seconds allowed for a single continuous flight session.
      # Set to 0 to disable per-session limits (default).
      max-single-flight-seconds: 0
    - Added single flight bypass permission ezflytime.maxsingle.bypass
    63 downloads
  13. 2.1.2EzFlyTime 2.1.2Feb 2, 2026
    - Fixed issue in setting slot for information button - Fixed issue in setting slot for back button
    50 downloads
  14. 2.1.1EzFlyTime 2.1.1Jan 23, 2026
    - Improved issue in min-speed per particle configuration option - Added speed counter placeholder to bossbar ![Bossbar with flight speed counter](https://i.ibb.co/JWTh3b4f/image.png) - Added spread option per particle
    particles:
      <effect-name>:
        spread: 0.0
    - Added require-sprinting option per particle
    particles:
      <effect-name>:
        require-sprinting: false
    47 downloads
  15. 2.1.0EzFlyTime 2.1.0Jan 22, 2026

    Summary

    Release 2.1.0 improves particles, debug logging, reload behaviour and the voucher shop GUI. These updates target stability (bossbar/manager lifecycle), compatibility across server versions, and clearer diagnostics for server owners. ---

    Particles

    - New: comprehensive particles configuration (particles.yml templates included: low / medium / high). - New: example images and gallery link for reference. - Preview: ![advanced configurable fly particles](https://i.ibb.co/DPbhQcPv/ezflytime-advanced-particles-1.… - Config options: - effect: (enum) particle type - density: integer (affects visual intensity and cost) - interval: ticks between spawns - radius/offset: spawn area - cost-per-second: economy cost (if using Vault) - Performance notes: - Use low/medium templates for busy servers. - Disable particle features per-world or via permissions to reduce load. - Troubleshooting: - If particles don't appear, verify particles.enabled: true and permission nodes (e.g., ezflytime.particles.*). ---

    Debug mode

    - Expanded debug logging across voucher detection, PDC reads, material resolution, bossbar lifecycle, and reload flow. - How to enable: - config.yml: debug: true - Logs will print: item types, display names, lore, PDC presence, material resolution fallback paths. - Use cases: - Diagnose voucher mismatches (PAPER vs FEATHER vs legacy names). - Verify bossbar creation/cleanup during reload. - Tip: capture full server log when reproducing issues and share only relevant debug blocks. ---

    /flytime reload

    - Now reloads ALL configuration files and safely recreates managers: - Calls dispose() on existing managers to stop tasks, unregister events and clear bossbars. - Reloads vouchers, bossbar, particles and GUI resources from disk. - Fixes: - Prevents bossbar duplication on reload by clearing previous bossbars before creating new ones. - Ensures plugin version in plugin.yml is filtered from pom.xml at build time. - Recommended workflow: - Edit configs → /flytime reload (or restart). - If bossbar is missing after reload: check logs for "BossBar:" debug lines, ensure bossbar.enabled: true, and confirm player has required permission. ---

    Voucher Shop GUI

    - Detection robustness: - Voucher matching now prefers PersistentDataContainer (PDC) but falls back to legacy display-name and lore when PDC is absent. - Material resolution unified via MaterialResolver to avoid LEGACY_* mismatches across server versions. - GUI changes: - GUI creation uses the same resolver/path as voucher parsing — eliminates inconsistencies between shop display item and stored voucher. - Improved user-facing display names & lore templates; shop screenshot link: ![Flight time voucher GUI shop](https://i.ibb.co/MxWXXnDr/image.png) - Diagnostics: - Debug logs show: item type, meta (name/lore), expected voucher material and resolution path. - Troubleshooting: - If vouchers are not redeemed: - Check debug logs for PDC keys presence. - Confirm GUI-made items and given vouchers share material/name/custom-model-data. - Test on a clean server to rule out external plugins stripping metadata. ---

    Administrative & Misc

    - Commands: - /fly — toggle flight (with fallbacks). - /flytime — show remaining time or (no args) open voucher shop GUI for players with ezflytime.buy. - /flytime reload — reloads configuration and safely recreates managers.
    45 downloads
  16. 1.2.0EzFlyTime 1.2.0Jan 14, 2026
    Added Minecraft compatibility for 1.7 - 1.21. * Added improved compatibility for Bukkit / Spigot * Added SpigotMC.org integration for checking new updates
    25 downloads

Similar projects

Plugin →