ManagerBlockEntity.serverTick() invokes Program.tick(ManagerBlockEntity) every server tick.
Inside Program.tick(ManagerBlockEntity), ProgramContext is currently constructed before trigger evaluation:
var context = new ProgramContext(this, manager, new ExecuteProgramBehaviour());
...
tick(context);
ProgramContext performs cable-network lookup/registration and loads label positions before TimerTrigger.shouldTick() or RedstoneTrigger.shouldTick() can determine that nothing will run.
For a program such as:
that setup occurs on 19 of every 20 ticks without producing work. The manager’s recorded execution time also does not fully expose this cost because timing history is updated only when program.tick() reports that something happened. This contributes to the diagnostic mismatch described in #279
ManagerBlockEntity.serverTick()invokesProgram.tick(ManagerBlockEntity)every server tick.Inside
Program.tick(ManagerBlockEntity),ProgramContextis currently constructed before trigger evaluation:ProgramContextperforms cable-network lookup/registration and loads label positions beforeTimerTrigger.shouldTick()orRedstoneTrigger.shouldTick()can determine that nothing will run.For a program such as:
that setup occurs on 19 of every 20 ticks without producing work. The manager’s recorded execution time also does not fully expose this cost because timing history is updated only when
program.tick()reports that something happened. This contributes to the diagnostic mismatch described in #279