Compatibility
Minecraft: Java Edition
Platforms
Links
Creators
Details
EzFlyTime - Flight Vouchers & Bossbar for Spigot/Paper servers
EzFlyTime provides a production-ready flight-time system, a customizable voucher shop GUI, and optional bossbar/fuel displays. Built for Vault and PlaceholderAPI compatibility with robust voucher protection (PDC + legacy fallback).

Why use EzFlyTime?
- Lightweight and configurable (YAML or MySQL storage)
- Voucher shop with Vault integration for purchases
- Persistent, secure voucher metadata with legacy fallback
- Bossbar & particle integrations for a polished player experience

Quick Install
- Place the
EzFlyTimejar into yourplugins/folder and start the server. - Review
plugins/EzFlyTime/config.ymland adjustvouchers:andbossbar:. - (Optional) Install Vault plus an economy plugin (e.g., EzEconomy to enable
/flyvoucher buyand economy features. - Run
/flytime reloadafter edits or restart the server.
Commands
/flyā Toggle flight (players)./flytimeā Show remaining time; run with no args to open the voucher shop GUI (players withezflytime.buy)./flytime reloadā Reload configuration and recreate managers./flyvoucher guiā Open the voucher shop GUI./flyvoucher give <player> <voucherId> [amount]ā Give vouchers./flyvoucher buy <voucherId> [amount]ā Buy vouchers via economy.
Permissions
ezflytime.flyā Toggle flight (default: true)ezflytime.flytimeā View remaining time (default: true)ezflytime.buyā Access purchases & GUI (default: true)ezflytime.giveā Admin: give vouchers (default: OP)ezflytime.reloadā Admin: reload config (default: OP)
Configuration Highlights
Vouchers live under the vouchers: section in config.yml.
Example voucher:
vouchers:
basic:
material: PAPER
name: '&aBasic Fly Voucher'
lore:
- '&7Redeem for 5 minutes of flight.'
duration-seconds: 300
price: 1000
voucher-gui.yml controls the shop layout and materials. EzFlyTime uses a resolver to support both legacy and modern Material names, but verify after major server updates.
Bossbar example:
bossbar:
enabled: true
title: '&aFlight Time: {time}'
color: GREEN
style: SEGMENTED_10
PlaceholderAPI
%ezflytime_time_remaining%/%ezflytime_formatted%ā formatted time%ezflytime_time_remaining_raw%/%ezflytime_seconds%ā raw seconds%ezflytime_minutes%ā whole minutes
Integrations
EzFlyTime integrates with several common server plugins to provide economy, placeholders and optional compatibility features:
- Vault ā economy & permissions abstraction. Install Vault to enable economy-based voucher purchases and broad compatibility with economy plugins.
- EzEconomy ā lightweight economy plugin tested with EzFlyTime: EzEconomy on Modrinth
- PlaceholderAPI ā register placeholders to expose flight time and formatted values to chat, scoreboards and GUIs. PlaceholderAPI on Modrinth
- mcMMO ā supported as a soft-dependency for servers using mcMMO mechanics.
Tips:
- Install Vault and an economy plugin (EzEconomy or another supported provider) to enable purchase flows and price/cost features.
- PlaceholderAPI placeholders require the PAPI plugin and the EzFlyTime expansion (if available) to be registered.
- Integrations are optional; EzFlyTime runs in a degraded mode if external plugins are absent.
Troubleshooting & Best Practices
- Enable
debuginconfig.ymlto log voucher item meta and PDC reads if vouchers fail to redeem. - Test vouchers on a clean server when using anti-dupe or serialization plugins ā some external plugins strip metadata; EzFlyTime falls back to legacy lore.
- After editing
voucher-gui.ymlorparticles.yml, run/flytime reloadto apply changes. The reload flow disposes previous managers and clears bossbars to avoid duplicates. - If bossbar duplicates after reload, update to the latest jar ā recent versions include cleanup logic on reload.
Particles configuration
EzFlyTime supports built-in particle effects for flight visuals. There is a companion EzFlyTimeAnimations module mentioned historically, however that module is not released and will not be released. Use the built-in particle configuration below or request example templates. Particle effects are configured in particles.yml (in the plugin resources or plugins/EzFlyTime/ after first run). Below are the supported keys and a complete example.
Configuration reference (keys and descriptions):
enabled(boolean): globally enable/disable all plugin particle effects.mode(string): where particles appear; common values:trail,wing,ambient,on-toggle.particle(string): theParticleenum name used by the server (e.g.,REDSTONE,CLOUD,SPELL,FLAME,TOTEM,SMOKE_NORMAL). Use names available for your Minecraft server version.count(int): number of particles spawned per spawn event. Lower values are cheaper.speed(float): particle speed parameter passed to the server API.offset(map):{ x: 0.1, y: 0.2, z: 0.1 }ā positional random offset.color(map or single value): for colored particles (e.g.,REDSTONE/DUST) provide{ r: 1.0, g: 0.2, b: 0.2 }or an integer RGB in 0-255 depending on server mappings.frequency(int): ticks between each particle spawn (20 ticks = 1 second). Increase this value to lower CPU usage.radius(double): distance from player center to spawn particles (for ring/wing modes).perPlayer(boolean): whether particles are spawned per-player (true) or globally (false). Per-player is more private but more CPU intensive.onlyWhenFlying(boolean): spawn effects only while the player is flying.distanceLimit(double): do not spawn for players farther than this value from viewers (saves performance on large servers).sound(map): optional sound to play with particle; keys:name(Sound enum),volume,pitch.
Example particles.yml:
enabled: true
default:
mode: trail
particle: REDSTONE
count: 6
speed: 0.02
offset:
x: 0.05
y: 0.1
z: 0.05
color:
r: 0.1
g: 0.8
b: 1.0
frequency: 4 # spawn every 4 ticks (5 times per second)
perPlayer: true
onlyWhenFlying: true
distanceLimit: 48.0
sound:
name: ENTITY_PLAYER_LEVELUP
volume: 0.5
pitch: 1.0
wing-effect:
mode: wing
particle: CLOUD
count: 3
speed: 0.01
radius: 0.7
frequency: 6
perPlayer: true
onlyWhenFlying: true
ambient:
enabled: false
mode: ambient
particle: SPELL_WITCH
count: 1
frequency: 40
Notes & best practices:
- Particle names and parameters are server-version dependent. If the configured
particleis invalid on your server version the plugin will log a warning and skip that effect. Use the built-in resolver or consult your server'sorg.bukkit.Particlefor valid names. - For large servers prefer
perPlayer: false, higherfrequencyand lowercountvalues. Example low-cost settings:count: 1,frequency: 20. - Use
distanceLimitto reduce client-side spam for viewers far away. -- ColoredREDSTONEparticles require the server to accept dust/colour parameters; if color is ignored on your server, switch to simpler particle types (e.g.,SPELL,FLAME). The previously referencedEzFlyTimeAnimationsmodule is not released and will not be released. - If you rely on advanced animations (wing shapes, lerped trails), test on a staging server first and enable
debugto log spawn-frequency and any color-mapping fallbacks.
Troubleshooting particles:
- No particles visible: check
enabled,onlyWhenFlying, and the player's client settings (particles reduced/ambient settings). Also confirm server and client versions are compatible with the particle type. - High CPU or lag: reduce
count, increasefrequency, disableperPlayeror lowerdistanceLimit. - Color not applied for REDSTONE: your server version may require a different dust/color format; try using normalized 0ā1 floats or integer RGB depending on server logs.
For advanced custom effects, request an example wing/trail pattern and I'll add ready-to-copy templates for particles.yml.
Full configuration checklist
config.yml: vouchers, bossbar, storage, debug and dupe-detection toggles.voucher-gui.yml: GUI layout, materials, slots, close/confirm buttons.particles.yml: particle effects for flights and cosmetics (see above).messages_*.yml: translation files for messages; edit safely and run/flytime reload.
Contact & support
For support and feature requests join the official Discord: https://discord.gg/yWP95XfmBS




