/**
* 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.terminal.registry;
import cn.academy.terminal.App;
import cn.academy.terminal.AppRegistry;
import cn.academy.terminal.registry.AppRegistration.RegApp;
import cn.lambdalib.annoreg.base.RegistrationFieldSimple;
import cn.lambdalib.annoreg.core.LoadStage;
import cn.lambdalib.annoreg.core.RegistryTypeDecl;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@RegistryTypeDecl
public class AppRegistration extends RegistrationFieldSimple<RegApp, App> {
public AppRegistration() {
super(RegApp.class, "ac_App");
setLoadStage(LoadStage.PRE_INIT);
}
/**
* Register an App field into AppRegistry.
* @author WeAthFolD
*/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public static @interface RegApp {}
@Override
protected void register(App value, RegApp anno, String field)
throws Exception {
AppRegistry.register(value);
}
}