Add option to process multiple render queues in on go (closes #349)

This commit is contained in:
Jonas Herzig
2020-09-05 14:52:40 +02:00
parent fcd1224fa0
commit e5c0ca501b
4 changed files with 127 additions and 19 deletions

View File

@@ -30,6 +30,7 @@ public abstract class AbstractTimelinePlayer extends EventRegistrations {
private final ReplayHandler replayHandler;
private Timeline timeline;
protected long startOffset;
private boolean wasAsyncMode;
private long lastTime;
private long lastTimestamp;
private ListenableFuture<Void> future;
@@ -69,6 +70,7 @@ public abstract class AbstractTimelinePlayer extends EventRegistrations {
}.max(iter).getTime();
}
wasAsyncMode = replayHandler.getReplaySender().isAsyncMode();
replayHandler.getReplaySender().setSyncModeAndWait();
register();
lastTime = 0;
@@ -103,7 +105,9 @@ public abstract class AbstractTimelinePlayer extends EventRegistrations {
MinecraftAccessor mcA = (MinecraftAccessor) mc;
mcA.setTimer(((ReplayTimer) mcA.getTimer()).getWrapped());
replayHandler.getReplaySender().setReplaySpeed(0);
replayHandler.getReplaySender().setAsyncMode(true);
if (wasAsyncMode) {
replayHandler.getReplaySender().setAsyncMode(true);
}
unregister();
return;
}