package net.minecraft.client.settings; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import net.minecraft.util.IntHashMap; @SideOnly(Side.CLIENT) public class KeyBinding { public static List keybindArray = new ArrayList(); public static IntHashMap hash = new IntHashMap(); public String keyDescription; public int keyCode; /** because _303 wanted me to call it that(Caironater) */ public boolean pressed; public int pressTime = 0; public static void onTick(int par0) { KeyBinding keybinding = (KeyBinding)hash.lookup(par0); if (keybinding != null) { ++keybinding.pressTime; } } public static void setKeyBindState(int par0, boolean par1) { KeyBinding keybinding = (KeyBinding)hash.lookup(par0); if (keybinding != null) { keybinding.pressed = par1; } } public static void unPressAllKeys() { Iterator iterator = keybindArray.iterator(); while (iterator.hasNext()) { KeyBinding keybinding = (KeyBinding)iterator.next(); keybinding.unpressKey(); } } public static void resetKeyBindingArrayAndHash() { hash.clearMap(); Iterator iterator = keybindArray.iterator(); while (iterator.hasNext()) { KeyBinding keybinding = (KeyBinding)iterator.next(); hash.addKey(keybinding.keyCode, keybinding); } } public KeyBinding(String par1Str, int par2) { this.keyDescription = par1Str; this.keyCode = par2; keybindArray.add(this); hash.addKey(par2, this); } public boolean isPressed() { if (this.pressTime == 0) { return false; } else { --this.pressTime; return true; } } private void unpressKey() { this.pressTime = 0; this.pressed = false; } }