Skip to content

Plugin Manager

The PluginManager is a class that is used to manage plugins in the Mint Client. It is located in the com.originmint.managers.PluginManager class.

The PluginManager exposes the PLUGIN_EVENT_BUS field (com.originmint.plugin.eventbus.PluginEventBus) for event registration.

Use this in your IPlugin lifecycle methods:

@Override
public void onEnable() {
  PluginManager.getInstance().PLUGIN_EVENT_BUS.register(this);
}

@Override
public void onDisable() {
  PluginManager.getInstance().PLUGIN_EVENT_BUS.unregister(this);
}

You can also register separate listener objects instead of this:

FishingListener fishingListener = new FishingListener();

@Override
public void onEnable() {
  PluginManager.getInstance().PLUGIN_EVENT_BUS.register(fishingListener);
}

@Override
public void onDisable() {
  PluginManager.getInstance().PLUGIN_EVENT_BUS.unregister(fishingListener);
}

At runtime, the client also uses PluginManager to:

  • refresh metadata (updatePlugins / getPlugins)
  • load artifacts (loadPlugin)
  • toggle lifecycle (enablePlugin, disablePlugin, unloadPlugin)
  • persist plugin settings (exportPluginSettingsJson, importPluginSettingsJson)