Added Keybindings for custom actions (Thumbnail and Lighting)

This commit is contained in:
Marius Metzger
2015-01-26 17:20:55 +01:00
parent 8c2cf9011e
commit d31180654f
8 changed files with 171 additions and 39 deletions

View File

@@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.List;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiChat;
import net.minecraft.client.gui.GuiDisconnected;
@@ -14,6 +15,7 @@ import net.minecraft.client.gui.GuiVideoSettings;
import net.minecraft.client.gui.inventory.GuiInventory;
import net.minecraft.client.resources.I18n;
import net.minecraft.client.settings.GameSettings.Options;
import net.minecraftforge.client.GuiIngameForge;
import net.minecraftforge.client.event.GuiOpenEvent;
import net.minecraftforge.client.event.GuiScreenEvent.ActionPerformedEvent;
import net.minecraftforge.client.event.GuiScreenEvent.InitGuiEvent;
@@ -23,6 +25,8 @@ import eu.crushedpixel.replaymod.gui.GuiReplaySaving;
import eu.crushedpixel.replaymod.gui.GuiReplaySettings;
import eu.crushedpixel.replaymod.gui.replaymanager.GuiReplayManager;
import eu.crushedpixel.replaymod.gui.replaymanager.ResourceHelper;
import eu.crushedpixel.replaymod.registry.ReplayGuiRegistry;
import eu.crushedpixel.replaymod.renderer.SafeEntityRenderer;
import eu.crushedpixel.replaymod.replay.ReplayHandler;
public class GuiEventHandler {
@@ -102,12 +106,13 @@ public class GuiEventHandler {
mc.displayGuiScreen(new GuiReplaySettings(event.gui));
}
if(ReplayHandler.isReplaying() && event.gui instanceof GuiIngameMenu && event.button.id == 1) {
if(ReplayHandler.replayActive() && event.gui instanceof GuiIngameMenu && event.button.id == 1) {
event.button.enabled = false;
Thread t = new Thread(new Runnable() {
@Override
public void run() {
mc.displayGuiScreen(new GuiReplaySaving(new GuiMainMenu()));
public void run() {
//mc.displayGuiScreen(new GuiReplaySaving(new GuiMainMenu()));
ReplayHandler.setSpeed(1f);
ReplayHandler.endReplay();
@@ -115,6 +120,8 @@ public class GuiEventHandler {
ReplayHandler.lastExit = System.currentTimeMillis();
mc.theWorld.sendQuittingDisconnectingPacket();
ReplayGuiRegistry.show();
}
});
t.run();

View File

@@ -42,6 +42,7 @@ import eu.crushedpixel.replaymod.holders.Position;
import eu.crushedpixel.replaymod.holders.PositionKeyframe;
import eu.crushedpixel.replaymod.holders.TimeKeyframe;
import eu.crushedpixel.replaymod.reflection.MCPNames;
import eu.crushedpixel.replaymod.registry.ReplayGuiRegistry;
import eu.crushedpixel.replaymod.replay.ReplayHandler;
import eu.crushedpixel.replaymod.replay.ReplayProcess;
import eu.crushedpixel.replaymod.screenshot.ReplayScreenshot;
@@ -135,21 +136,10 @@ public class GuiReplayOverlay extends Gui {
@SubscribeEvent
public void onRenderGui(RenderGameOverlayEvent.Post event) throws IllegalArgumentException, IllegalAccessException {
if(!ReplayHandler.replayActive()) {
GuiIngameForge.renderExperiance = true;
GuiIngameForge.renderArmor = true;
GuiIngameForge.renderAir = true;
GuiIngameForge.renderHealth = true;
GuiIngameForge.renderHotbar = true;
GuiIngameForge.renderFood = true;
GuiIngameForge.renderBossHealth = true;
GuiIngameForge.renderCrosshairs = true;
GuiIngameForge.renderHelmet = true;
GuiIngameForge.renderPortal = true;
GuiIngameForge.renderHealthMount = true;
GuiIngameForge.renderJumpBar = true;
GuiIngameForge.renderObjective = true;
return;
}
ReplayGuiRegistry.hide();
if(event.type == ElementType.PLAYER_LIST) {
if(event.isCancelable()) {
@@ -157,20 +147,6 @@ public class GuiReplayOverlay extends Gui {
}
return;
}
GuiIngameForge.renderExperiance = false;
GuiIngameForge.renderArmor = false;
GuiIngameForge.renderAir = false;
GuiIngameForge.renderHealth = false;
GuiIngameForge.renderHotbar = false;
GuiIngameForge.renderFood = false;
GuiIngameForge.renderBossHealth = false;
GuiIngameForge.renderCrosshairs = false;
GuiIngameForge.renderHelmet = false;
GuiIngameForge.renderPortal = false;
GuiIngameForge.renderHealthMount = false;
GuiIngameForge.renderJumpBar = false;
GuiIngameForge.renderObjective = false;
GL11.glEnable(GL11.GL_BLEND);
drawBlockOutline.set(Minecraft.getMinecraft().entityRenderer, false);
@@ -829,10 +805,6 @@ public class GuiReplayOverlay extends Gui {
return;
}
if(Keyboard.isKeyDown(Keyboard.KEY_V) && !Keyboard.isRepeatEvent()) {
ReplayMod.replaySettings.setLightingEnabled(!ReplayMod.replaySettings.isLightingEnabled());
}
KeyBinding[] keyBindings = Minecraft.getMinecraft().gameSettings.keyBindings;
for(KeyBinding kb : keyBindings) {
if(!kb.isKeyDown()) {
@@ -875,11 +847,18 @@ public class GuiReplayOverlay extends Gui {
continue;
}
//TODO: Register key handlers
if(kb.getKeyDescription().equals("key.screenshot") && kb.isPressed()) {
//Custom registered handlers
if(kb.getKeyDescription().equals("key.thumbnail") && kb.isPressed()) {
ReplayScreenshot.prepareScreenshot();
requestScreenshot = true;
continue;
}
if(kb.getKeyDescription().equals("key.lighting") && kb.isPressed()) {
ReplayMod.replaySettings.setLightingEnabled(!ReplayMod.replaySettings.isLightingEnabled());
continue;
}
} catch(Exception e) {
e.printStackTrace();
}