Have you ever wanted a plugin where players can fly based on permission and not just a command toggle? This is the plugin for you!
- Allow flight based on permission node!
- Per world fly permissions!
- Per gamemode fly permissions!
- PlaceholderAPI support built-in!
- Able to disable this plugin per world!
- Change your fly speed with speed groups!
- Supports all modern permission plugins (Recommended LuckPerms)
- Support servers 1.8.8+ and probably all new MC versions to come!
- Join my discord if you have any questions

Commands
/flyperms info
Displays basic information of the plugin like version and current configuration.
Permission node: flyperms.info
/flyperms seeallowed
Displays own ability to fly, such as world allowed and whether they current have fly ability.
permission node: flyperms.seeallowed
/flyperms seeallowed <playername>
Displays other player's ability to fly, such as world allowed and whether they current have fly ability.
permission node: flyperms.seeallowed.others
/flyperms listgroups
List the speed groups defined in config.yml.
permission node: flyperms.listgroups
/flyperms speed <value>
Change your fly speed. Speed value allowed is dependent on the speed group you are in.
permission node: flyperms.speed
/flyperms speed <value> <player>
Reloads the plugin, use this after you modified the config.yml for the changes to apply.
permission node: flyperms.speed.others
/flyperms reload
Reloads the plugin, use this after you modified the config.yml for the changes to apply.
permission node: flyperms.reload
Fly permission nodes
flyperms.allow.world.WORLDNAME
Allows players to fly in the WORLDNAME defined. check-for-world need to be enabled in FlyPerms config.yml.
flyperms.allow.gamemode.GAMEMODE
Allows players to fly in the GAMEMODE defined. check-for-gamemode need to be enabled in FlyPerms config.yml.
flyperms.allow
Basic permission node which allows players to fly when both check-for-world and check-for-gamemode is disabled.
Speed group permission nodes
flyperms.speedgroup.<groupname>
Give players access to the speed group range for /fp speed command. You can customise the groups under speed-group: config section.
Placeholders Available
%flyperms_status%
Shows the current fly state for the player.
%flyperms_in_worlds%
Worlds that the player is allowed to fly in.
%flyperms_in_gamemodes%
Gamemodes that the player is allowed to fly in.
%flyperms_in_speedgroups%
Speed groups that the player is in.
%flyperms_in_world_<worldname>%
Check if player can fly in the world specified. (Yes or No)
%flyperms_in_gamemode_<gamemode>%
Check if player can fly in the gamemode specified. (Yes or No)
%flyperms_in_speedgroup_<groupname>%
Check if player is in speed group specified. (Yes or No)
%flyperms_list_speedgroups%
Show all the speed groups you have defined in the config in a nicely formatted list.
Config file
Spoiler: config.yml
Code (YAML):
# +----------+
# | FlyPerms |
# +----------+
# Github repo: https://github.com/benwoo1110/FlyPerms
# Discord: https://discord.gg/Be59ehc
# Spigot: https://www.spigotmc.org/resources/flyperms-1-8-1-16.83432/
# +--------------+
# | Fly Checking |
# +--------------+
# If enabled, players will need flyperms.allow.world.WORLDNAME permission node to fly.
check-for-world : true
# If enabled, players will need flyperms.allow.gamemode.GAMEMODE permission node to fly.
check-for-gamemode : false
# If set if true, players will always be allowed to fly in creative mode regardless of permissions.
# Basically restores the vanilla behaviour that players can fly in gamemode creative.
always-allow-in-creative : true
# Amount of time (in milliseconds) between each check if player still has permission to fly.
# NOTE: too large a number may cause significant delay in allow/disallowing flying on permission change.
check-interval : 1000
# Amount of time (in milliseconds) before a player flight is disabled after their permission is removed.
# This serves as a warning to players and can prevents sudden fall without warning.
cooldown : 5000
# Auto-enable flying if teleported to a location in air. Only works if player is able to fly.
fly-on-air-teleport : true
# +-----------+
# | Fly Speed |
# +-----------+
# Allow players to change their fly speed, from -10 to 10. Negative values indicate reverse directions.
# Permission to give users the speed group is "flyperms.speed.<groupname>", which will give them access to the
# range of speed as defined.
# Command to change speed is "/fp speed <speed>".
speed-group:
- default : [0.0, 2.0 ]
- special : [0.0, 5.0 ]
- admin : [-10.0, 10.0 ]
# When true, speed will reset when player changes world, and can only be bypassed with
# "flyperms.bypass.speed.world" permission node.
reset-speed-world : false
# When true, speed will reset when player changes gamemode, and can only be bypassed with
# "flyperms.bypass.speed.gamemode" permission node.
reset-speed-gamemode : false
# When above reset option is enable, this will be the fly speed that players reset to. This option will bypass
# the speed groups configuration.
speed-reset-value : 1.0
# +--------+
# | Others |
# +--------+
# FlyPerms will not effect these worlds.
# All perms and fly checks will not be done when players are in these worlds.
ignore-in-worlds :
# - world2
# - world2_nether
# - world3_the_end
# There is already detection to only register FlyPerm's PlaceholderAPI extension when PlaceholderAPI is installed.
# So there shouldn't be a need to worry. But in any case, if there is a need to disable FlyPerm's PlaceholderAPI
# extension, you can set this to false.
enable-papi-hook : true
# Used for development and troubleshooting purposes.
show-debug-info : false
# | FlyPerms |
# +----------+
# Github repo: https://github.com/benwoo1110/FlyPerms
# Discord: https://discord.gg/Be59ehc
# Spigot: https://www.spigotmc.org/resources/flyperms-1-8-1-16.83432/
# +--------------+
# | Fly Checking |
# +--------------+
# If enabled, players will need flyperms.allow.world.WORLDNAME permission node to fly.
check-for-world : true
# If enabled, players will need flyperms.allow.gamemode.GAMEMODE permission node to fly.
check-for-gamemode : false
# If set if true, players will always be allowed to fly in creative mode regardless of permissions.
# Basically restores the vanilla behaviour that players can fly in gamemode creative.
always-allow-in-creative : true
# Amount of time (in milliseconds) between each check if player still has permission to fly.
# NOTE: too large a number may cause significant delay in allow/disallowing flying on permission change.
check-interval : 1000
# Amount of time (in milliseconds) before a player flight is disabled after their permission is removed.
# This serves as a warning to players and can prevents sudden fall without warning.
cooldown : 5000
# Auto-enable flying if teleported to a location in air. Only works if player is able to fly.
fly-on-air-teleport : true
# +-----------+
# | Fly Speed |
# +-----------+
# Allow players to change their fly speed, from -10 to 10. Negative values indicate reverse directions.
# Permission to give users the speed group is "flyperms.speed.<groupname>", which will give them access to the
# range of speed as defined.
# Command to change speed is "/fp speed <speed>".
speed-group:
- default : [0.0, 2.0 ]
- special : [0.0, 5.0 ]
- admin : [-10.0, 10.0 ]
# When true, speed will reset when player changes world, and can only be bypassed with
# "flyperms.bypass.speed.world" permission node.
reset-speed-world : false
# When true, speed will reset when player changes gamemode, and can only be bypassed with
# "flyperms.bypass.speed.gamemode" permission node.
reset-speed-gamemode : false
# When above reset option is enable, this will be the fly speed that players reset to. This option will bypass
# the speed groups configuration.
speed-reset-value : 1.0
# +--------+
# | Others |
# +--------+
# FlyPerms will not effect these worlds.
# All perms and fly checks will not be done when players are in these worlds.
ignore-in-worlds :
# - world2
# - world2_nether
# - world3_the_end
# There is already detection to only register FlyPerm's PlaceholderAPI extension when PlaceholderAPI is installed.
# So there shouldn't be a need to worry. But in any case, if there is a need to disable FlyPerm's PlaceholderAPI
# extension, you can set this to false.
enable-papi-hook : true
# Used for development and troubleshooting purposes.
show-debug-info : false
Have a question or want to have a chat with me? the best place to ask is in my Discord server. Either myself or somebody else will hopefully be available.
For official bug reports, you can open a ticket on GitHub. (Do watch and star the repo as well
)If you enjoyed this plugin, a nice review would be appreciated. On the other hand, if you have suggestions, I'd love to hear those too!
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.8, 1.9, 1.10
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
FlyPerms [1.8 - 1.17] is a free Minecraft Java mod. Compatible with Minecraft 1.8, 1.9, 1.10, 1.11 and newer. Downloaded 1,870 times (via Spigot). Download it and open it directly in the game.