10 downloads · 0 stars
Published 2 Jul 2026 from nikitaberg28/ElytraFly at 51391acda55810e4f23e7da0ee88363b6ec274cd, after moderator review.
Plugin description
General
what it does
Single plugin that handles everything elytra-related. No more juggling 3–4 separate plugins for the item, entity, fireworks boost, and flight physics. ElytraFly auto-detects your server kernel at runtime and loads only what's needed — this is a revolution among vanilla mechanics in PMMP.
Config
configuration
language: en # english or russian, default is en. Set ru for russian.
elytra-durability: 432 # elytra durability
elytra-breakable: true # can elytra break at all? true - yes / false - no
elytra-in-creative: true # show elytra in creative mode? true - yes / false - no
cancel-fall-damage: true # disable fall damage while gliding? true - yes / false - no. This is a somewhat broken feature — proper BDS physics are hard to port to PHP. If you manage to do it, pull requests are welcome on GitHub.
API
Took care of plugin developers too, both small ones and those using this in production. Add ElytraFly as a dependency in your plugin.yml:
softdepend:
- ElytraFly
Guard every call with a null-check first:
if ($this->getServer()->getPluginManager()->getPlugin('ElytraFly') === null) {
return;
}
Item checks:
use berg\ElytraFly\ElytraFlyAPI;
// Get an elytra instance
$elytra = ElytraFlyAPI::getElytra();
// Get a fireworks instance — null on NetherGames
$fireworks = ElytraFlyAPI::getFireworks();
// Give elytra to a player
ElytraFlyAPI::giveElytra($player);
ElytraFlyAPI::giveElytra($player, count: 3);
// Give fireworks — returns false on NetherGames
$success = ElytraFlyAPI::giveFireworks($player);
Armor slot and instance checks:
// Equip elytra
ElytraFlyAPI::equipElytra($player);
// Remove elytra if equipped — false if slot was empty
$removed = ElytraFlyAPI::unequipElytra($player);
// Check if elytra is in the chestplate slot
$equipped = ElytraFlyAPI::hasElytraEquipped($player);
// Check if elytra exists anywhere in inventory
$has = ElytraFlyAPI::hasElytraInInventory($player);
Player flight state checks:
// Is the player currently gliding?
$gliding = ElytraFlyAPI::isGliding($player);
// Can the player glide? (elytra equipped + not broken)
$canGlide = ElytraFlyAPI::canGlide($player);
// Remaining durability — null if no elytra equipped
$durability = ElytraFlyAPI::getElytraDurability($player);
Debug strings — originally kept these for personal use, then decided to leave them in forever. Might come in handy:
// "PocketMine-MP" or "NetherGames"
$kernel = ElytraFlyAPI::getKernel();
ElytraFlyAPI::isPMMP(); // bool
ElytraFlyAPI::isNetherGames(); // bool
Installing it
Drop the phar into plugins/ and restart the server. If the API version below does not match your server, the plugin will refuse to load, which is the check working as intended.
Releases
| Version | API | Built |
|---|---|---|
| 1.0.0 | 5.0.0 | 2 Jul 2026 · 53 KB |
SHA-256 of 1.0.056dae0ff6742d5f67eed378b729dd2d511a2ed5418e1dc44721a0d73880c6f7b
Reviewed by a moderator before publishing. Built from nikitaberg28/ElytraFly at 51391acda55810e4f23e7da0ee88363b6ec274cd. Nobody reviews plugin code here: read the source before running it on a server you care about.
Sign in with GitHub to star this plugin or leave a comment.
No comments yet.