Познавательно выходит. Забыл про этот кусок кода:
if (this.updateTicker++ % this.getTickRate() != 0) {
return;
}
Таки да.
Интересный момент, всякий раз updateTimer инициализируется не нулем, а псевдослучайным числом в диапазоне от 0 до 20. Из этого следует что первый реакторный тик случайно происходит.