/**
* 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.registry;
import cn.academy.core.ModuleCoreClient;
import cn.lambdalib.annoreg.base.RegistrationFieldSimple;
import cn.lambdalib.annoreg.core.LoadStage;
import cn.lambdalib.annoreg.core.RegistryTypeDecl;
import cn.lambdalib.util.key.KeyHandler;
import cn.lambdalib.util.key.KeyManager;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
/**
* @author WeAthFolD
*
*/
@RegistryTypeDecl
@SideOnly(Side.CLIENT)
public class KeyHandlerRegistration extends RegistrationFieldSimple<RegACKeyHandler, KeyHandler> {
public KeyHandlerRegistration() {
super(RegACKeyHandler.class, "ACKeyHandler");
setLoadStage(LoadStage.INIT);
}
@Override
protected void register(KeyHandler value, RegACKeyHandler anno, String field)
throws Exception {
KeyManager target = anno.dynamic() ? ModuleCoreClient.dynKeyManager : ModuleCoreClient.keyManager;
target.addKeyHandler(anno.name(), anno.desc(), anno.defaultKey(), value);
}
}