Get recording and replay working
This commit is contained in:
@@ -1,23 +1,20 @@
|
||||
package com.replaymod.extras.advancedscreenshots;
|
||||
|
||||
import com.replaymod.core.ReplayMod;
|
||||
import com.replaymod.core.versions.MCVer;
|
||||
import com.replaymod.extras.Extra;
|
||||
import com.replaymod.replay.events.ReplayDispatchKeypressesEvent;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.GuiControls;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
|
||||
//#if MC>=11300
|
||||
import com.replaymod.core.versions.MCVer.Keyboard;
|
||||
import net.minecraftforge.client.event.GuiScreenEvent;
|
||||
//#else
|
||||
//#if MC<11300
|
||||
//$$ import com.replaymod.core.versions.MCVer;
|
||||
//$$ import com.replaymod.replay.events.ReplayDispatchKeypressesEvent;
|
||||
//$$ import net.minecraft.client.Minecraft;
|
||||
//$$ import net.minecraft.client.gui.GuiControls;
|
||||
//$$ import net.minecraftforge.client.event.GuiScreenEvent;
|
||||
//$$ import org.lwjgl.input.Keyboard;
|
||||
//#endif
|
||||
|
||||
//#if MC>=10800
|
||||
//#if MC>=11300
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
//#else
|
||||
//$$ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
//#endif
|
||||
@@ -29,30 +26,36 @@ public class AdvancedScreenshots implements Extra {
|
||||
|
||||
private ReplayMod mod;
|
||||
|
||||
private final Minecraft mc = MCVer.getMinecraft();
|
||||
|
||||
@Override
|
||||
public void register(ReplayMod mod) throws Exception {
|
||||
public void register(ReplayMod mod) {
|
||||
this.mod = mod;
|
||||
MinecraftForge.EVENT_BUS.register(this);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onDispatchKeypresses(ReplayDispatchKeypressesEvent.Pre event) {
|
||||
if (mc.currentScreen instanceof GuiControls) return;
|
||||
//#if MC>=11300
|
||||
// FIXME
|
||||
//#else
|
||||
//$$ if (!Keyboard.getEventKeyState()) return;
|
||||
//$$ if (Keyboard.isRepeatEvent()) return;
|
||||
//$$ int keyCode = Keyboard.getEventKey() == 0 ? Keyboard.getEventCharacter() : Keyboard.getEventKey();
|
||||
//$$ if (keyCode == 0 || keyCode != mc.gameSettings.keyBindScreenshot.getKeyCode()) return;
|
||||
//#endif
|
||||
//#if MC>=11300
|
||||
private static AdvancedScreenshots instance; { instance = this; }
|
||||
public static void take() {
|
||||
if (instance != null) {
|
||||
instance.takeScreenshot();
|
||||
}
|
||||
}
|
||||
//#else
|
||||
//$$ @SubscribeEvent
|
||||
//$$ public void onDispatchKeypresses(ReplayDispatchKeypressesEvent.Pre event) {
|
||||
//$$ Minecraft mc = MCVer.getMinecraft();
|
||||
//$$ if (mc.currentScreen instanceof GuiControls) return;
|
||||
//$$ if (!Keyboard.getEventKeyState()) return;
|
||||
//$$ if (Keyboard.isRepeatEvent()) return;
|
||||
//$$ int keyCode = Keyboard.getEventKey() == 0 ? Keyboard.getEventCharacter() : Keyboard.getEventKey();
|
||||
//$$ if (keyCode == 0 || keyCode != mc.gameSettings.keyBindScreenshot.getKeyCode()) return;
|
||||
//$$
|
||||
//$$ takeScreenshot();
|
||||
//$$
|
||||
//$$ event.setCanceled(true);
|
||||
//$$ }
|
||||
//#endif
|
||||
|
||||
ReplayMod.instance.runLater(() -> {
|
||||
new GuiCreateScreenshot(mod).display();
|
||||
});
|
||||
|
||||
event.setCanceled(true);
|
||||
private void takeScreenshot() {
|
||||
ReplayMod.instance.runLater(() -> new GuiCreateScreenshot(mod).display());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user