public boolean tearDown() {
    /*
    List<MultiverseWorld> worlds = new ArrayList<MultiverseWorld>(core.getMVWorldManager()
            .getMVWorlds());
    for (MultiverseWorld world : worlds) {
        core.getMVWorldManager().deleteWorld(world.getName());
    }
    */

    Server maybeNullServer = getServer();
    PluginManager maybeNullPluginManager = maybeNullServer.getPluginManager();
    Plugin plugin = maybeNullPluginManager.getPlugin("Multiverse-Inventories");
    // Plugin plugin = getServer().getPluginManager().getPlugin("Multiverse-Inventories");
    MultiverseInventories inventories = (MultiverseInventories) plugin;
    inventories.onDisable();

    MockWorldFactory.clearWorlds();

    plugin = getServer().getPluginManager().getPlugin("Multiverse-Core");
    MultiverseCore core = (MultiverseCore) plugin;
    core.onDisable();

    try {
      Field serverField = Bukkit.class.getDeclaredField("server");
      serverField.setAccessible(true);
      serverField.set(Class.forName("org.bukkit.Bukkit"), null);
    } catch (Exception e) {
      Util.log(
          Level.SEVERE,
          "Error while trying to unregister the server from Bukkit. Has Bukkit changed?");
      e.printStackTrace();
      Assert.fail(e.getMessage());
      return false;
    }

    return true;
  }