Basic dependencies were added to Bukkit a few weeks ago and they should work now, with the latest CraftBukkit. You can use the feature by adding a depend field to your plugin.yml. Example This is the "library" plugin's plugin.yml Code: name: Some Library Plugin main: com.raphfrk.bukkit.unloadtest.somelibraryplugin version: 123 This is the "client" plugin's plugin.yml Code: name: Some Client Plugin main: com.raphfrk.bukkit.serverport.someclientplugin version: 99 depend: - Some Library Plugin Note: It is also "apparently" possible to use single lines for the depend array. Isn't yml great . Code: name: Some Client Plugin main: com.raphfrk.bukkit.serverport.someclientplugin version: 99 depend: [Some Library Plugin] The effect is that before it loads the a plugin, it verifies that all required plugins are loaded. If a required plugin isn't loaded, it skips the plugin. It keeps attempting to load the plugins until either all remaining plugins are missing dependencies or all plugins have been loaded. Also, the most up to date version of CraftBukkit will scan for classes in all loaded plugins if it can't find it in the local class loader.