Compatibility
Minecraft: Java Edition
1.21.x
Platforms
Supported environments
Links
Creators
Details
Licensed MIT
Published last week
Updated last week
BeaconFlight
BeaconFlight lets active beacons grant creative-style flight when configurable conditions are met.
The gameplay logic is server-side, so it works on dedicated servers with unmodded clients. The same jar can also be used in singleplayer. If you install Mod Menu and Cloth Config on the client, the mod exposes an in-game config screen as well.
Compatibility
- Minecraft
1.21through1.21.11 - Fabric Loader
0.15.11+ - Java
21+ - Fabric API required
- Mod Menu optional
- Cloth Config optional
How It Works
- The beacon must be active and have a primary effect selected.
- By default, BeaconFlight requires a level 4 beacon and the
minecraft:end/elytraadvancement. - While the player stays in range and meets all configured requirements, flight is allowed.
- When the player leaves range, flight can linger for a configurable amount of time.
- When flight is removed while the player is airborne, Slow Falling can be applied automatically.
Installation
- Install Fabric Loader and Fabric API for your target Minecraft version.
- Place the BeaconFlight jar in the
modsfolder. - On a dedicated server, only the server needs the mod for flight to work.
- In singleplayer, install the jar normally on the client.
- Start the game or server once to generate the config file.
The config file is created at:
config/beaconflight_config.json
Configuration
You can edit the JSON file directly, or use the Mod Menu config screen if Mod Menu and Cloth Config are installed.
Available options:
minBeaconLevel: minimum beacon pyramid level required. Valid values are1to4.mainHandItem: required item in the player's main hand, ornull.offHandItem: required item in the player's off hand, ornull.anyHandItem: required item in either hand, ornull.headItem: required helmet item, ornull.chestItem: required chest item, ornull.legsItem: required leggings item, ornull.feetItem: required boots item, ornull.advancementsRequired: list of advancement ids the player must have completed.xpDrainRate: XP drained per second of active flight. Use0.0to disable XP drain.flightLingerTime: custom linger duration in ticks after the player leaves beacon range. Use0to reuse the normal beacon effect duration.slowFallingTime: Slow Falling duration in seconds after flight is lost.logLevel: BeaconFlight log level. Useful values areINFO,DEBUG,TRACE,ALL, andOFF.
Notes:
- Item fields must use item ids such as
minecraft:diamond_chestplate. - Advancement fields must use advancement ids such as
minecraft:end/elytra. - Resetting the config returns the default requirements, which are not a minimal test setup.
Default config:
{
"minBeaconLevel": 4,
"mainHandItem": null,
"offHandItem": null,
"anyHandItem": null,
"headItem": null,
"chestItem": null,
"legsItem": null,
"feetItem": null,
"advancementsRequired": [
"minecraft:end/elytra"
],
"xpDrainRate": 0.0,
"flightLingerTime": 0,
"slowFallingTime": 10,
"logLevel": "INFO"
}
Minimal config for testing:
{
"minBeaconLevel": 1,
"mainHandItem": null,
"offHandItem": null,
"anyHandItem": null,
"headItem": null,
"chestItem": null,
"legsItem": null,
"feetItem": null,
"advancementsRequired": [],
"xpDrainRate": 0.0,
"flightLingerTime": 0,
"slowFallingTime": 10,
"logLevel": "ALL"
}
Troubleshooting
- If flight does not activate, make sure the beacon is actually active and has a primary effect selected.
- If you used "reset" in the config UI, remember that the defaults still require a level 4 beacon and the Elytra advancement.
- Set
logLeveltoALLto get grant and deny messages in the game log. - If you want a clean test, remove all item requirements, clear
advancementsRequired, and setminBeaconLevelto match your beacon.
Building From Source
Use the Gradle wrapper:
.\gradlew.bat build
The built jar is written to:
build/libs/
Credits
- Original mod: ExtraCrafTX/BeaconFlight
- Original author: ExtraCrafTX
- Thanks to @xAlicatt for the original idea, commissioning the mod, and testing.



