package hunternif.mc.atlas.client; import hunternif.mc.atlas.AntiqueAtlasMod; import hunternif.mc.atlas.client.gui.GuiAtlas; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiScreen; 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.InputEvent; import org.lwjgl.input.Keyboard; import java.util.ArrayList; import java.util.List; public class KeyHandler { /** ID's of keys */ private static final int KEY_ATLAS = 0; /** List of bindings (at this moment with only one binding) */ private static List<KeyBinding> bindings = new ArrayList<>(1); public static void registerBindings() { // Initialisation of bindings bindings.add(KEY_ATLAS, new KeyBinding("key.openatlas.desc", Keyboard.KEY_M, "key.antiqueatlas.category")); // Registering all binding bindings.forEach(ClientRegistry::registerKeyBinding); } @SubscribeEvent(receiveCanceled = true) public void onKeyEvent(InputEvent.KeyInputEvent event) { if (bindings.get(KEY_ATLAS).isPressed()) { GuiScreen currentScreen = Minecraft.getMinecraft().currentScreen; if (currentScreen instanceof GuiAtlas) { ((GuiAtlas) currentScreen).close(); } else { AntiqueAtlasMod.proxy.openAtlasGUI(); } } } }