Flying - endorh/aerobatic-elytra GitHub Wiki

Aerobatic flight is the main feature of this mod. It is basically a classic flight simulator built into Minecraft.

As most game flight simulators, it is anything but realist. Real aeronautics are quite complex, hard to simulate, and not that much fun in a game. In this mod you'll never enter a spin, nor will you need to worry about breaking your wings, but you may still lose enough speed to keep your lift.


The flight physics of this mod are simple:

  • The Aerobatic Elytra has 4 attached rockets, which provide you thrust in the direction you're flying. You can adjust the thrust strength with the forwards/backwards keys
  • The wings provide a gliding effect, providing lift proportional to the air flow against them (air is considered to be stationary, except during bad weather)
  • The air has friction, which slows you proportionally to your speed, so your thrust can only help you reach a certain terminal velocity
  • The wings have pitch and roll ailerons controlled by the mouse, which let you rotate in pitch and roll proportionally to your speed, while increasing your friction slightly
  • Despite not having a rudder, the player can magically steer their yaw rotation (slightly) with the strafing keys, just as the pitch and roll
  • You can brake by sneaking, which increases your friction and reduces your lift (I lied, it magically increases your gravity to make landing easier for inexperienced players, but you don't need to know that)

There are also a few quirks.

  • To make lift sufficient for flight at speeds of magnitudes the game (and players) can handle, a magical gravity reduction is applied while you fly
  • You can fly underwater, with more friction and being able to slightly rotate immediately (without having to move)
  • The gravity reduction and friction depend on your thrust, in order to make motorless flight easier to maintain (not much)
  • The lack of realistic friction physics means you can actually fall sideways if you lose speed and you have enough roll, just as a paper sheet
  • You can also fly backwards, which inverts the rotation provided by the ailerons

The strengths of all previously described forces and factors can be configured in the server's config. Some physics can be changed per elytra, such as the lift aid described before, thanks to the mod's ability system. In the future, all physics may be configurable per elytra, rather than being shared for the whole server, and alternative physics may be added as well.

World Interactions

In addition to the physics mentioned above, there are some ways your flight can be affected by the world:

  • If you fly into a slime wall/floor (with at least some speed) you'll bounce on it, and your direction will be flipped by the bounce (as if you were a light ray bouncing off a mirror)
  • Some blocks may reduce your crash damage, such as hay bales
  • If you fly into tree leaves, you will break them in a non-destructive way. That is, the leaves will turn into a special broken state, which lets you go through them, slowing you (like cobwebs do). After some time the leaves will recover, so you don't need to worry about griefing your world due to your poor flight skills.

Weather

During rain, storm and snowy weather, you will experience rain, wind and turbulences.

  • Rain will increase your gravity, making maintaining altitude harder
  • Wind will push you in a random, locally changing direction
  • Turbulences will make you rotate randomly, with varying strength, making it hard to keep control of your direction.

All effects are applied, regardless of the weather type, but stormy weather and snowy weather have stronger effects than rainy weather. The wind during storms may be strong enough to make it impossible to move in some directions.

There is a weather region system that tracks wind and turbulences across regions, so nearby players get affected by similar effects.

Performance

Since Minecraft worlds are mutable, every chunk must be sent by the server and loading chunks involve reading operations from disk. This means network and I/O speeds can be a limiting factor for the maximum speed players can fly comfortably.

While the Distant Horizons mod is still on beta, it is recommended you use it, as it can drastically improve your flight experience by increasing your render distance. Other client and server optimization mods may also improve your flight experience.

If you tweak the physics to increase the maximum speed beyond a certain point, you may have a bad time crashing into unloaded chunks and causing server lag spikes.