diff --git a/TShockAPI/Commands.cs b/TShockAPI/Commands.cs index 261df60c..f6f15fc5 100755 --- a/TShockAPI/Commands.cs +++ b/TShockAPI/Commands.cs @@ -2773,183 +2773,206 @@ namespace TShockAPI } #endregion Item Management - #region Projectile Management + #region Projectile Management - private static void ProjectileBan(CommandArgs args) - { - if (args.Parameters.Count == 0) - { - args.Player.SendInfoMessage("Invalid syntax! Proper syntax: /projban [arguments]"); - args.Player.SendInfoMessage("Commands: add, allow, del, disallow, list"); - args.Player.SendInfoMessage("Arguments: add , allow "); - args.Player.SendInfoMessage("Arguments: del , disallow , list [page]"); - return; - } + private static void ProjectileBan(CommandArgs args) + { + if (args.Parameters.Count == 0) + { + args.Player.SendInfoMessage("Invalid syntax! Proper syntax: /projban [arguments]"); + args.Player.SendInfoMessage("Commands: add, allow, del, disallow, list"); + args.Player.SendInfoMessage("Arguments: add , allow "); + args.Player.SendInfoMessage("Arguments: del , disallow , list [page]"); + return; + } - switch (args.Parameters[0].ToLower()) - { - case "add": - #region Add projectile - { - if (args.Parameters.Count != 2) - { - args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /projban add "); - return; - } - short id; - if (Int16.TryParse(args.Parameters[1], out id)) - { - TShock.ProjectileBans.AddNewBan(id); - args.Player.SendSuccessMessage("Banned Projectile: " + id + "."); - return; - } - else - { - args.Player.SendErrorMessage("Invalid syntax! Projectile Id must be a number."); - return; - } - - } - #endregion - return; - case "allow": - #region Allow group to projectile - { - if (args.Parameters.Count != 3) - { - args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /projban allow "); - return; - } + switch (args.Parameters[0].ToLower()) + { + case "add": - short id; - if (Int16.TryParse(args.Parameters[1], out id)) - { - if (!TShock.Groups.GroupExists(args.Parameters[2])) - { - args.Player.SendErrorMessage("Invalid group."); - return; - } + #region Add projectile - ProjectileBan ban = TShock.ProjectileBans.GetBanById(id); - if (ban == null) - { - args.Player.SendErrorMessage("Projectile " + id + " is not banned."); - return; - } - if (!ban.AllowedGroups.Contains(args.Parameters[2])) - { - TShock.ProjectileBans.AllowGroup(id, args.Parameters[2]); - args.Player.SendSuccessMessage(String.Format("{0} has been allowed to use projectile {1}.", args.Parameters[2], id)); - return; - } - else - { - args.Player.SendWarningMessage(String.Format("{0} is already allowed to use projectile {1}.", args.Parameters[2], id)); - return; - } - } - else - { - args.Player.SendErrorMessage("Invalid syntax! Projectile Id must be a number."); - return; - } - } - #endregion + { + if (args.Parameters.Count != 2) + { + args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /projban add "); + return; + } + short id; + if (Int16.TryParse(args.Parameters[1], out id)) + { + TShock.ProjectileBans.AddNewBan(id); + args.Player.SendSuccessMessage("Banned Projectile: " + id + "."); + return; + } + else + { + args.Player.SendErrorMessage("Invalid syntax! Projectile Id must be a number."); + return; + } - case "del": - #region Delete item - { - if (args.Parameters.Count != 2) - { - args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /projban del "); - return; - } + } - short id; - if (Int16.TryParse(args.Parameters[1], out id)) - { - TShock.ProjectileBans.RemoveBan(id); - args.Player.SendSuccessMessage("Unbanned Projectile: " + id + "."); - return; - } - else - { - args.Player.SendErrorMessage("Invalid syntax! Projectile Id must be a number."); - return; - } - } - #endregion - return; - case "disallow": - #region Allow group to item - { - if (args.Parameters.Count != 3) - { - args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /projban disallow "); - return; - } + #endregion - short id; - if (Int16.TryParse(args.Parameters[1], out id)) - { - if (!TShock.Groups.GroupExists(args.Parameters[2])) - { - args.Player.SendErrorMessage("Invalid group."); - return; - } + return; + case "allow": - ProjectileBan ban = TShock.ProjectileBans.GetBanById(id); - if (ban == null) - { - args.Player.SendErrorMessage("Projectile " + id + " is not banned."); - return; - } - if (ban.AllowedGroups.Contains(args.Parameters[2])) - { - TShock.ProjectileBans.RemoveGroup(id, args.Parameters[2]); - args.Player.SendSuccessMessage(String.Format("{0} has been disallowed from using projectile {1}.", args.Parameters[2], id)); - return; - } - else - { - args.Player.SendWarningMessage(String.Format("{0} is already prevented from using projectile {1}.", args.Parameters[2], id)); - return; - } - } - else - { - args.Player.SendErrorMessage("Invalid syntax! Projectile Id must be a number."); - return; - } - } - #endregion - return; - case "help": - args.Player.SendInfoMessage("Syntax: /projban [arguments]"); - args.Player.SendInfoMessage("Commands: add, allow, del, disallow, list"); - args.Player.SendInfoMessage("Arguments: add , allow "); - args.Player.SendInfoMessage("Arguments: del , disallow , list [page]"); - return; - case "list": - #region List items - int pageNumber; - if (!PaginationTools.TryParsePageNumber(args.Parameters, 1, args.Player, out pageNumber)) - return; - IEnumerable projectileIds = from projectileBan in TShock.ProjectileBans.ProjectileBans - select projectileBan.ID; - PaginationTools.SendPage(args.Player, pageNumber, PaginationTools.BuildLinesFromTerms(projectileIds), - new PaginationTools.Settings - { - HeaderFormat = "Projectile bans ({0}/{1}):", - FooterFormat = "Type /Projectile list {0} for more.", - NothingToDisplayString = "There are currently no banned projectiles." - }); - #endregion - return; - } - } - - #endregion Projectile Management + #region Allow group to projectile + + { + if (args.Parameters.Count != 3) + { + args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /projban allow "); + return; + } + + short id; + if (Int16.TryParse(args.Parameters[1], out id)) + { + if (!TShock.Groups.GroupExists(args.Parameters[2])) + { + args.Player.SendErrorMessage("Invalid group."); + return; + } + + ProjectileBan ban = TShock.ProjectileBans.GetBanById(id); + if (ban == null) + { + args.Player.SendErrorMessage("Projectile " + id + " is not banned."); + return; + } + if (!ban.AllowedGroups.Contains(args.Parameters[2])) + { + TShock.ProjectileBans.AllowGroup(id, args.Parameters[2]); + args.Player.SendSuccessMessage(String.Format("{0} has been allowed to use projectile {1}.", args.Parameters[2], + id)); + return; + } + else + { + args.Player.SendWarningMessage(String.Format("{0} is already allowed to use projectile {1}.", args.Parameters[2], + id)); + return; + } + } + else + { + args.Player.SendErrorMessage("Invalid syntax! Projectile Id must be a number."); + return; + } + } + + #endregion + + case "del": + + #region Delete item + + { + if (args.Parameters.Count != 2) + { + args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /projban del "); + return; + } + + short id; + if (Int16.TryParse(args.Parameters[1], out id)) + { + TShock.ProjectileBans.RemoveBan(id); + args.Player.SendSuccessMessage("Unbanned Projectile: " + id + "."); + return; + } + else + { + args.Player.SendErrorMessage("Invalid syntax! Projectile Id must be a number."); + return; + } + } + + #endregion + + return; + case "disallow": + + #region Allow group to item + + { + if (args.Parameters.Count != 3) + { + args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /projban disallow "); + return; + } + + short id; + if (Int16.TryParse(args.Parameters[1], out id)) + { + if (!TShock.Groups.GroupExists(args.Parameters[2])) + { + args.Player.SendErrorMessage("Invalid group."); + return; + } + + ProjectileBan ban = TShock.ProjectileBans.GetBanById(id); + if (ban == null) + { + args.Player.SendErrorMessage("Projectile " + id + " is not banned."); + return; + } + if (ban.AllowedGroups.Contains(args.Parameters[2])) + { + TShock.ProjectileBans.RemoveGroup(id, args.Parameters[2]); + args.Player.SendSuccessMessage(String.Format("{0} has been disallowed from using projectile {1}.", + args.Parameters[2], id)); + return; + } + else + { + args.Player.SendWarningMessage(String.Format("{0} is already prevented from using projectile {1}.", + args.Parameters[2], id)); + return; + } + } + else + { + args.Player.SendErrorMessage("Invalid syntax! Projectile Id must be a number."); + return; + } + } + + #endregion + + return; + case "help": + args.Player.SendInfoMessage("Syntax: /projban [arguments]"); + args.Player.SendInfoMessage("Commands: add, allow, del, disallow, list"); + args.Player.SendInfoMessage("Arguments: add , allow "); + args.Player.SendInfoMessage("Arguments: del , disallow , list [page]"); + return; + case "list": + + #region List items + + int pageNumber; + if (!PaginationTools.TryParsePageNumber(args.Parameters, 1, args.Player, out pageNumber)) + return; + IEnumerable projectileIds = from projectileBan in TShock.ProjectileBans.ProjectileBans + select projectileBan.ID; + PaginationTools.SendPage(args.Player, pageNumber, PaginationTools.BuildLinesFromTerms(projectileIds), + new PaginationTools.Settings + { + HeaderFormat = "Projectile bans ({0}/{1}):", + FooterFormat = "Type /Projectile list {0} for more.", + NothingToDisplayString = "There are currently no banned projectiles." + }); + + #endregion + + return; + } + } + + #endregion Projectile Management #region Server Config Commands diff --git a/TShockAPI/DB/ProjectileManager.cs b/TShockAPI/DB/ProjectileManager.cs index 961baacf..5bcb8845 100644 --- a/TShockAPI/DB/ProjectileManager.cs +++ b/TShockAPI/DB/ProjectileManager.cs @@ -24,230 +24,230 @@ using MySql.Data.MySqlClient; namespace TShockAPI.DB { - public class ProjectileManagager - { - private IDbConnection database; - public List ProjectileBans = new List(); + public class ProjectileManagager + { + private IDbConnection database; + public List ProjectileBans = new List(); - public ProjectileManagager(IDbConnection db) - { - database = db; + public ProjectileManagager(IDbConnection db) + { + database = db; - var table = new SqlTable("ProjectileBans", - new SqlColumn("ProjectileID", MySqlDbType.Int32) { Primary = true }, - new SqlColumn("AllowedGroups", MySqlDbType.Text) - ); - var creator = new SqlTableCreator(db, - db.GetSqlType() == SqlType.Sqlite - ? (IQueryBuilder)new SqliteQueryCreator() - : new MysqlQueryCreator()); - creator.EnsureExists(table); - UpdateBans(); - } + var table = new SqlTable("ProjectileBans", + new SqlColumn("ProjectileID", MySqlDbType.Int32) {Primary = true}, + new SqlColumn("AllowedGroups", MySqlDbType.Text) + ); + var creator = new SqlTableCreator(db, + db.GetSqlType() == SqlType.Sqlite + ? (IQueryBuilder) new SqliteQueryCreator() + : new MysqlQueryCreator()); + creator.EnsureExists(table); + UpdateBans(); + } - public void UpdateBans() - { - ProjectileBans.Clear(); + public void UpdateBans() + { + ProjectileBans.Clear(); - using (var reader = database.QueryReader("SELECT * FROM ProjectileBans")) - { - while (reader != null && reader.Read()) - { - ProjectileBan ban = new ProjectileBan((short)reader.Get("ProjectileID")); - ban.SetAllowedGroups(reader.Get("AllowedGroups")); - ProjectileBans.Add(ban); - } - } - } + using (var reader = database.QueryReader("SELECT * FROM ProjectileBans")) + { + while (reader != null && reader.Read()) + { + ProjectileBan ban = new ProjectileBan((short) reader.Get("ProjectileID")); + ban.SetAllowedGroups(reader.Get("AllowedGroups")); + ProjectileBans.Add(ban); + } + } + } - public void AddNewBan(short id = 0) - { - try - { - database.Query("INSERT INTO ProjectileBans (ProjectileID, AllowedGroups) VALUES (@0, @1);", - id, ""); + public void AddNewBan(short id = 0) + { + try + { + database.Query("INSERT INTO ProjectileBans (ProjectileID, AllowedGroups) VALUES (@0, @1);", + id, ""); - if (!ProjectileIsBanned(id, null)) - ProjectileBans.Add(new ProjectileBan(id)); - } - catch (Exception ex) - { - Log.Error(ex.ToString()); - } - } + if (!ProjectileIsBanned(id, null)) + ProjectileBans.Add(new ProjectileBan(id)); + } + catch (Exception ex) + { + Log.Error(ex.ToString()); + } + } - public void RemoveBan(short id) - { - if (!ProjectileIsBanned(id, null)) - return; - try - { - database.Query("DELETE FROM ProjectileBans WHERE ProjectileId=@0;", id); - ProjectileBans.Remove(new ProjectileBan(id)); - } - catch (Exception ex) - { - Log.Error(ex.ToString()); - } - } + public void RemoveBan(short id) + { + if (!ProjectileIsBanned(id, null)) + return; + try + { + database.Query("DELETE FROM ProjectileBans WHERE ProjectileId=@0;", id); + ProjectileBans.Remove(new ProjectileBan(id)); + } + catch (Exception ex) + { + Log.Error(ex.ToString()); + } + } - public bool ProjectileIsBanned(short id) - { - if (ProjectileBans.Contains(new ProjectileBan(id))) - { - return true; - } - return false; - } + public bool ProjectileIsBanned(short id) + { + if (ProjectileBans.Contains(new ProjectileBan(id))) + { + return true; + } + return false; + } - public bool ProjectileIsBanned(short id, TSPlayer ply) - { - if (ProjectileBans.Contains(new ProjectileBan(id))) - { - ProjectileBan b = GetBanById(id); - return !b.HasPermissionToCreateProjectile(ply); - } - return false; - } + public bool ProjectileIsBanned(short id, TSPlayer ply) + { + if (ProjectileBans.Contains(new ProjectileBan(id))) + { + ProjectileBan b = GetBanById(id); + return !b.HasPermissionToCreateProjectile(ply); + } + return false; + } - public bool AllowGroup(short id, string name) - { - string groupsNew = ""; - ProjectileBan b = GetBanById(id); - if (b != null) - { - try - { - groupsNew = String.Join(",", b.AllowedGroups); - if (groupsNew.Length > 0) - groupsNew += ","; - groupsNew += name; - b.SetAllowedGroups(groupsNew); + public bool AllowGroup(short id, string name) + { + string groupsNew = ""; + ProjectileBan b = GetBanById(id); + if (b != null) + { + try + { + groupsNew = String.Join(",", b.AllowedGroups); + if (groupsNew.Length > 0) + groupsNew += ","; + groupsNew += name; + b.SetAllowedGroups(groupsNew); - int q = database.Query("UPDATE ProjectileBans SET AllowedGroups=@0 WHERE ProjectileId=@1", groupsNew, - id); + int q = database.Query("UPDATE ProjectileBans SET AllowedGroups=@0 WHERE ProjectileId=@1", groupsNew, + id); - return q > 0; - } - catch (Exception ex) - { - Log.Error(ex.ToString()); - } - } + return q > 0; + } + catch (Exception ex) + { + Log.Error(ex.ToString()); + } + } - return false; - } + return false; + } - public bool RemoveGroup(short id, string group) - { - ProjectileBan b = GetBanById(id); - if (b != null) - { - try - { - b.RemoveGroup(group); - string groups = string.Join(",", b.AllowedGroups); - int q = database.Query("UPDATE ProjectileBans SET AllowedGroups=@0 WHERE ProjectileId=@1", groups, - id); + public bool RemoveGroup(short id, string group) + { + ProjectileBan b = GetBanById(id); + if (b != null) + { + try + { + b.RemoveGroup(group); + string groups = string.Join(",", b.AllowedGroups); + int q = database.Query("UPDATE ProjectileBans SET AllowedGroups=@0 WHERE ProjectileId=@1", groups, + id); - if (q > 0) - return true; - } - catch (Exception ex) - { - Log.Error(ex.ToString()); - } - } - return false; - } + if (q > 0) + return true; + } + catch (Exception ex) + { + Log.Error(ex.ToString()); + } + } + return false; + } - public ProjectileBan GetBanById(short id) - { - foreach (ProjectileBan b in ProjectileBans) - { - if (b.ID == id) - { - return b; - } - } - return null; - } - } + public ProjectileBan GetBanById(short id) + { + foreach (ProjectileBan b in ProjectileBans) + { + if (b.ID == id) + { + return b; + } + } + return null; + } + } - public class ProjectileBan : IEquatable - { - public short ID { get; set; } - public List AllowedGroups { get; set; } + public class ProjectileBan : IEquatable + { + public short ID { get; set; } + public List AllowedGroups { get; set; } - public ProjectileBan(short id) - : this() - { - ID = id; - AllowedGroups = new List(); - } + public ProjectileBan(short id) + : this() + { + ID = id; + AllowedGroups = new List(); + } - public ProjectileBan() - { - ID = 0; - AllowedGroups = new List(); - } + public ProjectileBan() + { + ID = 0; + AllowedGroups = new List(); + } - public bool Equals(ProjectileBan other) - { - return ID == other.ID; - } + public bool Equals(ProjectileBan other) + { + return ID == other.ID; + } - public bool HasPermissionToCreateProjectile(TSPlayer ply) - { - if (ply == null) - return false; + public bool HasPermissionToCreateProjectile(TSPlayer ply) + { + if (ply == null) + return false; - if (ply.Group.HasPermission(Permissions.canusebannedprojectiles)) - return true; + if (ply.Group.HasPermission(Permissions.canusebannedprojectiles)) + return true; - var cur = ply.Group; - var traversed = new List(); - while (cur != null) - { - if (AllowedGroups.Contains(cur.Name)) - { - return true; - } - if (traversed.Contains(cur)) - { - throw new InvalidOperationException("Infinite group parenting ({0})".SFormat(cur.Name)); - } - traversed.Add(cur); - cur = cur.Parent; - } - return false; - // could add in the other permissions in this class instead of a giant if switch. - } + var cur = ply.Group; + var traversed = new List(); + while (cur != null) + { + if (AllowedGroups.Contains(cur.Name)) + { + return true; + } + if (traversed.Contains(cur)) + { + throw new InvalidOperationException("Infinite group parenting ({0})".SFormat(cur.Name)); + } + traversed.Add(cur); + cur = cur.Parent; + } + return false; + // could add in the other permissions in this class instead of a giant if switch. + } - public void SetAllowedGroups(String groups) - { - // prevent null pointer exceptions - if (!string.IsNullOrEmpty(groups)) - { - List groupArr = groups.Split(',').ToList(); + public void SetAllowedGroups(String groups) + { + // prevent null pointer exceptions + if (!string.IsNullOrEmpty(groups)) + { + List groupArr = groups.Split(',').ToList(); - for (int i = 0; i < groupArr.Count; i++) - { - groupArr[i] = groupArr[i].Trim(); - //Console.WriteLine(groupArr[i]); - } - AllowedGroups = groupArr; - } - } + for (int i = 0; i < groupArr.Count; i++) + { + groupArr[i] = groupArr[i].Trim(); + //Console.WriteLine(groupArr[i]); + } + AllowedGroups = groupArr; + } + } - public bool RemoveGroup(string groupName) - { - return AllowedGroups.Remove(groupName); - } + public bool RemoveGroup(string groupName) + { + return AllowedGroups.Remove(groupName); + } - public override string ToString() - { - return ID + (AllowedGroups.Count > 0 ? " (" + String.Join(",", AllowedGroups) + ")" : ""); - } - } + public override string ToString() + { + return ID + (AllowedGroups.Count > 0 ? " (" + String.Join(",", AllowedGroups) + ")" : ""); + } + } } \ No newline at end of file diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs index 4c5e40b1..6cd6c1cb 100755 --- a/TShockAPI/GetDataHandlers.cs +++ b/TShockAPI/GetDataHandlers.cs @@ -2393,17 +2393,17 @@ namespace TShockAPI if (index > Main.maxProjectiles || index < 0) { - args.Player.RemoveProjectile(ident, owner); + args.Player.RemoveProjectile(ident, owner); return true; } - if (TShock.ProjectileBans.ProjectileIsBanned(type, args.Player)) - { - args.Player.Disable("Player does not have permission to create that projectile.", true); - args.Player.SendErrorMessage("You do not have permission to create that projectile."); - args.Player.RemoveProjectile(ident, owner); - return false; - } + if (TShock.ProjectileBans.ProjectileIsBanned(type, args.Player)) + { + args.Player.Disable("Player does not have permission to create that projectile.", true); + args.Player.SendErrorMessage("You do not have permission to create that projectile."); + args.Player.RemoveProjectile(ident, owner); + return false; + } // Server now checks owner + ident, if owner is different, server will create new projectile. /*if (args.Player.Index != owner) { diff --git a/TShockAPI/Permissions.cs b/TShockAPI/Permissions.cs index 32d85331..ccb7803f 100644 --- a/TShockAPI/Permissions.cs +++ b/TShockAPI/Permissions.cs @@ -64,8 +64,8 @@ namespace TShockAPI [Description("User can manage item bans.")] public static readonly string manageitem = "tshock.admin.itemban"; - [Description("User can manage projectile bans.")] - public static readonly string manageprojectile = "tshock.admin.projectileban"; + [Description("User can manage projectile bans.")] + public static readonly string manageprojectile = "tshock.admin.projectileban"; [Description("User can manage groups.")] public static readonly string managegroup = "tshock.admin.group"; @@ -325,14 +325,14 @@ namespace TShockAPI [Description("Player can chat")] public static readonly string canchat = "tshock.canchat"; - [Description("Player can use banned projectiles.")] - public static readonly string canusebannedprojectiles = "tshock.projectiles.usebanned"; + [Description("Player can use banned projectiles.")] + public static readonly string canusebannedprojectiles = "tshock.projectiles.usebanned"; - /// - /// Lists all commands associated with a given permission - /// - /// string permission - the permission to get information on - /// List of commands + /// + /// Lists all commands associated with a given permission + /// + /// string permission - the permission to get information on + /// List of commands private static List GetCommands(string perm) { if (Commands.ChatCommands.Count < 1) @@ -340,9 +340,9 @@ namespace TShockAPI return Commands.ChatCommands.Where(c => c.Permissions.Contains(perm)).ToList(); } - /// - /// Dumps the descriptions of each permission to a file in Markdown format. - /// + /// + /// Dumps the descriptions of each permission to a file in Markdown format. + /// public static void DumpDescriptions() { var sb = new StringBuilder(); diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index aee1cac3..89cd3cff 100755 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -62,7 +62,7 @@ namespace TShockAPI public static GroupManager Groups; public static UserManager Users; public static ItemManager Itembans; - public static ProjectileManagager ProjectileBans; + public static ProjectileManagager ProjectileBans; public static RememberedPosManager RememberedPos; public static CharacterManager CharacterDB; public static ConfigFile Config { get; set; } @@ -224,7 +224,7 @@ namespace TShockAPI Users = new UserManager(DB); Groups = new GroupManager(DB); Itembans = new ItemManager(DB); - ProjectileBans = new ProjectileManagager(DB); + ProjectileBans = new ProjectileManagager(DB); RememberedPos = new RememberedPosManager(DB); CharacterDB = new CharacterManager(DB); RestApi = new SecureRest(Netplay.serverListenIP, Config.RestApiPort); @@ -251,7 +251,6 @@ namespace TShockAPI ServerApi.Hooks.NetSendData.Register(this, NetHooks_SendData); ServerApi.Hooks.NetGreetPlayer.Register(this, OnGreetPlayer); ServerApi.Hooks.NpcStrike.Register(this, NpcHooks_OnStrikeNpc); - ServerApi.Hooks.NpcSetDefaultsInt.Register(this, OnNpcSetDefaults); ServerApi.Hooks.ProjectileSetDefaults.Register(this, OnProjectileSetDefaults); ServerApi.Hooks.WorldStartHardMode.Register(this, OnStartHardMode); ServerApi.Hooks.WorldSave.Register(this, SaveManager.Instance.OnSaveWorld); @@ -329,7 +328,6 @@ namespace TShockAPI ServerApi.Hooks.NetSendData.Deregister(this, NetHooks_SendData); ServerApi.Hooks.NetGreetPlayer.Deregister(this, OnGreetPlayer); ServerApi.Hooks.NpcStrike.Deregister(this, NpcHooks_OnStrikeNpc); - ServerApi.Hooks.NpcSetDefaultsInt.Deregister(this, OnNpcSetDefaults); ServerApi.Hooks.ProjectileSetDefaults.Deregister(this, OnProjectileSetDefaults); ServerApi.Hooks.WorldStartHardMode.Deregister(this, OnStartHardMode); ServerApi.Hooks.WorldSave.Deregister(this, SaveManager.Instance.OnSaveWorld); @@ -1276,14 +1274,6 @@ namespace TShockAPI e.Object.SetDefaults(0); } - private void OnNpcSetDefaults(SetDefaultsEventArgs e) - { - if (Itembans.ItemIsBanned(e.Object.name, null)) - { - e.Object.SetDefaults(0); - } - } - /// /// Send bytes to client using packetbuffering if available /// @@ -1528,11 +1518,6 @@ namespace TShockAPI Projectile proj = new Projectile(); proj.SetDefaults(type); - if (Itembans.ItemIsBanned(proj.name, player)) - { - return true; - } - if (Main.projHostile[type]) { //player.SendMessage( proj.name, Color.Yellow);