Redstone

From Esolang
Jump to navigation Jump to search

Redstone is used for electronics in the game Minecraft. (see http://minecraft.gamepedia.com/Redstone) Although not intended to be a programming language, a compiler is technically possible. All the redstone data is "mostly" Boolean. That is, Redstone is either on or off, but also has a signal strength of 1-15 if on.

Input can be received from buttons, pressure plates, and many other blocks. Output blocks include pistons, sticky pistons, Redstone lamps, Dispensers, note blocks, and many other blocks.

https://minecraft.gamepedia.com/File:Redstone_wire_as_circuit_component.png

Redstone dust transfers power, but the signal strength decreases each block. Redstone dust can go up or 1 block at a time, and connects to nearby Redstone dust. Redstone dust will not connect through opaque blocks. Redstone dust lights up when powered.

To continue Redstone signals farther than 15 blocks, a Repeater can be used. If there is power behind the Repeater, Redstone dust in front will have a signal strength of 15.

A Redstone torch is normally on, but when the block it is attached to is powered, the torch turns off.

Because Minecraft has OR gates (connecting 2 lines of Redstone to each other) and NOT gates (Redstone torches), any other Boolean logic gate is possible, and is a Bounded-storage_machine. There are claims that a suitable "Rube Goldberg" machine would be able to build an infinite track or tape to elevate this to Turing complete (ignoring any World boundary).