package org.ultramine.mods.permissions; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLServerStartedEvent; import cpw.mods.fml.common.event.FMLServerStartingEvent; import org.ultramine.core.permissions.Permissions; import org.ultramine.core.service.InjectService; import org.ultramine.core.service.ServiceManager; import org.ultramine.permission.IPermissionManager; import org.ultramine.permission.PermissionRepository; import org.ultramine.permission.commands.BasicPermissionCommands; import org.ultramine.permission.internal.ServerPermissionManager; import org.ultramine.server.ConfigurationHandler; @Mod(modid = "UM-Permissions", name = "UltraMine Permissions", version = "@version@", acceptableRemoteVersions = "*") public class UmPermissionsMod { @InjectService private static ServiceManager services; @InjectService private static IPermissionManager perms; @Mod.EventHandler public void init(FMLInitializationEvent e) { } @Mod.EventHandler public void serverStarting(FMLServerStartingEvent e) { IPermissionManager mgr = new ServerPermissionManager(ConfigurationHandler.getSettingDir(), new PermissionRepository()); services.register(IPermissionManager.class, mgr, 0); services.register(Permissions.class, new PermissionsService(), 1000); e.registerCommands(BasicPermissionCommands.class); } @Mod.EventHandler public void serverStarted(FMLServerStartedEvent e) { perms.reload(); } }