Immersive Intelligence

Immersive Intelligence

2M Downloads

[BUG] Description of arithmetic logic machine variable references in manual is incorrect

Hawk777 opened this issue ยท 0 comments

commented

Describe the bug
The description of the arithmetic logic machine in the manual is subtly incorrect. The description contains this text, regarding an Accessor variable:

can get a value from variable from the received packet.

This is wrong. Actually, an Accessor gets the value most recently assigned to the variable, which is not the same thing if the variable has already been modified at least once (either because it is alphabetically lower than the current variable being assigned to or because the assignment was performed by an earlier circuit board).

You can see the difference by building a computer which performs the assignments b = NOT %a and c = NOT %b, and then sending a packet with a, b, and c all set to false. If the description in the book were correct, the result would be a packet with a false and b and c true. However, in reality the result is a packet with a and c false and b true, because the value of %b in the assignment to c is not the value of b in the received packet, it is the value most recently assigned to b within the machine.

IMO this behaviour is more useful since it allows one circuit board to do 36 chained operations rather than only 36 concurrent operations, so only the documentation should be changed.
Environment

  • OS: Linux
  • Minecraft version: 1.12.2
  • Forge version: 14.23.5.2854
  • Immersive Intelligence version: 0.1.1
  • Immersive Engineering version: 0.12-98