/** * Copyright (c) Lambda Innovation, 2013-2016 * This file is part of the AcademyCraft mod. * https://github.com/LambdaInnovation/AcademyCraft * Licensed under GPLv3, see project root for more information. */ package cn.academy.core; import cn.academy.core.event.ConfigModifyEvent; import cn.academy.terminal.app.settings.PropertyElements; import cn.academy.terminal.app.settings.SettingsUI; import cn.lambdalib.annoreg.core.Registrant; import cn.lambdalib.util.key.KeyHandler; import cn.lambdalib.util.key.KeyManager; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.config.Configuration; /** * @author WeAthFolD */ @SideOnly(Side.CLIENT) @Registrant public class ModuleCoreClient { public static KeyManager keyManager = new ACKeyManager(); public static KeyManager dynKeyManager = new KeyManager(); public static class ACKeyManager extends KeyManager { { MinecraftForge.EVENT_BUS.register(this); } @Override protected Configuration getConfig() { return AcademyCraft.config; } @SubscribeEvent public void onConfigModified(ConfigModifyEvent event) { if (event.property.isIntValue()) resetBindingKey(event.property.getName(), event.property.getInt()); } @Override public void addKeyHandler(String name, String keyDesc, int defKeyID, boolean global, KeyHandler handler) { super.addKeyHandler(name, keyDesc, defKeyID, global, handler); SettingsUI.addProperty(PropertyElements.KEY, "keys", name, defKeyID, false); } } }