Tutorials/Flying machines

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

Using slime blocks
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 the only way of legitimate flying in survival mode.

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.

Engines can also differ in available directions and speed. Some can only move in a single direction. They are the simplest 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.

Also, engines have different speeds, with smallest engines usually being slower.

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

Best in class engines


Engine A is a high-speed single-direction engine originally designed by DicoTheRedstoner and compacted by Xbxp. It fits into 2×2×6 dimensions and uses 14 blocks.

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

Using commands
Commands can also be used for flying entities or structures. Unlike slime block based technologies, however, they cannot be legitimately made in survival (command blocks require setup by an operator in creative mode).

Using /tp
The earliest way of this type of flying is done using the command to teleport entities into a specific direction by a small distance repeatedly, to exhibit a smooth flying. For the players, the movement can be controlled by various means, like holding a specific hotbar slot.

Using /setblock
Minecarts with command blocks and can be used to create a moving structure.

This method became obsolete with the introduction of command.

Using /clone
With the introduction of command, it is possible to more easily move structures by cloning it (and optionally teleporting all entities on it with  ). It can be accomplished by cloning a structure relative to an entity (using ), which in turn can be controlled by other means.

Using explosions
By using, it is possible to lift an entity by using explosions (somewhat similar to real-life rockets). This is done by spawning instantly detonating creepers or TNT relative to that entity. However, among the disadvantages are:
 * It is more noisy and laggy than most other types of flying.
 * Destructive to the terrain and entities, and without care, it can damage the entity.
 * However it can be partially solved by the entity having a damage protection in form of armor or status effects.

Using /entitydata
By using /entitydata, it is possible to change the velocities applied to an entity that a player can ride, like a minecart or boat.