Harmonizing those offsets!
LadyCailinBot opened this issue ยท 3 comments
CRAFTBOOK-2464 - Reported by pmpmpm
Hi,
Actually pretty much each IC has its own offset system. This one will use server coordinates, this one will create its own axes, this one will only use the Y axis, this one will use only one of the 3 server axes... Some even have a limited distance, other not.
It's so much fun.
Some funny examples:
- MC1204 Damager uses offsets as Radius=OffsetX:OffsetY:OffsetZ (Me4502 Edit: Fixed)
- MC1112 Teleport Transmitter is the same but the wiki says "Max offset 16". What the hell does that mean? My center of detection can't be more than 16? The door won't teleport a player 17 blocks away or more from the IC? And now: "You can use different radius for different axes by putting three radius values separated by a "," instead of a single radius."... What does that mean? Will it create 3 spheres of detection, each one on a separate axis? Or will the detection be the cross of all the spheres?
- MC1207 Flexible Set Block now uses a totally different offset writing. It will be something like [Axis+-#], and you can put only one axis, for example Z-15 to put a block 15 blocks away from the IC block. Blocky.
- MC1208 Multiple Set Block. The number is very close to its predecessor, the names are very close too, so of course the offset system is totally different. We go back to something like OffsetX:OffsetY:OffsetZ (for example +2:-3:+9) but this time, it's BEFORE the data! Previously, you had to put the radius, the data, before the offset. Now you have to put the data on this line (the block ID for this IC) after the offset.
- MC1211 and MC1212 SetBridge and SetDoor (double shot!): The offset is still before the data (in this case the data is the length and width), but now we have an optional axis to put. You can either say what your Z offset is or not, it works fine.
- MC1260 and MC1261 Water Sensor and Lava Sensor (double double shot!). Now we have two optional axes: X and Z. The syntax is Radius=OffsetX:OffsetY:OffsetZ or Radius=OffsetY.
- MC1263 Block Sensor: Only an Y offset.
- MC1266 Power Sensor: Either an Y offset, or a Radius=OffsetY, or even a Radius=OffsetX:OffsetY:OffsetZ.
- MC1271 Entity Sensor is one of the funniest. The offset syntax is Radius=OffsetX:OffsetY:OffsetZ. No problem here. But those X, Y and Z aren't the ones of the server! It's in fact, by default, axes relative to the IC. So the X goes at right of the IC block (when looking at the IC), the Y goes up and the Z axis goes behind the IC block. So, unless you were lucky when orientating your IC, you will have to put a & character before the offset if you want to use the server axes. So the new syntax is Radius=&OffsetX:OffsetY:OffsetZ.
-...
I didn't put it in, but the offset is either on the third or fourth line.
As you can see, there's a lot of different offset systems. Unless it's technically necessary to do so, I think it should be harmonized in ordet not to have to go to the wiki every 5 minutes when doing a circuit because you don't remember how the offset is used, or if there is restrictions, or optional things, or so. /ic docs don't always tell it... Well, nor does the wiki, in fact.
So it leads to a lot of testing, wrong conclusions, and so.
What do you think of it? Is it possible/easy/long to rework this? Or am I just a lone idiot in this situation?