64 lines
1.9 KiB
Java
64 lines
1.9 KiB
Java
package com.replaymod.extras.advancedscreenshots;
|
|
|
|
import com.replaymod.core.ReplayMod;
|
|
import com.replaymod.extras.Extra;
|
|
|
|
//#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 net.minecraftforge.common.MinecraftForge;
|
|
//$$ import org.lwjgl.input.Keyboard;
|
|
//#endif
|
|
|
|
//#if MC>=10800
|
|
//#if MC>=11300
|
|
//#else
|
|
//$$ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
|
//#endif
|
|
//#else
|
|
//$$ import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
|
//#endif
|
|
|
|
public class AdvancedScreenshots implements Extra {
|
|
|
|
private ReplayMod mod;
|
|
|
|
@Override
|
|
public void register(ReplayMod mod) {
|
|
this.mod = mod;
|
|
//#if MC<11300
|
|
//$$ MinecraftForge.EVENT_BUS.register(this);
|
|
//#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
|
|
|
|
private void takeScreenshot() {
|
|
ReplayMod.instance.runLater(() -> new GuiCreateScreenshot(mod).display());
|
|
}
|
|
}
|