Tutorials/Flying machines

Flying technologies are technologies that make the use of elytra, commands, slime blocks, or other sources to move a player, entity or structure in the air, liquids, or solid blocks.

Piston flying machines
The slime block based flying technologies use clever placement of pistons, blocks of redstone and slime blocks to make an engine, which will move the structure. This is another way of legitimate flying in Survival mode, other than using elytra. The two main components of slime block flying machines are the engine and the splitter.

These technologies use the fact that slime blocks will move adjacent movable blocks, including other slime blocks, when pushed or pulled.

Engines


Engines are mechanical parts of slime-block based flying machines used to move them.

Engines divide into semi- and fully-automatic. The semi-automatic engines need player's intervention to move it, generally updating a piston (like using flint and steel on it or rapidly placing tripwire against it).

The fully-automatic engines are capable of automating the above issue, like by a piston next to it that extends and pushes the moved construction. However, to stop such an engine, something must be in the way so that it can no longer move, this may be in the form of a mechanism in the machine or some other immovable obstacle

Engines can also differ in available directions and speed. Some can only move in a single direction. They are the most simple and most common engines.

More rarely, engines can move in multiple directions. They have multiple piston mechanisms, each for movement into a separate direction. The only thing the player needs is just to re-arrange some blocks (usually blocks of redstone), which can be automated more easily. There are some engines which do not need to add or destroy blocks, but rather update multiple pistons, like this one. There are also engines that move in two directions at once, like this one. (Does not work in 1.13)

Also, engines have different speeds, with smaller engines usually being faster, with the exception of turbo-charged engines (like the one below), which are usually medium in size and can move at 3.3 m/s.

In the schematics, X-marked blocks must be placed after any others, and E-marked pistons must be updated afterwards.

Rideable engines
Often due to the lag, slime engines can bug allowing the player to fall through the flyer. This can be solved by placing the player in a vehicle such as a minecart.

Turbo-charged engines


Engine A is a high-speed single-direction engine. It fits into 2×2×6 dimensions and uses 14 blocks.

Note 1: This does not seem to work in Java Edition 1.13.

Note 2: This seems to work in Java Edition 1.13.1

Note 3: does not work on bedrock edition

Using observers
By using observers, you can construct a highly compact machine.

Splitters




Splitters are mechanical parts of a flying machine used to push an independent part of a large flying structure. A single piston only can push or pull up to 12 blocks. Splitters split a structure into multiple independent push-able parts (hence the name). A splitter itself has 2 parts (a normal piston in the rear, and a slime block (or more) with a power source in the front) with space between them.

Once the rear part with the piston is pushed, the piston will be activated by a power source from the front part. It will push the slime block (and thus the next part of flying contraption and its splitters), which pulls the power source with it. The piston will then deactivate and prepare for another push.

Some simple engines are just made of looped splitters, such that, at any given time one piston is always powered (in these machines it is important to place the redstone blocks last).

Bedrock Edition users can recreate a splitter using a single observer as a power source. n1bb4

Bedrock piston designs
Flying machines are much more restricted in Bedrock Edition due to the lack of quasi-connectivity and other piston behaviors. In Java Edition, a sticky piston powered with a 1 tick pulse will drop the block it is carrying. The absence of these behaviors makes it difficult to create complex flying machines.

Simple engine
This is a basic flying machine design. Removing the block of redstone will cause the machine to stop.

Multi-directional engine
This design is multi-directional but it does require a return station to change the direction. In the schematic, glazed terracotta is represented by ice. The observers are 1 block higher than everything else and have slime blocks below them. The return station is only an example, anything that pushes the machine over so that the other sticky piston is unable to pull the terracotta should work. It may help to watch the video below to see some more examples.

Command based methods
Commands can also be used for flying entities or structures. Most commands based flying machines use command blocks so that when the player turns on an input, it activates certain command blocks. Unlike piston based technologies, however, these cannot be legitimately made in survival as command blocks require setup by an operator in creative mode.

/tp command
Using the command, entities can be teleported in a specific direction in small repeated increments, to exhibit a smooth flying. With clever command usage, movement can be controlled by various means such as holding a specific item

/clone command
Using the command, it is possible to more easily move structures by cloning them and teleporting entities in it with. It can be accomplished by cloning a structure relative to an entity with. The entity, in turn, can be controlled by some other means.

/summon command
Using the command, it is possible to lift an entity with explosions, somewhat similar to real life rockets. This can be done by spawning instantly detonating creepers or TNT below an entity. However, there are a multitude of disadvantages, including:
 * It is noisy and potentially laggy compared to most other types of flying.
 * This method is destructive to the terrain. Using creepers without mobgriefing enabled could solve this.
 * Damage to the entity being flown. This can be partially solved with Blast Protection or status effects.

/entitydata command
Using the command, it is possible to change the velocities applied to an entity rideable by the player, such as minecart or boat.

/gamemode command
The easiest way to fly is to just turn yourself to creative mode with

With elytra
The simpleset and probably best way to fly in survival mode without cheats is by using an elytra. Using an elytra, the player can glide to their destination with ease. Firework rockets or a riptide trident can be used to extend and speed up flight.

Videos
Adding your own videos to this article will be extremely appreciated. Don't be afraid to edit!