using Network;
using Newtonsoft.Json;
namespace Oxide.Plugins
{
[Info("Server Say Prefix", "beee", "0.0.1")]
class ServerSayPrefix : RustPlugin
{
private PluginConfig _config;
const string DefaultServerSayPrefix = "SERVER ";
private void OnBroadcastCommand(string command, object[] args)
{
if ((command != "chat.add") || args.Length < 3 || !args[2].ToString().StartsWith(DefaultServerSayPrefix))
return;
args[2] = args[2].ToString().Replace(DefaultServerSayPrefix, _config.ServerSayPrefix);
}
#region Config
private class PluginConfig
{
[JsonProperty("New Server Say Prefix")]
public string ServerSayPrefix { get; set; }
}
private PluginConfig GetDefaultConfig()
{
PluginConfig result = new PluginConfig
{
ServerSayPrefix = "Server Name: ",
};
return result;
}
private void CheckForConfigUpdates()
{
bool changes = false;
if (_config == null)
{
PluginConfig tmpDefaultConfig = GetDefaultConfig();
_config = tmpDefaultConfig;
changes = true;
}
if (changes)
{
PrintWarning("Config updated");
SaveConfig();
}
}
protected override void LoadDefaultConfig() => _config = GetDefaultConfig();
protected override void LoadConfig()
{
base.LoadConfig();
_config = Config.ReadObject();
CheckForConfigUpdates();
}
protected override void SaveConfig()
{
Config.WriteObject(_config);
}
#endregion
}
}