@Override
 public void updateKeyBindingTypes(EntityPlayer player) {
   if (player == null) return;
   Skill skill;
   for (int i = 0; i < PlayerSkills.get(player).skillBar.length; i++) {
     skill = PlayerSkills.get(player).skillBar[i];
     if (skill == null
         || skill.getChargeupTime(player) > 0
         || skill.getCooldownTime(player) > 0
         || skill.getDuration(player) > 0) SkillAPIKeyHandler.INSTANCE.setKeyBinding(i, false);
     else SkillAPIKeyHandler.INSTANCE.setKeyBinding(i, true);
   }
 }
 @Override
 public void loadSkillKeyBindings() {
   skillGuiKeyBinding =
       new KeyBinding(
           "key.skillGui",
           Keyboard.getKeyIndex(Character.toString(keys[0])),
           "key.categories.gui");
   SkillAPIKeyHandler.INSTANCE.addKeyBinding(skillGuiKeyBinding, false);
   for (int i = 1; i < keys.length; i++) {
     skillKeyBindings[i - 1] =
         new KeyBinding(
             "key.skill" + i,
             Keyboard.getKeyIndex(Character.toString(keys[i])),
             "key.categories.gameplay");
   }
   for (KeyBinding binding : skillKeyBindings) {
     SkillAPIKeyHandler.INSTANCE.addKeyBinding(binding, false);
   }
   for (KeyBinding key : SkillAPIKeyHandler.INSTANCE.keyBindings) {
     ClientRegistry.registerKeyBinding(key);
   }
   updateKeyBindingTypes(Minecraft.getMinecraft().thePlayer);
 }