12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package me.km.networking;
- import net.minecraft.client.settings.KeyBinding;
- import net.minecraftforge.fml.client.registry.ClientRegistry;
- import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
- import net.minecraftforge.fml.common.gameevent.TickEvent;
- import net.minecraftforge.fml.relauncher.Side;
- import net.minecraftforge.fml.relauncher.SideOnly;
- import org.lwjgl.input.Keyboard;
- @SideOnly(Side.CLIENT)
- public class KeyManager
- {
- private KeyBinding[] functionKeys;
-
- public KeyManager()
- {
- functionKeys = new KeyBinding[9];
- functionKeys[0] = register(1, Keyboard.KEY_G);
- functionKeys[1] = register(2, Keyboard.KEY_H);
- functionKeys[2] = register(3, Keyboard.KEY_J);
- functionKeys[3] = register(4, Keyboard.KEY_K);
- functionKeys[4] = register(5, Keyboard.KEY_V);
- functionKeys[5] = register(6, Keyboard.KEY_B);
- functionKeys[6] = register(7, Keyboard.KEY_N);
- functionKeys[7] = register(8, Keyboard.KEY_M);
- functionKeys[8] = register(9, Keyboard.KEY_COMMA);
- }
-
- private KeyBinding register(int id, int key)
- {
- KeyBinding keyBind = new KeyBinding("key.function." + id, key, "key.km.function");
- ClientRegistry.registerKeyBinding(keyBind);
- return keyBind;
- }
-
- private int getFirstPressedKey()
- {
- for(int i = 0; i < 9; i++)
- {
- if(functionKeys[i].isPressed())
- {
- return i + 1;
- }
- }
- return -1;
- }
-
- @SubscribeEvent
- public void onRenderGui(TickEvent.ClientTickEvent e)
- {
- int key = getFirstPressedKey();
- if(key != -1)
- {
- ModPacketHandler.sendFunctionKey(key);
- }
- }
- }
|