33 lines
1.2 KiB
Java
33 lines
1.2 KiB
Java
package com.replaymod.replay;
|
|
|
|
import com.replaymod.core.AbstractTask;
|
|
import com.replaymod.replay.gui.screen.GuiReplayViewer;
|
|
import de.johni0702.minecraft.gui.function.Clickable;
|
|
import net.minecraftforge.client.event.RenderGameOverlayEvent;
|
|
import net.minecraftforge.common.MinecraftForge;
|
|
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
|
import org.lwjgl.util.Point;
|
|
import org.lwjgl.util.ReadableDimension;
|
|
|
|
public class LoadReplay extends AbstractTask {
|
|
@Override
|
|
protected void init() {
|
|
expectGui(GuiReplayViewer.class, replayViewer -> runLater(() -> {
|
|
ReadableDimension size = replayViewer.getMaxSize();
|
|
// Select first entry
|
|
replayViewer.forEach(Clickable.class).mouseClick(new Point(size.getWidth() / 2, 40), 0);
|
|
// Load first replay
|
|
click(replayViewer.loadButton);
|
|
|
|
class EventHandler {
|
|
@SubscribeEvent
|
|
public void onRenderIngame(RenderGameOverlayEvent.Pre event) {
|
|
MinecraftForge.EVENT_BUS.unregister(this);
|
|
runLater(() -> future.set(null));
|
|
}
|
|
}
|
|
MinecraftForge.EVENT_BUS.register(new EventHandler());
|
|
}));
|
|
}
|
|
}
|