good to know, thanks. now, does that mean (and i think it does) that a sequencer with a time of 1 second (10 redstone ticks) will always have one side that is exactly synced with the reactor? or does that only mean that each of the sides will always be on one of the same 10 redstone ticks per reactor tick?
Becasuse world time returns a number for every 10 redstone ticks, right? I do know a decent bit of java, but have to admit i haven't looked at the code for MC or the mods much.
Anyways, if the worldtime does return "seconds" so to speak, then couldn't you just have a sequencer set to 4 seconds with a pulse limiter/monostable (i prefer to use counters which reset themselves because they are more useful later in other projects since you can't uncraft circuits) on each side? then connect the other end of all the monostables and ta-da! it pulses every second exactly one tick after the reactor tick, and will work no matter what even if mcedited, picked up and put down, etc., and won't be side-dependant.
but of course that all depends on your answer to my earlier question.
Display More
worldTime is the number of game ticks that has elapsed since the start of the world. Which happens to be 20 each second. (0.05 seconds)
A redstone tick happens every other tick (to allow for other updates to happen between redstone ticks, otherwise redstone intensive stuff would really bog the game down. (A mod was made a long time ago that made redstone operate on each game tick. Which not only made the game very sluggish but also caused a lot of issues with redstone torches etc. Either way it's besides the point.
It is important to know that any RedPower component set to a .05th of a second will run one cycle .05 seconds early/late and the next late/early. With a timer that makes the issue even worse since it needs to reset. Running it at 250 ms intervals means it will "tick" once at say 300 ms and once at 500 ms since it's first activation. A sequencer on the other hand will not have this problem, instead it will be set to "EmitSignal = 1, 2, 3 or 4" for each side (I made that up now) in a half redstone tick and the redstone will activate 50 ms late on odd cycles. But since it never needs to reset itself as it is synced to world time it never experiences any of the desyncing issues.
To answer your question(s) in short:
* worldTime is the number of GAME ticks elapsed since map creation. That starts the very moment you click "create world" in the menu and it starts generating the new world. To get Seconds from map start you take worldTime / 20. To get Hours, Minutes and Seconds since world time you do the same kind of math, for instance, minutes would be ((worldTime / 20) % 60) and so on.
* worldTime doesn't return seconds, it returns 50ms intervals passed since map creation. But that isn't the entire truth. If you suffer an FPS that is lower than 20 FPS at ANY stage in the game then your real life second just turned into a fraction of a minecraft second. Hence why, if you start a new world and start a stopwatch at the same time. Then set off a bunch of TNT til your PC lags and pick up the blocks. Your in game statistics will show a time elapsed that differs from your stopwatch.
That is also why making real life clocks (that is a clock that is synced with real life) is really hard. There is always the odd game tick that is "skipped" for whatever reason. (or as they say, late)
* A sequencer set to 1 second with a pulser on each side of it will pulse exactly once per second on the wire around it. (Every 10 redstone ticks)
...
Now i will have to look at the IC2 source... *sigh*
updateTicker = randomizer.nextInt(tickRate());
That will be your BIGGEST problem. So i was slightly wrong in that the reactor uses worldTime but still, timers are NOT to be trusted.
And what really happens with Timers isn't that they de-sync. It's that they sync, it is irrelevant to the problem at hand but i strive to be correct whenever i can. You can observe the same effects with BuildCrafts Redstone engines. Even if you start them with a 1 tick delay between each of them they will sync up with each other when they turn red. That's just the way things work and to find out exactly what is going on behind the scenes i would have to read a lot more source code. (And I'm not going to be doing that, i know Timers suffer from the issue but sequencers don't)
OK, before i finish this post off. The above random.nextInt(tickRate()); means that reactors will pick a random tick (between 0 and 19) on which to run on. That updateTicker is increased each game tick by one. So you need to figure out which of the 20 different game ticks the reactor is using no matter if you are using timers or sequencers. Build one and sync your machines to it, then remove the reactor and build it again and you will notice that it isn't in sync with your machines anymore. (20 BPS doesn't sound so bad anymore does it? )
Oh well, i am tired. I am sure that, with the information given, you will be able to find a way to make it work.