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

@@ -0,0 +1,24 @@
package eu.crushedpixel.replaymod.registry;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import net.minecraft.client.Minecraft;
import net.minecraft.client.settings.KeyBinding;
import org.lwjgl.input.Keyboard;
public class KeybindRegistry {
private static Minecraft mc = Minecraft.getMinecraft();
public static void initialize() {
List<KeyBinding> bindings = new ArrayList<KeyBinding>(Arrays.asList(mc.gameSettings.keyBindings));
bindings.add(new KeyBinding("key.lighting", Keyboard.KEY_V, "category.replaymod"));
bindings.add(new KeyBinding("key.thumbnail", Keyboard.KEY_B, "category.replaymod"));
mc.gameSettings.keyBindings = bindings.toArray(new KeyBinding[bindings.size()]);
}
}

View File

@@ -0,0 +1,75 @@
package eu.crushedpixel.replaymod.registry;
import java.lang.reflect.Field;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.EntityRenderer;
import net.minecraftforge.client.GuiIngameForge;
public class ReplayGuiRegistry {
private static Field renderHand;
private static Minecraft mc = Minecraft.getMinecraft();
public static boolean hidden = false;
static {
try {
renderHand = EntityRenderer.class.getDeclaredField("renderHand"); //TODO: MCPNames
renderHand.setAccessible(true);
} catch(Exception e) {
e.printStackTrace();
}
}
public static void hide() {
if(hidden) 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;
try {
renderHand.set(mc.entityRenderer, false);
} catch(Exception e) {
e.printStackTrace();
}
hidden = true;
}
public static void show() {
mc.gameSettings.hideGUI = false;
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;
try {
renderHand.set(mc.entityRenderer, true);
} catch(Exception e) {
e.printStackTrace();
}
hidden = false;
}
}