using Synapse.Api.Plugin;
using Synapse.Translation;
Description = "My First Awesome Plugin",
Version = "v.1.0.0" //The Current Version of your Plugin
public class PluginClass : AbstractPlugin
[Config(section = "FirstPlugin")]
public static PluginConfig Config { get; set; } //It doesn't have to be static but it made it easier to access
public static new SynapseTranslation<PluginTranslation> Translation { get; set; }
public override void Load()
Logger.Get.Info("Hello World");
PluginTranslation.AddTranslation(new PluginTranslation()); // This Creates the default Translation for English
PluginTranslation.AddTranslation(new PluginTranslation
Broadcast = "Ein Spieler hat den Server Verlassen"
SynapseController.Server.Events.Player.PlayerLeaveEvent += OnLeave;
public void OnLeave(Synapse.Api.Events.SynapseEventArguments.PlayerLeaveEventArgs ev)
Map.Get.SendBroadcast(Config.broadcastTime, Translation.ActiveTranslation.Broadcast);
public class PluginConfig : AbstractConfigSection
[Description("How long the Broadcast should be shown")]
public ushort broadcastTime { get; set; } = 5;
public class PluginTranslation : IPluginTranslation
[Description("The Message that is shown when someones leave")]
public string Broadcast { get; set; } = "A Player left the Server"