The first redstone issue happens because signals propagate a block at a time: One side becomes powered first because one signal reaches it sooner. Even if the paths were the same length, one would still issue the call to update its metadata first, which issues a neighbor update call, which triggers my block. I would have to add a delay on receiving a signal by at least one tick to handle that properly. I don't understand what you mean by Redstone blocks alone not working. It does not watch world ticks: It detects nearby changes, so when a block is added or removed, or when its state changes like a lever being switched or a signal propagating. For a Redstone block to not trigger it, it has to either not actually be a block update somehow or it must be already receiving an indirect signal. Is one of those Redstone blocks accidentally powering a nearby dirt block? I check for that so putting a torch on the side of a block works. I may have to just check for direct signal on all sides instead. The rotation is something I'm working on and loo have a couple good ideas to try.