@@ -0,0 +1,1207 @@
+package info.u_team.u_team_core.integration;%0A%0Aimport java.util.List;%0Aimport java.util.stream.Collectors;%0A%0Aimport org.apache.logging.log4j.*;%0Aimport org.objectweb.asm.Type;%0A%0Aimport info.u_team.u_team_core.api.integration.*;%0Aimport net.minecraftforge.fml.ModList;%0Aimport net.minecraftforge.forgespi.language.ModFileScanData.AnnotationData;%0A%0Apublic class IntegrationManager %7B%0A%09%0A%09private static final Logger LOGGER = LogManager.getLogger();%0A%09%0A%09public static void constructIntegrations(String modid) %7B%0A%09%09final Type type = Type.getType(Integration.class);%0A%09%09%0A%09%09final List%3CAnnotationData%3E annotations = ModList.get() //%0A%09%09%09%09.getModFileById(modid) //%0A%09%09%09%09.getFile() //%0A%09%09%09%09.getScanResult() //%0A%09%09%09%09.getAnnotations() //%0A%09%09%09%09.stream() //%0A%09%09%09%09.filter(data -%3E type.equals(data.getAnnotationType())) //%0A%09%09%09%09.collect(Collectors.toList());%0A%09%09%0A%09%09for (AnnotationData data : annotations) %7B%0A%09%09%09if (ModList.get().isLoaded((String) data.getAnnotationData().get(%22value%22))) %7B%0A%09%09%09%09try %7B%0A%09%09%09%09%09Class.forName(data.getMemberName()).asSubclass(IModIntegration.class).newInstance().construct();%0A%09%09%09%09%7D catch (Exception ex) %7B%0A%09%09%09%09%09LOGGER.error(%22Failed to load and construct integration : %7B%7D%22, data.getMemberName(), ex);%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%09%7D%0A%09%7D%0A%7D%0A

Add integration manager