12

In minecraft it matters in which direction you place something. Various redstone devices function slightly different, as do some minecart track layouts. Why is this? How can I avoid it and make use of it (if possible)?

1

1 Answer 1

7
+100

When placing rails, or connecting redstone, connections going South and East will take priority over those going North and West. This is due to those directions always being checked first for connections on each axis. There is nothing that can be done to get around this, other than avoid ambiguous connections. Most redstone schematics will say whether they will only work in a certain orientation or not.

This isn't really a bug as such (it would be impossible to fix, since one direction must always take priority). Here's some pseudocode to illustrate the situation:

checkConnections(trackPiece):
   if blockEast.isTrack:
       connectEast
   else if blockWest.isTrack:
       connectWest

Since connectEast and connectWest are mutually exclusive, and one must be checked first, there will always be one direction on each axis that takes precedence.

The rule has a few important consequences, detailed on the wiki. Most notably:

  • Minecarts will favor South or East motion at a "+" intersection because they favor "starting" at the North or West edge.

  • Unpowered tracks will curve south or east when they are initially placed at a "T" intersection.

There are other block orientation quirks not directly related to this quirk listed on the wiki too.

Note on South-West vs. South-East

Prior to 1.9pre-4, West took precedence over East. Since that release, East has taken precedence over West.

2
  • "it would be impossible to fix, since one direction must always take priority" - this is false; one direction must always take priority in some situations, like a minecart which must go in one of two directions
    – ninjagecko
    Jul 28, 2012 at 14:32
  • 2
    @ninjagecko Even in something that seems like it 'shouldn't' need to take priority, like a redstone circuit, it has to take priority, programmatically, or else be determined randomly for each check, which would be even more chaotic. I don't know redstone circuitry that well, but I do know that in programming, there is no such thing as a non-deterministic outcome.
    – Zibbobz
    Jul 29, 2014 at 14:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .