
EzFlyTime
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.
- Загрузки
- 653
- Подписчики
- 2
- Обновлён
- 24 мая 2026 г.
- Лицензия
- MIT
Опубликован 14 января 2026 г.
EzFlyTime is a production-ready timed-flight plugin for Minecraft servers. Players earn or purchase vouchers to gain temporary flight. A live boss bar counts down remaining time, particle trails add visual flair, and a GUI shop lets players spend server currency - all configurable with YAML or MySQL storage.

Key Features
- Timed flight with a real-time boss bar countdown
- Physical voucher items with PDC-backed identity and duplicate detection
- In-game GUI shop for buying vouchers with Vault economy integration
- Configurable particle trails per player (with an unlockable shop)
- Auto-flight rewards: flat, permission-based, or tied to mcMMO skill levels
- Fuel display mode - show remaining time as a percentage instead of a countdown
- YAML or MySQL storage - easy single-server setup or cross-server database
- PlaceholderAPI support for scoreboards, chat formats, and GUIs
- Multilingual messages: English, Dutch, Spanish, French, Russian, Turkish, Chinese

Quick Install
- Drop
EzFlyTime-<version>.jarinto yourplugins/directory. - Start the server to generate
plugins/EzFlyTime/config.ymland related files. - Adjust
vouchers:,bossbar:, andstorage:inconfig.yml. - (Optional) Install Vault + an economy plugin to enable the voucher buy flow.
- Run
/ezflytime reloadafter any config edits.
Commands
Player commands
/fly- Toggle flight on/off./flytime- Show remaining fly time (or open the voucher GUI)./flyparticles- Open the particle select/shop GUI or toggle auto-equip./flyvoucher buy <voucherId> [amount]- Purchase vouchers with server currency./flyvoucher gui- Open the voucher shop GUI.
Admin commands
/flytime give <player> <time>- Add flight time (e.g.10m,1h)./flytime set <player> <time>- Set a player's flight time exactly./flytime remove <player> <time>- Remove flight time from a player./flytime top- Show the fly-time leaderboard./flyvoucher give <player> <voucherId> [amount]- Give vouchers to a player./ezflytime reload- Reload all configuration files./ezflytime maxsingle <player> [on|off|toggle]- Bypass the per-session cap for a player.
Permissions
| Permission | Default | Description |
|---|---|---|
ezflytime.fly |
true |
Toggle flight |
ezflytime.flytime |
true |
View remaining time |
ezflytime.top |
true |
View leaderboard |
ezflytime.bypass |
false |
Keep flight when time runs out |
ezflytime.give |
op |
Give vouchers to players |
ezflytime.reload |
op |
Reload configuration |
ezflytime.admin |
op |
Full admin access |
Configuration highlights
Boss bar customization:
bossbar:
enabled: true
title: '&aFlight time remaining: {time}'
color: GREEN
style: SEGMENTED_10
Example voucher:
vouchers:
basic:
material: PAPER
name: '&aBasic Fly Voucher'
lore:
- '&7Redeem for 5 minutes of flight.'
duration-seconds: 300
price: 1000
Display mode (time or fuel percentage):
display:
flytime-mode: time # 'time' or 'fuel'
PlaceholderAPI Placeholders
| Placeholder | Description |
|---|---|
%ezflytime_time_remaining% |
Formatted remaining time (e.g. 1h 2m 3s) |
%ezflytime_seconds% |
Raw remaining seconds |
%ezflytime_minutes% |
Whole minutes remaining |
%ezflytime_fuel% |
Remaining flight as a percentage (0–100) |
Integrations
- Vault / VaultUnlocked - economy abstraction for voucher purchasing
- EzEconomy - lightweight Vault-compatible economy: https://modrinth.com/plugin/ezeconomy
- PlaceholderAPI - register fly-time placeholders for scoreboards and GUIs
- mcMMO - grant flight time based on skill level thresholds
Language Support
Supported languages: English, Dutch, Spanish, French, Russian, Turkish, Chinese.
Set language: en (or another code) in config.yml. To add a new language, copy
messages_en.yml, rename it to messages_<code>.yml, and translate the values.
Links
- Documentation: https://ez-plugins.github.io/EzFlyTime/
- GitHub (source & issues): https://github.com/ez-plugins/EzFlyTime
- Modrinth: https://modrinth.com/plugin/ezflytime
Ченджлог
3.0.3Релиз26.1, 26.1.1, 26.1.2 · 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-unlimitedmessage key and updated the command and teams subcommand to use it when appropriate.
3.0.2Релиз26.1, 26.1.1, 26.1.2 · 20 мая 2026 г.
Changed
- TeamsAPI dependency bumped 1.8.0 → 2.0.0 - the 2.0.0 release adds
TeamRelation.MEMBERand adjusts the default colours ofALLYandTRUCE. EzFlyTime does not useTeamRelation, 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
NoClassDefFoundErrorcrash fixed in 3.0.1.
Fixed
Spurious
particle-shop-gui.ymlsave warning -StartupBootstrapcalledsaveResource("particle-shop-gui.yml", false)unconditionally on every startup, producingCould not save … because … already existsafter the first run. The call was redundant:ParticleShopGUIalready guards the samesaveResourcebehind an existence check, so theStartupBootstrapcall has been removed.TeamsAPI soft-dependency crash -
NoClassDefFoundError: com/skyblockexp/teamsapi/api/TeamsSubcommandwas thrown on startup whenever TeamsAPI was absent. Bukkit's class loader eagerly loads field-type classes in the same jar, soFlySubcommand(and transitively itsTeamsSubcommandinterface) was resolved the momentTeamsIntegrationwas instantiated, before any availability guard ran. TheflySubcommandfield is now typed asObject; all TeamsAPI references remain in method bodies and are resolved lazily at execution time.
3.0.1Релиз26.1, 26.1.1, 26.1.2 · 20 мая 2026 г.
Fixed
- TeamsAPI soft-dependency crash -
NoClassDefFoundError: com/skyblockexp/teamsapi/api/TeamsSubcommandwas thrown on startup whenever TeamsAPI was absent. Bukkit's class loader eagerly loads field-type classes in the same jar, soFlySubcommand(and transitively itsTeamsSubcommandinterface) was resolved the momentTeamsIntegrationwas instantiated — before any availability guard ran. TheflySubcommandfield is now typed asObject; all TeamsAPI references remain in method bodies and are resolved lazily at execution time.
Added
{time}placeholder inflight-disabledmessage - the remaining flight time is now substituted intoflight-disabledmessages (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.
3.0.0Релиз26.1, 26.1.1, 26.1.2 · 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 when the plugin is present:
- Registers a
/f flysubcommand in the team plugin's command tree so players can toggle EzFlyTime flight from within their team commands. - New
teams.claimed-chunks-onlyconfig option (defaultfalse): 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.enabledconfig toggle to disable the integration entirely. - New permission
ezflytime.teams.fly.bypass(defaultfalse): 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).
- Registers a
- 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
/flytimeand purchase vouchers directly using Vault economy currency. The GUI is fully configurable invoucher-gui.yml(title, slots, items, sounds, prices). - Configurable commands on voucher buy / use - add
on-buy-commandsandon-use-commandsto any voucher inconfig.ymlto 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.ymlandparticles.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:inconfig.ymlto switch instantly. - Tab-complete permission gating -
/flyvouchertab completions now respect permissions:giveis only suggested to players withezflytime.give, andbuyonly to players withezflytime.buy. /flytime topleaderboard command (permissionezflytime.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
/flytimewith no arguments now opens the voucher shop GUI for all players who have theezflytime.buypermission (default: true). Previously only server operators saw the shop; regular players received only a "remaining time" message.ezflytime.buyis now declared inplugin.ymlwithdefault: true, making the shop accessible to all players out of the box. Restrict it via your permission manager if needed./flyand/flytimeno 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;FlyTimeManageris toldnotify=false.
Fixed
- Modrinth release workflow now lists
vaultunlockedinstead ofvaultas an optional dependency; Vault has no Modrinth listing whereas VaultUnlocked is the actively maintained fork. plugin.ymlnow includes bothVaultandVaultUnlockedinsoftdependso EzFlyTime loads correctly regardless of which economy provider is installed./flyvouchertab completions are now gated on sender permissions:giveis only suggested to players withezflytime.giveandbuyonly to players withezflytime.buy.- Players without
ezflytime.buycould never open the voucher shop GUI because the permission was used in code but not registered inplugin.yml, causing it to silently default to OP-only. - Tab-complete for
/flyvouchersuggestedgiveandbuyto 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).
2.3.3Релиз1.21.9, 1.21.10, 1.21.11 · 24 марта 2026 г.
- Added new configuration option
preserve-on-deathin theconfig.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
2.3.2Релиз1.21.9, 1.21.10, 1.21.11 · 22 марта 2026 г.
- Added option to show formatted money (1k, 2m, 3b, etc.)

- Added formatting to enter price formatted in the config
2.3.1Релиз1.21.9, 1.21.10, 1.21.11 · 22 марта 2026 г.
- Fixed issue in creative/spectator bypass still counting down the timer
2.3.0Релиз1.21.9, 1.21.10, 1.21.11 · 21 марта 2026 г.
- Added permission bypass for creative mode (
ezflytime.bypass.creative) - Added configurable bypass for creative mode (
flight.allow-creative-bypass: trueinconfig.yml) - Added permission bypass for spectator mode (
ezflytime.bypass.spectator) - Added configurable bypass for spectator mode (
flight.allow-spectator-bypass: trueinconfig.yml)
Комментарии
Загружаем…