public void loadPluginFile(final File jar) {
	
		try {
			
			final JarFile jarFile = new JarFile(jar);
			
			final JarEntry jarEntry = jarFile.getJarEntry("plugin.prop");
			
			final InputStream is = jarFile.getInputStream(jarEntry);
			
			final Properties prop = new Properties();
			
			final URL urls = jar.toURI().toURL();
			
			prop.load(is);
			
			final String main = prop.getProperty("main");
			
			final String name = prop.getProperty("name");
			
			if (main == "" || name == "") {
				throw new Exception("Your plugin did not contain a name or a main in plugin.prop");
			}
			
			final Class<?> jarClass = Class.forName(main, true, new JARClassLoader(new URL[] {urls}, getClass().getClassLoader()));
			
			final Class<? extends Plugin> plugin = jarClass.asSubclass(Plugin.class);
			
			final Constructor<? extends Plugin> constructor = plugin.getConstructor();
			
			final Plugin result = constructor.newInstance();
			
			result.init(pluginManager, name, main);
			
			pluginManager.enablePlugin(result, name);
			
		} catch (final Exception e) {
			e.printStackTrace();
			log.info(e.getStackTrace().toString());
		}
		
	}