public static void loadPlugin(File dir) throws SlickException, ClassNotFoundException, FileNotFoundException, IOException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException{
		Class<Plugin> plugin = null;
		Properties properties = new Properties();
		List<String> files = Arrays.asList(dir.list());
		if(files.contains("res")){
			File f = new File(dir.getPath() + dir.separatorChar + "res");
			GraphicsLoader.loadResources(f, dir.getName());
		}
		for(File f : dir.listFiles()){
			if(f.getName().equals("bin") && f.isDirectory()){
				URL[] ul = {f.toURL()};
				URLClassLoader loader = new URLClassLoader(ul, ClassLoader.getSystemClassLoader());
				plugin = loadBinaries(f, dir.getName(), loader);
			}
			if(f.getName().equals("dat") && f.isDirectory()){
				loadData(f, dir.getName());
			}
			if(FileType.plugin_info.isType(f) && f.isFile()){
				properties.load(new FileInputStream(f));
			}
		}
		Plugin initializedPlugin = plugin.getConstructor(Properties.class).newInstance(properties);
		initializedPlugin.load();
		loadedPlugins.add(initializedPlugin);
	}