public static bool ReplacePlugin(BasePlugin oldPlugin, BasePlugin newPlugin, bool saveState = true) { lock (_plugins) { string oldName = oldPlugin.Name.ToLower().Trim(); if (oldPlugin.ReplaceWith(newPlugin, saveState)) { string newName = newPlugin.Name.ToLower().Trim(); if (_plugins.ContainsKey(oldName)) { _plugins.Remove(oldName); } _plugins.Add(newName, newPlugin); return(true); } else if (oldPlugin.IsDisposed) { if (_plugins.ContainsKey(oldName)) { _plugins.Remove(oldName); } } } return(false); }