public static void OnAddBanEnd(int player) { var ctx = new HookContext(); var args = new HookArgs.AddBan() { State = MethodState.End, Slot = player }; HookPoints.AddBan.Invoke(ref ctx, ref args); }
public static bool OnAddBanBegin(int player) { var ctx = new HookContext(); var args = new HookArgs.AddBan() { State = MethodState.Begin, Slot = player }; HookPoints.AddBan.Invoke(ref ctx, ref args); return ctx.Result == HookResult.DEFAULT; }
/// <summary> /// When vanilla requests to ban a slot, this method is called. /// </summary> /// <param name="plr">Plr.</param> public static void AddBan(int plr) { #if Full_API var ctx = new HookContext() { Sender = HookContext.ConsoleSender }; var args = new HookArgs.AddBan() { RemoteAddress = Terraria.Netplay.Clients[plr].RemoteAddress() }; HookPoints.AddBan.Invoke(ref ctx, ref args); if (ctx.Result == HookResult.DEFAULT) { var remoteAddress = Terraria.Netplay.Clients[plr].Socket.GetRemoteAddress(); using (StreamWriter streamWriter = new StreamWriter(Terraria.Netplay.BanFilePath, true)) { streamWriter.WriteLine("//" + Terraria.Main.player[plr].name); streamWriter.WriteLine(remoteAddress.GetIdentifier()); } } #endif }