if (tick == -1) { wantedTick = 0; startNewTick(0); startNewTick(upcomingTick); if (wantedTick < upcomingTick) { return LoopController.Command.AGAIN;
if (tick == -1) { wantedTick = 0; startNewTick(0); startNewTick(upcomingTick); if (wantedTick < upcomingTick) { return LoopController.Command.AGAIN;
@Override public LoopController.Command doLoopControl(int nextTickWithData) throws Exception { upcomingTick = nextTickWithData; ResetStep step = resetSteps.peekFirst(); switch (step.command) { case CONTINUE: resetSteps.pollFirst(); source.setPosition(step.offset); return step.command; case RESET_FORWARD: if (wantedTick >= upcomingTick) { return LoopController.Command.FALLTHROUGH; } resetSteps.pollFirst(); return LoopController.Command.AGAIN; case RESET_COMPLETE: resetSteps = null; loopController.controllerFunc = normalLoopControl; tick = wantedTick - 1; startNewTick(upcomingTick); return LoopController.Command.RESET_COMPLETE; default: resetSteps.pollFirst(); return step.command; } } };
@Override public LoopController.Command doLoopControl(int nextTickWithData) throws Exception { upcomingTick = nextTickWithData; ResetStep step = resetSteps.peekFirst(); switch (step.command) { case CONTINUE: resetSteps.pollFirst(); source.setPosition(step.offset); return step.command; case RESET_FORWARD: if (wantedTick >= upcomingTick) { return LoopController.Command.FALLTHROUGH; } resetSteps.pollFirst(); return LoopController.Command.AGAIN; case RESET_COMPLETE: resetSteps = null; loopController.controllerFunc = normalLoopControl; tick = wantedTick - 1; startNewTick(upcomingTick); return LoopController.Command.RESET_COMPLETE; default: resetSteps.pollFirst(); return step.command; } } };