36 lines
1.0 KiB
Java
36 lines
1.0 KiB
Java
package com.replaymod.replay;
|
|
|
|
import com.replaymod.core.mixin.MinecraftAccessor;
|
|
import com.replaymod.core.mixin.TimerAccessor;
|
|
import net.minecraft.client.MinecraftClient;
|
|
|
|
import static com.replaymod.core.versions.MCVer.getMinecraft;
|
|
|
|
public interface ReplaySender {
|
|
int currentTimeStamp();
|
|
|
|
/**
|
|
* Whether the replay is currently paused.
|
|
* @return {@code true} if it is paused, {@code false} otherwise
|
|
*/
|
|
public default boolean paused() {
|
|
MinecraftClient mc = getMinecraft();
|
|
TimerAccessor timer = (TimerAccessor) ((MinecraftAccessor) mc).getTimer();
|
|
//#if MC>=11200
|
|
return timer.getTickLength() == Float.POSITIVE_INFINITY;
|
|
//#else
|
|
//$$ return timer.getTimerSpeed() == 0;
|
|
//#endif
|
|
}
|
|
|
|
void setReplaySpeed(double factor);
|
|
double getReplaySpeed();
|
|
|
|
boolean isAsyncMode();
|
|
void setAsyncMode(boolean async);
|
|
void setSyncModeAndWait();
|
|
|
|
void jumpToTime(int value); // async
|
|
void sendPacketsTill(int replayTime); // sync
|
|
}
|