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 the clever placement of pistons, blocks of redstone, observers 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. Expandable flying machine with a 2-way engine and multiple splitters (each carrying 2 TNT Duplicators).

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 moving 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.

Multi-directional engines
More rarely, engines can move in multiple directions. They have multiple piston mechanisms, each for movement into a separate direction. Such engines are often large and complex and require stations to reliably switch directions.

A 6-way engine that requires dedicated stations.

A 4-way engine (2 vertical directions) that switches directions upon contact with a few blocks.

Compact 2-way engine
The most compact full-auto 2-way engine can be made with 6 blocks - slimeblocks, sticky pistons and observers, 1 pair each. Note that there is more than one way to make such an engine.

Its direction of flight depends on which observer gets updated first. Note that in the diagram shown, each observer directly powers a slime block while its face faces up.

Diagonal engine
Some engines can move diagonally by moving alternately along 2 axes.

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 work in Java Edition 1.13.

Note 2: This seems to work in Java Edition 1.13.1

Note 3: It worked in Java Edition 1.13.2 and Java Edition 1.14.2

Note 4: Does not work on Bedrock Edition (unless an observer-using variant is invented)

Splitters
Splitters are mechanical parts of a fully-automatic 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).

One-way splitters
A one-way splitter 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 the 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).



Two-way splitters
A two-way splitter consists of an observer powering at least one sticky piston which pushes or pulls a part of the flying contraption. This is possible only in Java Edition because it's the only version where sticky pistons (upon receiving a short redstone pulse) can push a block and then retract quickly without pulling it back.

This type of splitter will either continuously pull or push depending on whether the part it's supposed to move is initially retracted or not. If the part is initially retracted and the splitter is continuously pulled, the sticky piston will continuously pull the part. On the other hand, if the part is one block away ("not retracted") and the splitter is continuously pushed, the sticky piston will continuously push the part. This mechanism necessitates a switch within the flying machine to independently retract and extend the splitters before flight, because otherwise, the engine will most likely be unable to push due to the "stuck" retracted splitters adding extra load to the engine's pistons.

Falling hazard
Often due to lag, slime engines can bug allowing the player to fall through the machine. This can be solved by placing the player in a vehicle such as a minecart or by standing on top of a honey block.

Braking method
Starting the engine of a flying machine often involves updating a piston or observer. Braking, on the other hand, isn't as straightforward to do in survival because a piston-immovable block must be present to stop the engine. A reliable braking method that was first popularized by SethBling is to attach a noteblock (or any similar redstone component movable by pistons) to the "face" of an observer that powers a piston. The piston is placed on the front of the engine, and since extended pistons cannot be pushed by other pistons, activating the noteblock at the right time will stop the engine.

Brake component extension
By using sticky pistons instead of pistons for the braking components, they also become 2-way splitters. These can be used to carry extra blocks, such as holders for minecarts/minecart chests, passenger roofs, TNT duplicators, etc.A modified version of the previous machine, with minecart chests and a roof attached to the 2 two-way spliiters. ''A compact 4-way drivable flying machine that carries minecarts and minecart chests on its splitters. Flies North-South or East-West, depending on the placement of the two splitter pistons and two engine observers.''

Bedrock engine 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.

Splitters
Bedrock Edition users can create a one-way splitter with an observer powering a piston. Pushing the two updates the observer which powers the piston, which then pushes.

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 set up 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 is 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 or spectator mode with or

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