Minecraft Wiki
(Undo revision 722315 by 189.3.194.114 (talk))
PowanMon (talk | contribs)
Tag: Visual edit
 
(389 intermediate revisions by more than 100 users not shown)
Line 1: Line 1:
{{about|redstone circuits|other redstone-related articles|Redstone (disambiguation)}}
 
   
  +
A '''redstone circuit''' is a contraption that activates or controls mechanisms. Circuits can act in response to [[player]] or [[entity]]/[[mob]] activation, continuously on a loop, or in response to non-player activity (mob movement, item drops, plant growth, etc).
A '''redstone circuit''' is a structure that can be built to activate or control mechanisms.
 
   
Circuits can be designed to act in response to [[player]] activation, or to operate autonomously—either on a loop, or in response to non-player activity such as mob movement, item drops, plant growth, etc. The mechanisms that can be controlled by redstone circuits range from simple devices such as automatic doors and light switches, to complex devices such as elevators, automatic farms, or even in-game computers. Understanding how to build and use redstone circuits and the mechanisms they can control will greatly increase the range of things that can be accomplished in ''Minecraft''.
+
A useful distinction can be made between a '''circuit''' performing operations on signals (generating, modifying, combining, etc.), and a '''[[Tutorials/Mechanisms|mechanism]]''' manipulating the environment (moving blocks, opening doors, changing the light level, producing sound, etc.). Making this distinction lets us talk about the various circuits separately, and let players choose whichever circuits are useful for their purposes. The machines controlled by redstone circuits can range from simple devices such as automatic doors and light switches to complex devices such as elevators, automatic farms, or even in-game computers. However, ''this'' article provides only an overview of redstone ''circuits'' as above. These can be used to control simple mechanisms, or combined as parts of a larger build. Each circuit type on this page has links to its own page, which provides greater detail about them and give schematics for multiple variations of each.
   
  +
Before working with any but the most basic Redstone circuits, an understanding of some basic concepts is required: "power", "signal strength", "redstone ticks", and "block updates".
The subject of redstone structures is ''huge'' — this article provides only an overview of the many different types of redstone circuits which can be built. For full details and examples of these redstone circuits, see the main articles for each topic.
 
  +
Other relevant articles:
  +
* The [[Redstone mechanics]] article provides more information on these concepts.
  +
* The [[Redstone components]] article adds a list and description of all blocks which interact with redstone power.
  +
* The [[Tutorials/Mechanisms|Mechanisms tutorial]] complements this article with an assortment of mechanism designs using circuits described here.
  +
* The [[Tutorials/Redstone tips|Redstone tips]] tutorial gives general advice about building.
   
== Redstone basics ==
+
== Describing Circuits ==
   
  +
Most circuits are described using [[Help:Schematic|Schematic]] diagrams; some of these require multiple images to show one or two layers per image. See the [[Help:Schematic]] page for details on how various blocks and components are represented.
Before describing the blocks used to build redstone circuits, or the types of circuits which can be built, an understanding of some basic concepts is required.
 
 
=== Redstone components ===
 
:{{main|Redstone components}}
 
 
A redstone component is a block that provides some purpose to a redstone circuit.
 
* A '''[[Redstone components#Power components|power component]]''' provides power to all or part of a circuit — e.g., redstone torch, button, lever, redstone block, etc.
 
* A '''[[Redstone components#Transmission components|transmission component]]''' passes power from one part of the circuit to another — e.g., redstone dust, redstone repeater, redstone comparator.
 
* A '''[[Redstone components#Mechanism components|mechanism component]]''' affects the environment (by moving, producing light, etc.) — e.g., piston, redstone lamp, dispenser, etc.
 
 
=== Power ===
 
 
Redstone components and blocks may be powered or unpowered. Think of a "powered block" as a block that is electrified (but safe to touch). Some blocks will show their powered state visibly (for example, [[Redstone#Redstone Dust|redstone dust]] lights up, a [[piston]] extends, etc.), but other blocks may give no visual indication of their powered state other than their effect on other redstone components.
 
 
An [[Redstone components#opaque blocks|opaque block]] (e.g., stone, sandstone, dirt or grass, etc.) powered by a [[Redstone components#Power components|power component]], or by a repeater or comparator, is said to be '''strongly-powered''' (a different concept from [[#Power level|power level]]). A strongly-powered block can power adjacent redstone dust (including dust on top of the block or dust beneath it).
 
 
An opaque block powered only by redstone dust (and no other components) is said to be '''weakly-powered''' because a block powered only by redstone dust will not power '''other''' redstone dust (but can still power other components or devices).
 
 
No opaque block can directly power another opaque block—there must be dust or a device in between. A transparent block can't be powered by anything. "Strong" vs. "weak" power applies only to opaque blocks, not to dust or other redstone components.
 
 
A powered block (strong or weak) can affect adjacent redstone components. Different redstone components react differently to powered blocks—see their [[Redstone components|individual descriptions]] for details.
 
 
=== Power level ===
 
 
Power level (aka "signal strength") can vary from 0 to 15. Most power components provide power level 15, but a few provide a variable amount of power.
 
 
Redstone dust transmits power to adjacent redstone dust, but its strength decreases by 1 for each block of redstone dust traveled. Redstone dust can thus transmit power up to 15 blocks before needing to be ''maintained'' (with a [[redstone comparator]]) or ''re-strengthened'' with a [[Transmission circuit#Repeater|repeater]]. Power level only fades with dust-to-dust transmission, not between dust and a device or block.
 
 
Power level can also be adjusted directly with a [[redstone comparator]] in comparison or subtraction mode.
 
 
=== Redstone update ===
 
 
When a change occurs somewhere in a redstone circuit, it can produce other changes in surrounding blocks in what is called a '''redstone update''' (not to be confused with ''Minecraft'' 1.5, known as the "[[Redstone Update]]"). Each of these changes can then produce other changes in their surrounding blocks. The update will propagate following the redstone circuit rules within loaded chunks. A common source of confusion comes when attempting to send redstone signals long distances, and finding that the signal stops when it hits an unloaded chunk or that conversely, a sensing signal from an unloaded chunk never arrives.
 
 
=== Redstone tick ===
 
 
A '''redstone tick''' is the moment when ''Minecraft'' updates redstone components. Redstone updates occur 10 times per second, so a redstone tick occurs every 0.1 seconds. Redstone torches, redstone repeaters, and mechanism components require one or more ticks to change state, so it can take a number of ticks for a signal to propagate through a complicated circuit.
 
 
Redstone ticks differ from "[[tick#Game ticks|game ticks]]" (20 per second) and "[[tick#Block ticks|block ticks]]" (block updates that occur at each game tick). When discussing redstone circuits, a "tick" is always a redstone tick, unless otherwise specified.
 
 
=== Signals and pulses ===
 
 
Circuits with a stable output are said to produce a '''signal''' — an ON signal (also "high" or "1") if powered, or an OFF signal ("low", "0") if unpowered. When a signal changes from OFF to ON and then back again, that is described as a '''pulse''' (or ON pulse), while the opposite is described as an OFF pulse. ON pulses are far more common, and in casual discussion, "a signal" often refers to an ON pulse.
 
 
Very short pulses (1 or 2 ticks) can cause problems for some components or circuits because they have different update sequences to change states. For example, a redstone torch or a comparator will not respond to a 1-tick pulse made by repeaters.
 
 
=== Circuit vs. mechanism ===
 
 
These terms are sometimes used interchangeably to describe structures which incorporate redstone components, but a useful distinction can be made between the two:
 
* A '''circuit''' performs operations on signals (generating, modifying, combining, etc.).
 
* A '''mechanism''' manipulates the environment (moving blocks, opening doors, changing the light level, producing sound, etc.).
 
 
All mechanisms will necessarily incorporate redstone components or circuits, but a circuit by itself doesn't have to have an effect on the environment (except possibly incidentally, such as a redstone repeater changing its light level when changing its power state, or a piston moving a block to fulfill a role within the circuit). Making this distinction allows us to talk about circuits without having to define a specific in-game purpose for them, allowing players to find their own reasons to use them.
 
 
This article, and the other articles on redstone circuits, discuss only circuits which operate on signals. For articles about mechanisms, see the [[#See also|list of tutorials]] at the end of the article.
 
   
 
=== Size ===
 
=== Size ===
Line 69: Line 19:
 
The wiki describes circuit size (the volume of the rectangular solid it occupies) with the notation of ''shorter width'' × ''longer width'' × ''height'', including support/floor blocks, but not including inputs/outputs.
 
The wiki describes circuit size (the volume of the rectangular solid it occupies) with the notation of ''shorter width'' × ''longer width'' × ''height'', including support/floor blocks, but not including inputs/outputs.
   
Another method used for describing circuit size in the ''Minecraft'' community is to ignore non-redstone blocks simply used for support (for example, blocks under redstone dust or repeaters). However, this method is unable to distinguish between [[#flat|flat]] and [[#1-high|1-high]] circuits, as well as some other circuit differences.
+
Another method used for describing circuit size in the ''Minecraft'' community is to ignore non-Redstone blocks simply used for support (for example, blocks under Redstone dust or repeaters). However, this method is unable to distinguish between [[#flat|flat]] and [[#1-high|1-high]] circuits, as well as some other circuit differences.
   
Sometimes it is convenient to compare circuits simply by the area of their footprint (e.g., 3×4 for a circuit three block wide by four blocks long), or by a single dimension important in a particular context (e.g., length in a sequence of sub-circuits, height in a confined space, etc.).
+
Sometimes it is convenient to compare circuits simply by the area of their footprint (e.g., 3×4 for a circuit three-block wide by four blocks long), or by a single dimension important in a particular context (e.g., length in a sequence of sub-circuits, height in a confined space, etc.).
   
 
=== Features ===
 
=== Features ===
   
A number of features may be considered desirable design goals:
+
Several features may be considered desirable design goals:
   
;{{anchor|1-tall|1-high}}1-High
+
;{{anchor|1-tall|1-high}}1-high
:A structure is 1-high (aka "1-tall") if its vertical dimension is one block high (meaning it cannot have any redstone components which require support blocks below them, such as redstone dust or repeaters). Also see [[#flat|flat]].
+
:A structure is 1-high (aka "1-tall") if its vertical dimension is one block high (meaning it cannot have any redstone components that require support blocks below them, such as redstone dust or repeaters). Also see [[#flat|flat]].
   
;{{anchor|1-wide}}1-Wide
+
;{{anchor|1-wide}}1-wide
:A structure is 1-wide if at least one of its horizontal dimensions is one block wide.
+
:A structure is 1-wide if at least one of its horizontal dimensions is exactly one block wide.
   
 
;{{anchor|flat}}Flat
 
;{{anchor|flat}}Flat
Line 87: Line 37:
   
 
;{{anchor|flush}}Flush
 
;{{anchor|flush}}Flush
:A structure is flush if it doesn't extend beyond a flat wall, floor, or ceiling and can still provide utility to the other side. Flush is a desirable design goal for piston-extenders, piston doors, etc. Also see [[#hipster|hipster]] and [[#seamless|seamless]].
+
:A structure is flush if it doesn't extend beyond a flat wall, floor, or ceiling and can still provide utility to the other side, though redstone mechanisms may be visible in the wall. Flush is a desirable design goal for piston-extenders, piston doors, etc. Also see [[#hipster|hipster]] and [[#seamless|seamless]].
   
 
;{{anchor|hipster}}Hipster
 
;{{anchor|hipster}}Hipster
  +
;
:A structure is hipster if no redstone components are visible both before and after it completes its task (but it's okay if some are visible during operation). Also see [[#flush|flush]] and [[#seamless|seamless]].
 
  +
:A structure is hipster if it is initially hidden behind a flat wall, floor, or ceiling and can still provide utility to the other side. See also [[#flush|flush]] and [[#seamless|seamless]].
   
 
;{{anchor|instant}}Instant
 
;{{anchor|instant}}Instant
Line 96: Line 47:
   
 
;{{anchor|seamless}}Seamless
 
;{{anchor|seamless}}Seamless
:A structure is seamless if it is initially hidden behind a flat wall, floor, or ceiling and can still provide utility to the other side. Seamless is a desirable design goal for piston-extenders, piston doors, etc. Also see [[#flush|flush]] and [[#hipster|hipster]].
+
:A structure is seamless if no redstone components are visible both before and after it completes its task (but it's okay if some are visible during operation). Seamless is a desirable design goal for piston-extenders, piston doors, etc. See also [[#flush|flush]] and [[#hipster|hipster]].
   
 
;{{anchor|silent}}Silent
 
;{{anchor|silent}}Silent
:A structure is silent if it makes no noise (such as from piston movement, dispenser/dropper triggering when empty, etc.). Silent structures are desirable for traps, peaceful homes, and for reducing lag produced by sound.
+
:A structure is silent if it makes no noise (such as from piston movement, dispenser/dropper triggering when empty, etc.). Silent structures are desirable for traps or peaceful homes.
   
 
;{{anchor|stackable}}Stackable
 
;{{anchor|stackable}}Stackable
:A structure is stackable if it can be placed ''directly'' next to other copies of itself, and they all can be controlled as a single unit. Also see [[#tileable|tileable]].
+
:A structure is stackable if it can be placed ''directly'' on top of other copies of itself, and they all can be controlled as a single unit. Also see [[#tileable|tileable]].
  +
  +
;{{anchor|expandable}}Expandable
  +
:A structure is Expandable if it can be placed ''directly'' next to other copies of itself, and they all can be controlled as a single unit. Also see [[#tileable|tileable]].
   
 
;{{anchor|tileable}}Tileable
 
;{{anchor|tileable}}Tileable
:A structure is tileable if it can be placed ''directly'' next to other copies of itself, and each copy can still be controlled independently. Also see [[#stackable|stackable]].
+
:A structure is tileable if it can be placed ''directly'' next to or on top of other copies of itself, and each copy can still be controlled independently. Also see [[#stackable|stackable]].
   
 
:Structures might be described as "2-wide tileable" (tileable every two spaces in one dimension), or "2×4 tileable" (tileable in two directions), etc. Some structures might be described as "alternating tileable", meaning they can be placed next to each other if every other one is flipped or a slightly different design.
 
:Structures might be described as "2-wide tileable" (tileable every two spaces in one dimension), or "2×4 tileable" (tileable in two directions), etc. Some structures might be described as "alternating tileable", meaning they can be placed next to each other if every other one is flipped or a slightly different design.
   
 
Other design goals may include reducing the delay a sub-circuit adds to a larger circuit, reducing the use of resource-expensive components (redstone, nether quartz, etc.), and re-arranging or redesigning a circuit to make it as small as possible.
 
Other design goals may include reducing the delay a sub-circuit adds to a larger circuit, reducing the use of resource-expensive components (redstone, nether quartz, etc.), and re-arranging or redesigning a circuit to make it as small as possible.
  +
  +
Some components are not available before a player has access to the Nether, which limits the designs available. In particular, [[redstone comparator]]s, [[observer]]s and [[daylight detector]]s require [[nether quartz]], which is available only from the Nether. Additionally, redstone lamps require [[glowstone]], which is occasionally available from [[trading]] or [[witches]], but is much more plentiful in the Nether.
   
 
== Circuit types ==
 
== Circuit types ==
   
Although the number of ways to construct circuits is endless, certain patterns of construction occur over and over again. The following sections attempt to categorize the circuits which have proven useful to the ''Minecraft'' community, while the main articles describe the specific circuits which fall into those categories.
+
Although the number of ways to construct circuits is endless, certain patterns of construction occur repeatedly. The following sections attempt to categorize the circuits that have proven useful to the ''Minecraft'' community, while the main articles describe the specific circuits that fall into those categories.
   
Some of these circuits might be used by themselves for simple control of mechanisms, but frequently you will need to combine them into more complex circuits to meet the needs of a mechanism.
+
Some of these circuits might be used by themselves for simple control of mechanisms, but frequently the player needs to combine them into more complex circuits to meet the needs of a mechanism.
   
 
=== Transmission circuit ===
 
=== Transmission circuit ===
Line 123: Line 79:
 
Some aspects of signal transmission can be helpful to understand: transmission types, vertical transmission, repeaters, and diodes.
 
Some aspects of signal transmission can be helpful to understand: transmission types, vertical transmission, repeaters, and diodes.
   
;[[Transmission circuit#Vertical transmission|Vertical transmission]]
+
;Vertical transmission
   
[[File:MCRedstone VertTransPositive.png|thumb|Transmitting signals upwards]]
+
[[File:MCRedstone VertTransPositive.png|thumb|Transmitting signals upward]]
[[File:MCRedstone VertTransNegative.png|thumb|Transmitting signals downwards]]
+
[[File:MCRedstone VertTransNegative.png|thumb|Transmitting signals downward]]
  +
[[File:PE Vertical Redstone Ladder.jpg|thumb|Examples of two-way vertical ladders in Bedrock Edition]]
: Although horizontal signal transmission is pretty straight-forward, vertical transmission involves options and trade-offs.
 
  +
: Although horizontal signal transmission is straightforward, vertical transmission involves options and trade-offs.
:* ''Redstone staircases:'' The simplest way to transmit signals vertically is by placing [[redstone dust]] on blocks diagonally upwards, either in a straight staircase of blocks, in a 2×2 spiral of blocks, or in another similar variation. Redstone staircases can transmit signals both upwards and downwards, but can take up a lot of space and will require repeaters every 15 blocks.
 
:* ''Redstone ladders:'' Because [[glowstone]], upside-down [[slab]]s and upside-down [[stair]]s can support [[redstone dust]] but don't cut redstone dust, signals can be transmitted vertically (upwards only) by alternating these blocks in a 2×1 "ladder". Redstone ladders take up less space than redstone staircases, but also require repeaters every 15 blocks.
+
:*''Redstone staircases:'' The simplest way to transmit signals vertically is by placing [[redstone dust]] on blocks diagonally upward, either in a straight staircase of blocks, in a 2×2 spiral of blocks, or in another similar variation. Redstone staircases can transmit signals both upward and downward but can take up much space and require repeaters every 15 blocks.
  +
:* ''Redstone ladders:'' Because [[glowstone]], top [[slab]]s, [[glass]], and upside-down [[stair]]s can support [[redstone dust]] but don't cut redstone dust, signals can be transmitted vertically (upward only) by alternating these blocks in a 2×1 "ladder". Redstone ladders take up less space than redstone staircases, but also require repeaters every 15 blocks. {{IN|be}}, glass and pistons can be used to create two-way vertical ladders that transmit signals both upward and downward (glowstone, hoppers, and slabs still allow the dust to power upward but not downward).
:* ''Torch towers and torch ladders:'' A [[redstone torch]] can power a block above it, or redstone dust beneath it, allowing vertical transmission both upwards or downwards (different designs are required for each). Because it takes each torch a little time to change state, a torch tower can introduce some delay into a circuit, but no repeaters are necessary.
 
  +
:* ''Torch towers and torch ladders:'' A [[redstone torch]] can power a block above it, or redstone dust beneath it, allowing vertical transmission both upward and downward (different designs are required for each). Because it takes each torch a little time to change state, a torch tower can introduce some delay into a circuit, but no repeaters are necessary. However, every torch inverts the redstone signal (i.e. changes it from powered to unpowered), so having an even number of torches is required.
  +
:* ''Observer towers:'' An [[observer]] can power a block of a redstone circuit above or below it, allowing vertical transmission both upward and downward. Placing blocks that can be activated, such as [[redstone dust]], [[Note Block|noteblocks]], or [[Door|doors]], both above and below it creates a state change when the observer is looking downward or downward when the observer is looking upward. Repeating this pattern means that updates are chained.
  +
:* ''Daylight detector exploiting:'' You can use daylight detectors to send a Redstone signal downward in 1 tick, but the path needs to be unobstructed by anything. You need to have a piston push a block over the sensor. It detects the change in light and emits a Redstone pulse. This design is extendable upward as far as you want, but you need to have the original hole open to sunlight. It also works only during the day, because it uses shadows to activate.
  +
:*''Bubble columns:'' An [[observer]] can be used to detect the block update that occurs when a [[water]] source changes to a [[Bubble Column|bubble column]] (or vice versa). When swapping the block below a column of water sources to [[Soul Sand|soul sand]] or a [[Magma Block|magma block]] from some other block, the entire column immediately changes to bubble column blocks. This can be used to quickly transmit a redstone signal upward to an observer facing the top water source/bubble column block.
  +
:*''Wall updating'': A setup that can carry a pulse signal downwards across any distance involves [[Wall|walls]] of any type of stone, a piston, and an observer. When a wall block has a solid block on two opposing sides and non-solid blocks (e.g., air) on the other two sides, it takes a flat shape. This is vertically repeatable up to any height. However, when a wall/solid block is placed into one of the two air blocks around a flat wall, the flat wall block ''and every flat wall block below it'' are updated to a different version of the wall with a column in the middle. This update is instant and can be detected by an observer watching any flat wall in the tower. The update can be made repeatable by having a regular piston face the flat wall at the top of the tower, since the piston head also triggers the wall update.
   
;[[Transmission circuit#Repeater|Repeater]]
+
;Repeater
   
 
: To "repeat" a signal means to boost it back up to full strength. The easiest way to do this is with a [[redstone repeater]]. Variations include:
 
: To "repeat" a signal means to boost it back up to full strength. The easiest way to do this is with a [[redstone repeater]]. Variations include:
:* ''[[Transmission circuit#Instant repeater|Instant Repeater]]:'' Repeats a signal without the delay introduced by a redstone repeater.
+
:*''[[Transmission circuit#Instant repeater|Instant repeater]]:'' Repeats a solid signal without the delay introduced by a redstone repeater.
:* ''[[Transmission circuit#Two-way repeater|Two-Way Repeater]]:'' Repeats a signal in both directions.
+
:* ''[[Transmission circuit#Two-way repeater|Two-way repeater]]:'' Repeats a signal in both directions.
   
  +
;Diode
;[[Transmission circuit#Diodes|Diode]]
 
   
: A "diode" is a one-way circuit that allows a signal to travel only in one direction. It is used to protect another circuit from the chance of a signal trying to enter through the output, which could incorrectly change the circuit's state or interfere with its timing. It is also used in a compact circuit to keep one part of the circuit from interfering with another. Common choices for a diode include a [[redstone repeater]] or a height elevation to [[glowstone]] or an upside-down [[slab]] which won't transmit a signal back downwards.
+
: A "diode" is a one-way circuit that allows a signal to travel in one direction. It is used to protect another circuit from the chance of a signal trying to enter through the output, which could incorrectly change the circuit's state or interfere with its timing. It is also used in a compact circuit to keep one part of the circuit from interfering with another. Common choices for a diode include a [[redstone repeater]] or a height elevation to [[glowstone]] or a top [[slab]], which does not transmit a signal back down.
   
:Many circuits are already one-way simply because their output comes from a block which can't take input. For example, you can't push a signal back into a circuit through a redstone torch except through the block it's attached to.
+
:Many circuits are already one-way simply because their output comes from a block that can't take input. For example, a signal cannot be pushed back into a circuit through a redstone torch except through the block it's attached to.
   
 
=== Logic circuit ===
 
=== Logic circuit ===
Line 148: Line 109:
 
{{main|Logic circuit}}
 
{{main|Logic circuit}}
   
It's sometimes necessary to check signals against each other and only output a signal when the inputs meet some criteria. A circuit which performs this function is known as a '''logic gate''' (a "gate" that only allows signals through if the "logic" is satisfied).
+
It's sometimes necessary to check signals against each other and output a signal only when the inputs meet some criteria. A circuit that performs this function is known as a '''logic gate''' (a "gate" that allows signals through only if the logic is satisfied).
   
  +
In electronic or programming diagrams, logic gates are typically shown as if they were individual devices; However, when building redstone devices in ''Minecraft'', all logic gates are formed from multiple blocks and components, which interact to produce the desired results.
{| class="wikitable" style="float: right; margin: 0 0 0.5em 0.5em; text-align: center;"
 
|+ Logic Gate Outputs<br>
 
<span style="font-weight: normal;">Shows the output (red) of each gate, for each combination of inputs A and B (green).</span>
 
! A
 
! {{tc|in!}} !! {{tc|in!}} !! {{tc|in}} !! {{tc|in}}
 
! rowspan="2" | Question Answered
 
|-
 
! B
 
! {{tc|in!}} !! {{tc|in}} !! {{tc|in!}} !! {{tc|in}}
 
|-
 
| [[#NOT Gate|NOT A]]
 
| {{tc|out}} || {{tc|out}} || {{tc|out!}} || {{tc|out!}}
 
| style="text-align: left;" | Is A off?
 
|-
 
| [[#OR Gate|A OR B]]
 
| {{tc|out!}} || {{tc|out!}} || {{tc|out!}} || {{tc|out}}
 
| style="text-align: left;" | Is either input on?
 
|-
 
| [[#NOR Gate|A NOR B]]
 
| {{tc|out}} || {{tc|out}} || {{tc|out}} || {{tc|out!}}
 
| style="text-align: left;" | Are both inputs off?
 
|-
 
| [[#AND Gate|A AND B]]
 
| {{tc|out!}} || {{tc|out}} || {{tc|out}} || {{tc|out}}
 
| style="text-align: left;" | Are both inputs on?
 
|-
 
| [[#NAND Gate|A NAND B]]
 
| {{tc|out}} || {{tc|out!}} || {{tc|out!}} || {{tc|out!}}
 
| style="text-align: left;" | Is either input off?
 
|-
 
| [[#XOR Gate|A XOR B]]
 
| {{tc|out}} || {{tc|out!}} || {{tc|out!}} || {{tc|out}}
 
| style="text-align: left;" | Are the inputs different?
 
|-
 
| [[#XNOR Gate|A XNOR B]]
 
| {{tc|out!}} || {{tc|out}} || {{tc|out}} || {{tc|out!}}
 
| style="text-align: left;" | Are the inputs the same?
 
|-
 
| [[#IMPLIES Gate|A IMPLIES B]]
 
| {{tc|out!}} || {{tc|out}} || {{tc|out!}} || {{tc|out!}}
 
| style="text-align: left;" | If A is on, is B also on?
 
|}
 
   
  +
;[[Logic circuit#NOT gate|NOT gate]]
{{see also|Tutorials/Basic Logic Gates}}
 
   
  +
:A NOT gate (aka "inverter") is on if its input is off. The simplest NOT gate is an input block with a redstone torch attached.
;[[Logic_circuit#NOT_Gate|NOT Gate]]
 
   
  +
;[[Logic circuit#OR gate|OR gate]]
:A NOT Gate (aka "inverter") is on if its input is off.
 
   
  +
: An OR gate is on if ''any'' of its inputs are on. The simplest OR gate is to feed multiple signals into a single block or redstone wire.
;[[Logic_circuit#OR_Gate|OR Gate]]
 
   
  +
;[[Logic circuit#NOR gate|NOR gate]]
: An OR Gate is on if ''any'' of its inputs are on.
 
   
  +
: A NOR gate is on only if ''none'' of its inputs are on. The simplest NOR gate is to feed multiple signals into a block with a redstone torch attached.
;[[Logic_circuit#NOR_Gate|NOR Gate]]
 
   
  +
;[[Logic circuit#AND gate|AND gate]]
: A NOR Gate is on only if ''none'' of its inputs are on.
 
   
  +
: An AND gate is on only if ''all'' of its inputs are on.
;[[Logic_circuit#AND_Gate|AND Gate]]
 
   
  +
;[[Logic circuit#NAND gate|NAND gate]]
: An AND Gate is on only if ''all'' of its inputs are on.
 
   
  +
: A NAND gate is on if ''any'' of its inputs are off.
;[[Logic_circuit#NAND_Gate|NAND Gate]]
 
   
  +
;[[Logic circuit#XOR gate|XOR gate]]
: A NAND Gate is on if ''any'' of its inputs are off.
 
   
  +
: An XOR gate is on if its inputs are ''different''.
;[[Logic_circuit#XOR_Gate|XOR Gate]]
 
   
  +
;[[Logic circuit#XNOR gate|XNOR gate]]
: An XOR Gate is on if its inputs are ''different''.
 
   
  +
: An XNOR gate is on if its inputs are ''equal''.
;[[Logic_circuit#XNOR_Gate|XNOR Gate]]
 
   
  +
;[[Logic circuit#IMPLY gate|IMPLY gate]]
: An XNOR Gate is on if its inputs are ''equal''.
 
   
  +
: An IMPLY gate is on unless the first input is on and the second input is off.
;[[Logic_circuit#IMPLIES_Gate|IMPLIES Gate]]
 
   
  +
{{LogicGateOutputTable}}
: An IMPLIES Gate is on unless the first input is on and the second input is off.
 
   
 
=== Pulse circuit ===
 
=== Pulse circuit ===
Line 231: Line 151:
 
{{main|Pulse circuit}}
 
{{main|Pulse circuit}}
   
Some circuits require specific pulses, other circuits use pulse duration as a way to convey information. Pulse circuits manage these requirements.
+
Some circuits require specific pulses; other circuits use pulse duration to convey information. Pulse circuits manage these requirements.
   
A circuit which is stable in one output state and unstable in the other is known as a [[Pulse circuit#Monostable circuit|monostable circuit]]. Many pulse circuits are monostable because their OFF state is stable, but their ON state will quickly (or eventually) revert to OFF.
+
A circuit that is stable in one output state and unstable in the other is known as a [[Pulse circuit#Monostable circuit|monostable circuit]].<ref group="note">Note: Some players refer to edge detectors as monostable circuits</ref> Many pulse circuits are monostable because their OFF state is stable, but their ON state soon reverts to OFF.
   
;[[Pulse circuit#Pulse generator|Pulse Generator]]
+
;[[Pulse circuit#Pulse generator|Pulse generator]]
 
: A pulse generator produces a pulse of a specific duration.
 
: A pulse generator produces a pulse of a specific duration.
   
;[[Pulse circuit#Pulse limiter|Pulse Limiter]]
+
;[[Pulse circuit#Pulse limiter|Pulse limiter]]
: A pulse limiter (aka pulse shortener) reduces the duration of pulses which are too long.
+
: A pulse limiter (aka pulse shortener) reduces the duration of pulses that are too long.
   
;[[Pulse circuit#Pulse extender|Pulse Extender]]
+
;[[Pulse circuit#Pulse extender|Pulse extender]]
: A pulse extender (aka pulse sustainer, pulse lengthener) increases the duration of pulses which are too short.
+
: A pulse extender (aka pulse sustainer, pulse lengthener) increases the duration of pulses that are too short.
   
;[[Pulse circuit#Pulse multiplier|Pulse Multiplier]]
+
;[[Pulse circuit#Pulse multiplier|Pulse multiplier]]
 
:A pulse multiplier outputs multiple pulses for every input pulse (it multiplies the number of pulses).
 
:A pulse multiplier outputs multiple pulses for every input pulse (it multiplies the number of pulses).
   
;[[Pulse circuit#Pulse divider|Pulse Divider]]
+
;[[Pulse circuit#Pulse divider|Pulse divider]]
: A pulse divider (aka pulse counter) only outputs a signal after a certain number of pulses have been detected through the input (the number of pulses is indicative of the number of loops).
+
: A pulse divider (aka pulse counter) outputs a signal only after a certain number of pulses have been detected through the input (the number of pulses is indicative of the number of loops).
   
;[[Pulse circuit#Edge detector|Edge Detector]]
+
;[[Pulse circuit#Edge detector|Edge detector]]
: An edge detector reacts to either a signal changing from OFF to ON (a "rising edge" detector) or from ON to OFF (a "falling edge" detector), or both (a "dual edge" detector).
+
: An edge detector reacts to either a redstone signal changing from OFF to ON (a "rising edge" detector), from ON to OFF (a "falling edge" detector), or switching between ON and OFF in either order(a "dual edge" detector).
   
;[[Pulse circuit#Pulse length detector|Pulse Length Detector]]
+
;[[Pulse circuit#Pulse length detector|Pulse length detector]]
: A pulse length detector reacts only to pulses in a certain range of durations (often only to pulses of one specific duration).
+
:A pulse length detector reacts only to pulses in a certain range of durations (often only to pulses of one specific duration).
 
<!-- expose when section is written in main article
 
<!-- expose when section is written in main article
;Pulse Delay
+
;Pulse delay
: A pulse delay circuit delays a pulse by a specific duration. Pulse delay circuits can be designed to only delay the rising edge of a pulse ("positive delay"), only the falling edge ("negative delay"), or both.
+
: A pulse delay circuit delays a pulse by a specific duration. Pulse delay circuits can be designed to delay only the rising edge of a pulse (positive delay), the falling edge (negative delay), or both.
 
-->
 
-->
   
=== Clock circuit ===
+
===Clock circuit ===
   
 
{{main|Clock circuit}}
 
{{main|Clock circuit}}
   
A clock circuit is a pulse generator that produces a loop of specific pulses over and over again. Some are designed to run forever, while others can be stopped and started.
+
A clock circuit is a pulse generator that produces a loop of specific pulses repeatedly. Some are designed to run forever, while others can be stopped and started.
   
A simple clock with only two states of equal duration is named for the duration of its ON state (e.g., for example, a clock which alternates between a 5-tick ON state and a 5-tick OFF state is called a 5-clock) while others are usually named for their period (the time it takes for the clock to return to its original state; for example, a "1-minute clock" might produce a 1-tick pulse every 60 seconds).
+
A simple clock with only two states of equal duration is named for the duration of its ON state (e.g., for example, a clock that alternates between a 5-tick ON state and a 5-tick OFF state is called a 5-clock) while others are usually named for their period (the time it takes for the clock to return to its original state; for example, a "1-minute clock" might produce a 1-tick pulse every 60 seconds).
   
  +
;Observer clock 1
;Repeater clocks
 
  +
:A repeating clock made with Observers and Pistons (an Observer looking at a piston).
  +
:;Observer clock 2
  +
:: A repeating clock made with two Observers with their faces facing each other.
   
  +
; Repeater clock
 
: A repeater clock consists of a loop of repeaters (usually either [[redstone repeater]]s or [[redstone torch]]es) with occasional dust or blocks to draw off the appropriate pulses.
 
: A repeater clock consists of a loop of repeaters (usually either [[redstone repeater]]s or [[redstone torch]]es) with occasional dust or blocks to draw off the appropriate pulses.
   
;Hopper clocks
+
;Hopper clock
  +
:A hopper clock produces timed pulses by moving items back and forth between 2 hoppers feeding into each other and taking a redstone output with comparators. This was revolutioninised by ethoslab, as he created the etho hopper clock, a staple in redstone timers.
   
  +
;Piston clock
: A hopper clock produces timed pulses by moving items around between hoppers and drawing signals off with redstone comparators.
 
  +
:A piston clock produces a loop of pulses by passing a block back and forth (or around, with many pistons) and drawing off a redstone pulse when the block is in a certain location.
   
  +
;Comparator clock
;Piston clocks
 
  +
:The clock of short or moderate cycle length utilizing comparator's subtraction or signal fading feature. Clocks can also be built using [[daylight sensor]]s, [[minecart]]s, [[boat]]s, water flow, item despawn, etc.
   
  +
===Memory circuit===
: A piston clock produces a loop of pulses by passing a block back and forth (or around, with many pistons) and drawing off a pulse when the block is in a certain location.
 
 
Clocks can also be built using [[daylight sensor]]s, [[minecart]]s, [[boat]]s, water flow, item despawn, etc.
 
 
=== Memory circuit ===
 
   
 
{{main|Memory circuit}}
 
{{main|Memory circuit}}
   
Unlike a logic circuit whose state always reflects its current inputs, a memory circuit's output depends not on the current state of its inputs, but on the ''history'' of its inputs. This allows a memory circuit to "remember" what state it should be in, until told to remember something else. There are four basic types of memory circuits. (A few circuits combine two different types.)
+
Unlike a logic circuit whose state always reflects its current inputs, a memory circuit's output depends not on the current state of its inputs, but on the ''history'' of its inputs. This allows a memory circuit to "remember" what state it should be in, until told to remember something else. There are five basic types of memory circuits. (A few circuits combine two different types.)
   
;RS Latch
+
;RS latch
  +
: An RS latch has two inputs, one to set the output on and another to reset the output back to off. An RS latch built from NOR gates is known as an "[[Mechanics/Redstone/Memory circuit/Basic RS-NOR|RS NOR]] latch", which is the oldest and most common memory circuit in ''Minecraft''.<!-- This is only mentioned here because people search for "RS NOR latch." -->
   
  +
;[[Memory circuit#T flip-flop|T flip-flop]]
: An RS latch has two inputs, one to set the output on and another to reset the output back to off. An RS latch built from NOR gates is known as an "RS NOR Latch", which is the oldest and most common memory circuit in ''Minecraft''. <!-- only mentioned here because people will search for "rs nor latch" -->
 
  +
:A T flip-flop is used to toggle a signal (like a lever). It has one input, which toggles the output between on and off. Before the 1.21 updates, they had to be big, chunky machines, but now we can use a copper bulb as one, and it only takes up 2 blocks (copper bulb and comparator)
   
  +
;Gated D latch
;T Flip-Flop
 
  +
:A gated D latch has a "data" input and a "clock" input. When the clock input turns on, it sets the output to equal its data input. Not to be confused with a D flip-flop, which sets the output equal to its data input on a clock rising transition.
   
  +
;JK latch
: A T flip-flop is used to toggle a signal (like a lever). It has one input which toggles the output between on and off.
 
  +
:A JK latch has two inputs, one to set the output on and another to reset the output back to off (like an RS latch), but when both turn on simultaneously it toggles the output between on and off (like a T flip-flop).
   
  +
;Counter
;D Flip-Flop
 
  +
: Unlike T flip-flops and RS latches, which can hold two states (ON or OFF), a counter can be designed to hold a greater number of states.
   
  +
Many other memory circuits are possible.
: A D flip-flop has a "data" input and a "clock" input. When the clock input turns on, it sets the output to equal its data input.
 
   
;JK Latch
 
   
  +
=== Piston Circuits ===
: A JK latch has two inputs, one to set the output on and another to reset the output back to off (like an RS latch), but when both turn on simultaneously it toggles the output between on and off (like a T flip-flop).
 
  +
{{main|Mechanics/Redstone/Piston circuits|title1=Piston circuits}}[[Piston|Pistons]] have allowed players to design circuits that are smaller and/or faster than the standard, redstone-only counterparts. An understanding of standard [[redstone circuits]] is helpful, as this tutorial is focused on the circuit design rather than the function. The main components here are [[Sticky piston|sticky pistons]], [[redstone wire]], [[Repeater|repeaters]], and [[Redstone torch|redstone torches]]. Regular pistons can also see use, especially combined with gravity blocks.
   
  +
There are several benefits of piston circuitry:
;Counter
 
   
  +
* Neither repeaters nor pistons 'burn out', unlike redstone torches.
: Unlike T Flip-Flops and RS Latches which can only hold two states (ON or OFF), a counter can be designed to hold a greater number of states.
 
  +
* Piston circuits are often (not always) smaller and/or faster than their redstone counterparts. This allows building devices such as fast clocks and "instant" signal transmission.
  +
*Pistons' ability to move blocks within the world makes them a natural for memory circuits, as well as the obvious doorways and switchable bridges. With slime or honey blocks involved, entire structures can "get up and move" (see also [[Tutorials/Flying machines|the Flying Machines tutorial]]).
  +
* Piston circuits can sharply reduce the use of redstone in favor of wood, stone, and iron.
   
  +
<br />
Many other memory circuits are possible.
 
   
 
=== Miscellaneous circuits ===
 
=== Miscellaneous circuits ===
Line 314: Line 245:
 
{{main|Miscellaneous circuits}}
 
{{main|Miscellaneous circuits}}
   
These circuits aren't generally needed for your typical project, but might find use in complex projects, proofs of concept, and thought experiments. Some examples:
+
These circuits aren't generally needed for redstone projects, but might find use in complex projects, proofs of concept, and thought experiments. Some examples:
   
;Multiplexers and Relays
+
;Multiplexers and relays
   
: A multiplexer is an advanced form of logic gate which chooses which of two inputs to let through as output based on an additional input (for example, if input A is ON then output input B, otherwise output input C). The reverse of this is a relay, which copies a data input to one of two outputs, depending on whether the additional input is ON or OFF.
+
:A multiplexer is an advanced form of logic gate that chooses which of two inputs to let through as output based on an additional input (for example, if input A is ON then output input B, otherwise output input C). The reverse of this is a relay, which copies a data input to one of two outputs, depending on whether the additional input is ON or OFF.
   
 
;Randomizers
 
;Randomizers
  +
{{Main|Tutorials/Randomizers}}
   
: A randomizer produces output signals unpredictably. Randomizers can be designed to produce a pulse at random intervals, or to randomize which of multiple outputs are turned ON (such as random number generators, or RNGs). Some randomizers use the random nature of ''Minecraft'' (such as [[cactus]] growth or [[dispenser]] slot selection), while others produce pseudo-randomness algorithmically.
+
:A randomizer produces output signals unpredictably. Randomizers can be designed to produce a pulse at random intervals, or to randomize which of multiple outputs are turned ON (such as random number generators, or RNGs). Some randomizers use the random nature of ''Minecraft'' (such as [[cactus]] growth or [[dispenser]] slot selection), while others produce pseudo-randomness algorithmically.
   
 
;Multi-bit circuits
 
;Multi-bit circuits
   
: Multi-bit circuits treat their input lines as a single multi-bit value (something other than zero and one) and perform an operation on them all at once. With such circuits, possibly combined with arrays of memory circuits, it's possible to build calculators, digital clocks, and even basic computers inside ''Minecraft''.
+
:Multi-bit circuits treat their input lines as a single multi-bit value (something other than zero and one) and perform an operation on them all at once. With such circuits, possibly combined with arrays of memory circuits, it's possible to build calculators, digital clocks, and even basic computers inside ''Minecraft''.
 
;Block Update Detectors
 
 
: A block update detector (BUD, or BUD Switch) is a circuit which "reacts" to a block changing its state (for example, stone being mined, water changing to ice, a pumpkin growing next to a pumpkin stem, etc.). BUDs react by producing a pulse, while T-BUDs (Toggleable BUDs) react by toggling their output state. These are generally based on subtle quirks or glitches in device behavior; current circuits most often depend on pistons.
 
 
{{see also|Tutorials/Block update detector}}
 
 
Many other complex circuits are possible.
 
 
{{see also|Tutorials/Advanced redstone circuits}}
 
 
== Building circuits ==
 
 
=== Planning ===
 
 
The first step in building a redstone circuit is to decide what it will do.
 
 
* How and where will it be controlled?
 
** Will the circuit be controlled by the player, by mob movement, or something else?
 
* What mechanism components will it control?
 
* How will the signal be transmitted from the controls to the mechanisms?
 
** Will signals need to be combined from multiple sources?
 
 
=== Construction ===
 
 
It can be helpful to choose a specific set of blocks you use to construct circuits. Then, when you run into these blocks when digging out new rooms in your base, you know you're about to damage a previously-built circuit. Common choices include [[stone brick]], [[snow block]], and [[wool]]. (Using different colors of [[wool]] is also a great way to keep track of different circuits)
 
 
Be careful when building circuits near [[water]] or [[lava]]. Many redstone components will "pop off" (turn into items) when washed over by liquids, and lava will destroy any items it contacts.
 
 
Be careful when building circuits to activate TNT (traps, cannons, etc.). Circuits in mid-construction can sometimes briefly power up unexpectedly, which might activate TNT. For example, if you place a redstone torch on a powered block, it won't "figure out" that it should be turned off until the next tick, and can briefly power another part of the circuit until then. Placing your TNT after the rest of the circuit is complete will help to avoid such problems and the destruction of the device itself. This also applies to any other features of the circuit which may be accidentally activated with such actions (e.g., activating a Dispenser before the circuit is ready).
 
 
=== Problem-solving ===
 
   
  +
;Block update detectors
When your circuit isn't working the way you think it should, take a look at it and try to find the problem.
 
  +
{{Main|Tutorials/Block update detector}}{{Main|Tutorials/Comparator update detector}}
   
  +
:A block update detector (BUD, or BUD switch) is a circuit that reacts to a block changing its state (for example, stone being mined, water changing to ice, a pumpkin growing next to a pumpkin stem, etc.). BUDs react by producing a pulse, while T-BUDs (toggleable BUDs) react by toggling their output state. These are generally based on subtle quirks or glitches in device behavior; current circuits most often depend on pistons. As of [[Java Edition 1.11|''Java Edition'' 1.11]], many of the functions of BUDs were condensed into the [[observer]], however, a BUD circuit can also detect other changes undetectable by observers, like a furnace finishing smelting or something being crafted in a crafting table. The addition of this was made to move toward feature parity with {{el|be}} versions.
* Are you trying to draw power from a weakly-powered block? Maybe you need a redstone repeater to strongly-power the block, or to pull power out of the block.
 
* Are you trying to transmit power through a non-opaque block? Replace it with an opaque block, or go around it.
 
* Did you create a short-circuit and a redstone torch that should be powered is now burned out? Fix the short-circuit and update the torch to get things going again.
 
* Are parts of your circuit activating when they shouldn't be? Maybe you've accidentally "crossed wires" allowing a signal from one part of the circuit to activate another part of the circuit, or a repeater's output is being allowed to cycle into its input.
 
* Did the behavior you were using get removed?
 
* Are pistons, dispensers, or droppers being indirectly powered?
 
   
  +
;More advanced circuits
=== Refining ===
 
  +
{{Main|Tutorials/Advanced redstone circuits}}
   
  +
:Many other complex circuits are possible.
Once your circuit is working, consider if it can be improved (without breaking it).
 
   
  +
== Video==
* Can you make the circuit faster?
 
** Reducing the number of components a signal has to travel through can speed up the circuit.
 
* Can you make the circuit smaller?
 
** Can you use fewer blocks?
 
** Can you shorten the redstone dust lines?
 
** Can you compact logic gates in your circuit?
 
** Did you use some unneccesary components?
 
* Can you make the circuit more robust?
 
** Will the circuit still work when activated by a very short pulse?
 
** Will the circuit still work when activated and deactivated rapidly in succession?
 
* Did an update create the opportunity for a better circuit? (e.g., comparators, locking repeaters, etc.)
 
* Can you make it quieter?
 
* Can you reduce any lag? Builds with many redstone components changing state frequently can cause light, sound, particle, or update lag.
 
** A number of redstone components change their light level when powered (especially redstone torches, redstone repeaters, and redstone lamps). Light changes can cause block light updates in ''hundreds'' of block tiles around each component. Concealing the component in opaque blocks or placing permanent block light sources (torches, glowstone, etc.) nearby can reduce lag from block light updates.
 
** A number of redstone components produce sound when activated or deactivated (pistons, dispensers and droppers, doors, trapdoors, and fence gates, and note blocks). Too many sounds at once can overload ''Minecraft's'' sound engine and produce lag.
 
** A number of redstone components produce particles (redstone torches, redstone dust, but especially fireworks fired from dispensers). Too many particles may overload ''Minecraft's'' particle rendering and then some particles may fail to render until old particles have disappeared.
 
** Every time a block is moved by a piston it can produce block updates in its neighbors so moving too many blocks at once can produce lag.
 
** Hoppers and hopper minecarts especially may be trying to do multiple things at once (accept items pushed into them, push items into other containers, check for item entities above them). Powering unneeded hoppers to disable them or placing solid blocks above them to disable their item entity checks can help to reduce lag.
 
   
  +
<div style="text-align:center">{{yt|grM9zUygDJs}}<div style="text-align:left">
== Video ==
 
  +
<div style="text-align:center">{{Yt|DLSeGbecKMw}}</div><br />
   
  +
==References==
{{:Redstone circuit/video}}
 
  +
<references group="note" />
   
 
{{Redstone}}
 
{{Redstone}}
 
{{Gameplay}}
 
{{Gameplay}}
   
[[Category:Gameplay]]
 
 
[[Category:Mechanics]]
 
[[Category:Mechanics]]
[[Category:Redstone]]
+
[[Category:Redstone|Circuits]]
[[Category:Redstone circuits]]
+
[[Category:Redstone circuits| ]]
   
[[de:Redstone-Schaltkreise]]
+
[[de:technik:Schaltkreise]]
 
[[es:Circuitos de redstone]]
 
[[es:Circuitos de redstone]]
 
[[fr:Circuit de redstone]]
 
[[fr:Circuit de redstone]]
[[hu:Vöröskőáramkörök]]
+
[[hu:Redstone-áramkör]]
[[it:Circuito di pietrarossa]]
+
[[it:Circuito di redstone]]
  +
[[ja:レッドストーン回路]]
 
[[ko:레드스톤 회로]]
 
[[ko:레드스톤 회로]]
[[nl:Redstone-schakeling]]
+
[[nl:Redstoneschakeling]]
[[pl:Obwody z czerwonego kamienia]]
+
[[pl:Obwody z redstone]]
  +
[[pt:Mecânica/Redstone/Circuito]]
 
[[ru:Схемы из красного камня]]
 
[[ru:Схемы из красного камня]]
  +
[[tr:Kızıl taş devreleri]]
  +
[[uk:Редстоун схеми]]
 
[[zh:红石电路]]
 
[[zh:红石电路]]

Latest revision as of 08:55, 15 April 2024

A redstone circuit is a contraption that activates or controls mechanisms. Circuits can act in response to player or entity/mob activation, continuously on a loop, or in response to non-player activity (mob movement, item drops, plant growth, etc).

A useful distinction can be made between a circuit performing operations on signals (generating, modifying, combining, etc.), and a mechanism manipulating the environment (moving blocks, opening doors, changing the light level, producing sound, etc.). Making this distinction lets us talk about the various circuits separately, and let players choose whichever circuits are useful for their purposes. The machines controlled by redstone circuits can range from simple devices such as automatic doors and light switches to complex devices such as elevators, automatic farms, or even in-game computers. However, this article provides only an overview of redstone circuits as above. These can be used to control simple mechanisms, or combined as parts of a larger build. Each circuit type on this page has links to its own page, which provides greater detail about them and give schematics for multiple variations of each.

Before working with any but the most basic Redstone circuits, an understanding of some basic concepts is required: "power", "signal strength", "redstone ticks", and "block updates". Other relevant articles:

  • The Redstone mechanics article provides more information on these concepts.
  • The Redstone components article adds a list and description of all blocks which interact with redstone power.
  • The Mechanisms tutorial complements this article with an assortment of mechanism designs using circuits described here.
  • The Redstone tips tutorial gives general advice about building.

Describing Circuits

Most circuits are described using Schematic diagrams; some of these require multiple images to show one or two layers per image. See the Help:Schematic page for details on how various blocks and components are represented.

Size

The wiki describes circuit size (the volume of the rectangular solid it occupies) with the notation of shorter width × longer width × height, including support/floor blocks, but not including inputs/outputs.

Another method used for describing circuit size in the Minecraft community is to ignore non-Redstone blocks simply used for support (for example, blocks under Redstone dust or repeaters). However, this method is unable to distinguish between flat and 1-high circuits, as well as some other circuit differences.

Sometimes it is convenient to compare circuits simply by the area of their footprint (e.g., 3×4 for a circuit three-block wide by four blocks long), or by a single dimension important in a particular context (e.g., length in a sequence of sub-circuits, height in a confined space, etc.).

Features

Several features may be considered desirable design goals:

1-high
A structure is 1-high (aka "1-tall") if its vertical dimension is one block high (meaning it cannot have any redstone components that require support blocks below them, such as redstone dust or repeaters). Also see flat.
1-wide
A structure is 1-wide if at least one of its horizontal dimensions is exactly one block wide.
Flat
A structure is flat if it generally can be laid out on the ground with no components above another (support blocks under redstone components are okay). Flat structures are often easier for beginners to understand and build, and fit nicely under floors or on top of roofs. Also see 1-high.
Flush
A structure is flush if it doesn't extend beyond a flat wall, floor, or ceiling and can still provide utility to the other side, though redstone mechanisms may be visible in the wall. Flush is a desirable design goal for piston-extenders, piston doors, etc. Also see hipster and seamless.
Hipster
A structure is hipster if it is initially hidden behind a flat wall, floor, or ceiling and can still provide utility to the other side. See also flush and seamless.
Instant
A structure is instant if its output responds immediately to its input (a circuit delay of 0 ticks).
Seamless
A structure is seamless if no redstone components are visible both before and after it completes its task (but it's okay if some are visible during operation). Seamless is a desirable design goal for piston-extenders, piston doors, etc. See also flush and hipster.
Silent
A structure is silent if it makes no noise (such as from piston movement, dispenser/dropper triggering when empty, etc.). Silent structures are desirable for traps or peaceful homes.
Stackable
A structure is stackable if it can be placed directly on top of other copies of itself, and they all can be controlled as a single unit. Also see tileable.
Expandable
A structure is Expandable if it can be placed directly next to other copies of itself, and they all can be controlled as a single unit. Also see tileable.
Tileable
A structure is tileable if it can be placed directly next to or on top of other copies of itself, and each copy can still be controlled independently. Also see stackable.
Structures might be described as "2-wide tileable" (tileable every two spaces in one dimension), or "2×4 tileable" (tileable in two directions), etc. Some structures might be described as "alternating tileable", meaning they can be placed next to each other if every other one is flipped or a slightly different design.

Other design goals may include reducing the delay a sub-circuit adds to a larger circuit, reducing the use of resource-expensive components (redstone, nether quartz, etc.), and re-arranging or redesigning a circuit to make it as small as possible.

Some components are not available before a player has access to the Nether, which limits the designs available. In particular, redstone comparators, observers and daylight detectors require nether quartz, which is available only from the Nether. Additionally, redstone lamps require glowstone, which is occasionally available from trading or witches, but is much more plentiful in the Nether.

Circuit types

Although the number of ways to construct circuits is endless, certain patterns of construction occur repeatedly. The following sections attempt to categorize the circuits that have proven useful to the Minecraft community, while the main articles describe the specific circuits that fall into those categories.

Some of these circuits might be used by themselves for simple control of mechanisms, but frequently the player needs to combine them into more complex circuits to meet the needs of a mechanism.

Transmission circuit

Main article: Transmission circuit

Some aspects of signal transmission can be helpful to understand: transmission types, vertical transmission, repeaters, and diodes.

Vertical transmission
MCRedstone VertTransPositive

Transmitting signals upward

MCRedstone VertTransNegative

Transmitting signals downward

PE Vertical Redstone Ladder

Examples of two-way vertical ladders in Bedrock Edition

Although horizontal signal transmission is straightforward, vertical transmission involves options and trade-offs.
  • Redstone staircases: The simplest way to transmit signals vertically is by placing redstone dust on blocks diagonally upward, either in a straight staircase of blocks, in a 2×2 spiral of blocks, or in another similar variation. Redstone staircases can transmit signals both upward and downward but can take up much space and require repeaters every 15 blocks.
  • Redstone ladders: Because glowstone, top slabs, glass, and upside-down stairs can support redstone dust but don't cut redstone dust, signals can be transmitted vertically (upward only) by alternating these blocks in a 2×1 "ladder". Redstone ladders take up less space than redstone staircases, but also require repeaters every 15 blocks. In Bedrock Edition, glass and pistons can be used to create two-way vertical ladders that transmit signals both upward and downward (glowstone, hoppers, and slabs still allow the dust to power upward but not downward).
  • Torch towers and torch ladders: A redstone torch can power a block above it, or redstone dust beneath it, allowing vertical transmission both upward and downward (different designs are required for each). Because it takes each torch a little time to change state, a torch tower can introduce some delay into a circuit, but no repeaters are necessary. However, every torch inverts the redstone signal (i.e. changes it from powered to unpowered), so having an even number of torches is required.
  • Observer towers: An observer can power a block of a redstone circuit above or below it, allowing vertical transmission both upward and downward. Placing blocks that can be activated, such as redstone dust, noteblocks, or doors, both above and below it creates a state change when the observer is looking downward or downward when the observer is looking upward. Repeating this pattern means that updates are chained.
  • Daylight detector exploiting: You can use daylight detectors to send a Redstone signal downward in 1 tick, but the path needs to be unobstructed by anything. You need to have a piston push a block over the sensor. It detects the change in light and emits a Redstone pulse. This design is extendable upward as far as you want, but you need to have the original hole open to sunlight. It also works only during the day, because it uses shadows to activate.
  • Bubble columns: An observer can be used to detect the block update that occurs when a water source changes to a bubble column (or vice versa). When swapping the block below a column of water sources to soul sand or a magma block from some other block, the entire column immediately changes to bubble column blocks. This can be used to quickly transmit a redstone signal upward to an observer facing the top water source/bubble column block.
  • Wall updating: A setup that can carry a pulse signal downwards across any distance involves walls of any type of stone, a piston, and an observer. When a wall block has a solid block on two opposing sides and non-solid blocks (e.g., air) on the other two sides, it takes a flat shape. This is vertically repeatable up to any height. However, when a wall/solid block is placed into one of the two air blocks around a flat wall, the flat wall block and every flat wall block below it are updated to a different version of the wall with a column in the middle. This update is instant and can be detected by an observer watching any flat wall in the tower. The update can be made repeatable by having a regular piston face the flat wall at the top of the tower, since the piston head also triggers the wall update.
Repeater
To "repeat" a signal means to boost it back up to full strength. The easiest way to do this is with a redstone repeater. Variations include:
Diode
A "diode" is a one-way circuit that allows a signal to travel in one direction. It is used to protect another circuit from the chance of a signal trying to enter through the output, which could incorrectly change the circuit's state or interfere with its timing. It is also used in a compact circuit to keep one part of the circuit from interfering with another. Common choices for a diode include a redstone repeater or a height elevation to glowstone or a top slab, which does not transmit a signal back down.
Many circuits are already one-way simply because their output comes from a block that can't take input. For example, a signal cannot be pushed back into a circuit through a redstone torch except through the block it's attached to.

Logic circuit

Main article: Logic circuit

It's sometimes necessary to check signals against each other and output a signal only when the inputs meet some criteria. A circuit that performs this function is known as a logic gate (a "gate" that allows signals through only if the logic is satisfied).

In electronic or programming diagrams, logic gates are typically shown as if they were individual devices; However, when building redstone devices in Minecraft, all logic gates are formed from multiple blocks and components, which interact to produce the desired results.

NOT gate
A NOT gate (aka "inverter") is on if its input is off. The simplest NOT gate is an input block with a redstone torch attached.
OR gate
An OR gate is on if any of its inputs are on. The simplest OR gate is to feed multiple signals into a single block or redstone wire.
NOR gate
A NOR gate is on only if none of its inputs are on. The simplest NOR gate is to feed multiple signals into a block with a redstone torch attached.
AND gate
An AND gate is on only if all of its inputs are on.
NAND gate
A NAND gate is on if any of its inputs are off.
XOR gate
An XOR gate is on if its inputs are different.
XNOR gate
An XNOR gate is on if its inputs are equal.
IMPLY gate
An IMPLY gate is on unless the first input is on and the second input is off.
Logic gate outputs
Shows the output (red) of each gate, for each combination of inputs A and B (green).
A ON ON off off Question Answered
B ON off ON off
A AND B ON off off off Is A and B on?
NOT (A IMPLIES B) off ON off off Is A on and B off?
NOT (B IMPLIES A) off off ON off Is B on and A off?
A NOR B off off off ON Are both inputs off?
A ON ON off off Is A on?
A XOR B off ON ON off Are the inputs different?
NOT A off off ON ON Is A off?
A XNOR B ON off off ON Are the inputs the same?
B ON off ON off Is B on?
NOT B off ON off ON Is B off?
A NAND B off ON ON ON Is either input off?
A IMPLIES B ON off ON ON If A is on, is B also on?
B IMPLIES A ON ON off ON If B is on, is A also on?
A OR B ON ON ON off Is either input on?

Pulse circuit

Main article: Pulse circuit

Some circuits require specific pulses; other circuits use pulse duration to convey information. Pulse circuits manage these requirements.

A circuit that is stable in one output state and unstable in the other is known as a monostable circuit.[note 1] Many pulse circuits are monostable because their OFF state is stable, but their ON state soon reverts to OFF.

Pulse generator
A pulse generator produces a pulse of a specific duration.
Pulse limiter
A pulse limiter (aka pulse shortener) reduces the duration of pulses that are too long.
Pulse extender
A pulse extender (aka pulse sustainer, pulse lengthener) increases the duration of pulses that are too short.
Pulse multiplier
A pulse multiplier outputs multiple pulses for every input pulse (it multiplies the number of pulses).
Pulse divider
A pulse divider (aka pulse counter) outputs a signal only after a certain number of pulses have been detected through the input (the number of pulses is indicative of the number of loops).
Edge detector
An edge detector reacts to either a redstone signal changing from OFF to ON (a "rising edge" detector), from ON to OFF (a "falling edge" detector), or switching between ON and OFF in either order(a "dual edge" detector).
Pulse length detector
A pulse length detector reacts only to pulses in a certain range of durations (often only to pulses of one specific duration).

Clock circuit

Main article: Clock circuit

A clock circuit is a pulse generator that produces a loop of specific pulses repeatedly. Some are designed to run forever, while others can be stopped and started.

A simple clock with only two states of equal duration is named for the duration of its ON state (e.g., for example, a clock that alternates between a 5-tick ON state and a 5-tick OFF state is called a 5-clock) while others are usually named for their period (the time it takes for the clock to return to its original state; for example, a "1-minute clock" might produce a 1-tick pulse every 60 seconds).

Observer clock 1
A repeating clock made with Observers and Pistons (an Observer looking at a piston).
Observer clock 2
A repeating clock made with two Observers with their faces facing each other.
Repeater clock
A repeater clock consists of a loop of repeaters (usually either redstone repeaters or redstone torches) with occasional dust or blocks to draw off the appropriate pulses.
Hopper clock
A hopper clock produces timed pulses by moving items back and forth between 2 hoppers feeding into each other and taking a redstone output with comparators. This was revolutioninised by ethoslab, as he created the etho hopper clock, a staple in redstone timers.
Piston clock
A piston clock produces a loop of pulses by passing a block back and forth (or around, with many pistons) and drawing off a redstone pulse when the block is in a certain location.
Comparator clock
The clock of short or moderate cycle length utilizing comparator's subtraction or signal fading feature. Clocks can also be built using daylight sensors, minecarts, boats, water flow, item despawn, etc.

Memory circuit

Main article: Memory circuit

Unlike a logic circuit whose state always reflects its current inputs, a memory circuit's output depends not on the current state of its inputs, but on the history of its inputs. This allows a memory circuit to "remember" what state it should be in, until told to remember something else. There are five basic types of memory circuits. (A few circuits combine two different types.)

RS latch
An RS latch has two inputs, one to set the output on and another to reset the output back to off. An RS latch built from NOR gates is known as an "RS NOR latch", which is the oldest and most common memory circuit in Minecraft.
T flip-flop
A T flip-flop is used to toggle a signal (like a lever). It has one input, which toggles the output between on and off. Before the 1.21 updates, they had to be big, chunky machines, but now we can use a copper bulb as one, and it only takes up 2 blocks (copper bulb and comparator)
Gated D latch
A gated D latch has a "data" input and a "clock" input. When the clock input turns on, it sets the output to equal its data input. Not to be confused with a D flip-flop, which sets the output equal to its data input on a clock rising transition.
JK latch
A JK latch has two inputs, one to set the output on and another to reset the output back to off (like an RS latch), but when both turn on simultaneously it toggles the output between on and off (like a T flip-flop).
Counter
Unlike T flip-flops and RS latches, which can hold two states (ON or OFF), a counter can be designed to hold a greater number of states.

Many other memory circuits are possible.


Piston Circuits

Main article: Piston circuits

Pistons have allowed players to design circuits that are smaller and/or faster than the standard, redstone-only counterparts. An understanding of standard redstone circuits is helpful, as this tutorial is focused on the circuit design rather than the function. The main components here are sticky pistons, redstone wire, repeaters, and redstone torches. Regular pistons can also see use, especially combined with gravity blocks.

There are several benefits of piston circuitry:

  • Neither repeaters nor pistons 'burn out', unlike redstone torches.
  • Piston circuits are often (not always) smaller and/or faster than their redstone counterparts. This allows building devices such as fast clocks and "instant" signal transmission.
  • Pistons' ability to move blocks within the world makes them a natural for memory circuits, as well as the obvious doorways and switchable bridges. With slime or honey blocks involved, entire structures can "get up and move" (see also the Flying Machines tutorial).
  • Piston circuits can sharply reduce the use of redstone in favor of wood, stone, and iron.


Miscellaneous circuits

These circuits aren't generally needed for redstone projects, but might find use in complex projects, proofs of concept, and thought experiments. Some examples:

Multiplexers and relays
A multiplexer is an advanced form of logic gate that chooses which of two inputs to let through as output based on an additional input (for example, if input A is ON then output input B, otherwise output input C). The reverse of this is a relay, which copies a data input to one of two outputs, depending on whether the additional input is ON or OFF.
Randomizers
Main article: Tutorials/Randomizers
A randomizer produces output signals unpredictably. Randomizers can be designed to produce a pulse at random intervals, or to randomize which of multiple outputs are turned ON (such as random number generators, or RNGs). Some randomizers use the random nature of Minecraft (such as cactus growth or dispenser slot selection), while others produce pseudo-randomness algorithmically.
Multi-bit circuits
Multi-bit circuits treat their input lines as a single multi-bit value (something other than zero and one) and perform an operation on them all at once. With such circuits, possibly combined with arrays of memory circuits, it's possible to build calculators, digital clocks, and even basic computers inside Minecraft.
Block update detectors
A block update detector (BUD, or BUD switch) is a circuit that reacts to a block changing its state (for example, stone being mined, water changing to ice, a pumpkin growing next to a pumpkin stem, etc.). BUDs react by producing a pulse, while T-BUDs (toggleable BUDs) react by toggling their output state. These are generally based on subtle quirks or glitches in device behavior; current circuits most often depend on pistons. As of Java Edition 1.11, many of the functions of BUDs were condensed into the observer, however, a BUD circuit can also detect other changes undetectable by observers, like a furnace finishing smelting or something being crafted in a crafting table. The addition of this was made to move toward feature parity with Bedrock Edition versions.
More advanced circuits
Many other complex circuits are possible.

Video


References

  1. Note: Some players refer to edge detectors as monostable circuits