Match the god damned existing tab format

This commit is contained in:
MarioE 2012-08-20 10:33:54 -04:00
parent 8bbed92683
commit 5b032f277d
4 changed files with 186 additions and 186 deletions

View file

@ -82,7 +82,7 @@ namespace TShockAPI
Permission = null; Permission = null;
Names = new List<string>(names); Names = new List<string>(names);
command = cmd; command = cmd;
AllowServer = true; AllowServer = true;
DoLog = true; DoLog = true;
} }
@ -215,13 +215,13 @@ namespace TShockAPI
if (cmd == null) if (cmd == null)
{ {
if( player.AwaitingResponse.ContainsKey(cmdName)) if (player.AwaitingResponse.ContainsKey(cmdName))
{ {
Action<CommandArgs> call = player.AwaitingResponse[cmdName]; Action<CommandArgs> call = player.AwaitingResponse[cmdName];
player.AwaitingResponse.Remove(cmdName); player.AwaitingResponse.Remove(cmdName);
call( new CommandArgs(cmdText, player, args)); call(new CommandArgs(cmdText, player, args));
return true; return true;
} }
player.SendErrorMessage("Invalid command entered. Type /help for a list of valid commands."); player.SendErrorMessage("Invalid command entered. Type /help for a list of valid commands.");
return true; return true;
} }
@ -231,16 +231,16 @@ namespace TShockAPI
TShock.Utils.SendLogs(string.Format("{0} tried to execute /{1}.", player.Name, cmdText), Color.Red); TShock.Utils.SendLogs(string.Format("{0} tried to execute /{1}.", player.Name, cmdText), Color.Red);
player.SendErrorMessage("You do not have access to that command."); player.SendErrorMessage("You do not have access to that command.");
} }
else if (!cmd.AllowServer && !player.RealPlayer) else if (!cmd.AllowServer && !player.RealPlayer)
{ {
player.SendErrorMessage("You must use this command in-game."); player.SendErrorMessage("You must use this command in-game.");
} }
else else
{ {
if (cmd.DoLog) if (cmd.DoLog)
TShock.Utils.SendLogs(string.Format("{0} executed: /{1}.", player.Name, cmdText), Color.Red); TShock.Utils.SendLogs(string.Format("{0} executed: /{1}.", player.Name, cmdText), Color.Red);
cmd.Run(cmdText, player, args); cmd.Run(cmdText, player, args);
} }
return true; return true;
} }
@ -1943,7 +1943,7 @@ namespace TShockAPI
{ {
tsply.SaveServerInventory(); tsply.SaveServerInventory();
} }
args.Player.SendSuccessMessage("Save succeeded."); args.Player.SendSuccessMessage("Save succeeded.");
} }
private static void Settle(CommandArgs args) private static void Settle(CommandArgs args)
@ -2038,19 +2038,19 @@ namespace TShockAPI
break; break;
case "night": case "night":
TSPlayer.Server.SetTime(false, 0.0); TSPlayer.Server.SetTime(false, 0.0);
TSPlayer.All.SendInfoMessage(string.Format("{0} set the time to night.", args.Player.Name)); TSPlayer.All.SendInfoMessage(string.Format("{0} set the time to night.", args.Player.Name));
break; break;
case "dusk": case "dusk":
TSPlayer.Server.SetTime(false, 0.0); TSPlayer.Server.SetTime(false, 0.0);
TSPlayer.All.SendInfoMessage(string.Format("{0} set the time to dusk.", args.Player.Name)); TSPlayer.All.SendInfoMessage(string.Format("{0} set the time to dusk.", args.Player.Name));
break; break;
case "noon": case "noon":
TSPlayer.Server.SetTime(true, 27000.0); TSPlayer.Server.SetTime(true, 27000.0);
TSPlayer.All.SendInfoMessage(string.Format("{0} set the time to noon.", args.Player.Name)); TSPlayer.All.SendInfoMessage(string.Format("{0} set the time to noon.", args.Player.Name));
break; break;
case "midnight": case "midnight":
TSPlayer.Server.SetTime(false, 16200.0); TSPlayer.Server.SetTime(false, 16200.0);
TSPlayer.All.SendInfoMessage(string.Format("{0} set the time to midnight.", args.Player.Name)); TSPlayer.All.SendInfoMessage(string.Format("{0} set the time to midnight.", args.Player.Name));
break; break;
default: default:
args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /time <day/night/dusk/noon/midnight>"); args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /time <day/night/dusk/noon/midnight>");
@ -2162,68 +2162,68 @@ namespace TShockAPI
} }
} }
private static void GetVersion(CommandArgs args) private static void GetVersion(CommandArgs args)
{ {
args.Player.SendInfoMessage(string.Format("TShock: {0} ({1}): ({2}/{3})", TShock.VersionNum, TShock.VersionCodename, args.Player.SendInfoMessage(string.Format("TShock: {0} ({1}): ({2}/{3})", TShock.VersionNum, TShock.VersionCodename,
TShock.Utils.ActivePlayers(), TShock.Config.MaxSlots)); TShock.Utils.ActivePlayers(), TShock.Config.MaxSlots));
} }
private static void ListConnectedPlayers(CommandArgs args) private static void ListConnectedPlayers(CommandArgs args)
{ {
//How many players per page //How many players per page
const int pagelimit = 15; const int pagelimit = 15;
//How many players per line //How many players per line
const int perline = 5; const int perline = 5;
//Pages start at 0 but are displayed and parsed at 1 //Pages start at 0 but are displayed and parsed at 1
int page = 0; int page = 0;
if (args.Parameters.Count > 0) if (args.Parameters.Count > 0)
{ {
if (!int.TryParse(args.Parameters[0], out page) || page < 1) if (!int.TryParse(args.Parameters[0], out page) || page < 1)
{ {
args.Player.SendErrorMessage(string.Format("Invalid page number ({0})", page)); args.Player.SendErrorMessage(string.Format("Invalid page number ({0})", page));
return; return;
} }
page--; //Substract 1 as pages are parsed starting at 1 and not 0 page--; //Substract 1 as pages are parsed starting at 1 and not 0
} }
var playerList = args.Player.Group.HasPermission(Permissions.seeids) var playerList = args.Player.Group.HasPermission(Permissions.seeids)
? TShock.Utils.GetPlayers(true) ? TShock.Utils.GetPlayers(true)
: TShock.Utils.GetPlayers(false); : TShock.Utils.GetPlayers(false);
//Check if they are trying to access a page that doesn't exist. //Check if they are trying to access a page that doesn't exist.
int pagecount = playerList.Count / pagelimit; int pagecount = playerList.Count / pagelimit;
if (page > pagecount) if (page > pagecount)
{ {
args.Player.SendErrorMessage(string.Format("Page number exceeds pages ({0}/{1})", page + 1, pagecount + 1)); args.Player.SendErrorMessage(string.Format("Page number exceeds pages ({0}/{1})", page + 1, pagecount + 1));
return; return;
} }
//Display the current page and the number of pages. //Display the current page and the number of pages.
args.Player.SendSuccessMessage(string.Format("Players: {0}/{1}", args.Player.SendSuccessMessage(string.Format("Players: {0}/{1}",
TShock.Utils.ActivePlayers(), TShock.Config.MaxSlots)); TShock.Utils.ActivePlayers(), TShock.Config.MaxSlots));
args.Player.SendSuccessMessage(string.Format("Current players page {0}/{1}:", page + 1, pagecount + 1)); args.Player.SendSuccessMessage(string.Format("Current players page {0}/{1}:", page + 1, pagecount + 1));
//Add up to pagelimit names to a list //Add up to pagelimit names to a list
var nameslist = new List<string>(); var nameslist = new List<string>();
for (int i = (page * pagelimit); (i < ((page * pagelimit) + pagelimit)) && i < playerList.Count; i++) for (int i = (page * pagelimit); (i < ((page * pagelimit) + pagelimit)) && i < playerList.Count; i++)
{ {
nameslist.Add(playerList[i]); nameslist.Add(playerList[i]);
} }
//convert the list to an array for joining //convert the list to an array for joining
var names = nameslist.ToArray(); var names = nameslist.ToArray();
for (int i = 0; i < names.Length; i += perline) for (int i = 0; i < names.Length; i += perline)
{ {
args.Player.SendInfoMessage(string.Join(", ", names, i, Math.Min(names.Length - i, perline))); args.Player.SendInfoMessage(string.Join(", ", names, i, Math.Min(names.Length - i, perline)));
} }
if (page < pagecount) if (page < pagecount)
{ {
args.Player.SendInfoMessage(string.Format("Type /who {0} for more players.", (page + 2))); args.Player.SendInfoMessage(string.Format("Type /who {0} for more players.", (page + 2)));
} }
} }
private static void AuthToken(CommandArgs args) private static void AuthToken(CommandArgs args)
{ {
@ -2332,39 +2332,39 @@ namespace TShockAPI
args.Player.SendErrorMessage("You are not in a party!"); args.Player.SendErrorMessage("You are not in a party!");
} }
private static void Mute(CommandArgs args) private static void Mute(CommandArgs args)
{ {
if (args.Parameters.Count < 1) if (args.Parameters.Count < 1)
{ {
args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /mute <player> [reason]"); args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /mute <player> [reason]");
return; return;
} }
var players = TShock.Utils.FindPlayer(args.Parameters[0]); var players = TShock.Utils.FindPlayer(args.Parameters[0]);
if (players.Count == 0) if (players.Count == 0)
args.Player.SendErrorMessage("Invalid player!"); args.Player.SendErrorMessage("Invalid player!");
else if (players.Count > 1) else if (players.Count > 1)
args.Player.SendErrorMessage("More than one player matched!"); args.Player.SendErrorMessage("More than one player matched!");
else if (players[0].Group.HasPermission(Permissions.mute)) else if (players[0].Group.HasPermission(Permissions.mute))
{ {
args.Player.SendErrorMessage("You cannot mute this player."); args.Player.SendErrorMessage("You cannot mute this player.");
} }
else if (players[0].mute) else if (players[0].mute)
{ {
var plr = players[0]; var plr = players[0];
plr.mute = false; plr.mute = false;
TSPlayer.All.SendInfoMessage(String.Format("{0} has been unmuted by {1}.", plr.Name, args.Player.Name)); TSPlayer.All.SendInfoMessage(String.Format("{0} has been unmuted by {1}.", plr.Name, args.Player.Name));
} }
else else
{ {
string reason = "misbehavior"; string reason = "misbehavior";
if (args.Parameters.Count > 1) if (args.Parameters.Count > 1)
reason = String.Join(" ", args.Parameters.ToArray(), 1, args.Parameters.Count - 1); reason = String.Join(" ", args.Parameters.ToArray(), 1, args.Parameters.Count - 1);
var plr = players[0]; var plr = players[0];
plr.mute = true; plr.mute = true;
TSPlayer.All.SendInfoMessage(String.Format("{0} has been muted by {1} for {2}.", plr.Name, args.Player.Name, reason)); TSPlayer.All.SendInfoMessage(String.Format("{0} has been muted by {1} for {2}.", plr.Name, args.Player.Name, reason));
} }
} }
private static void Motd(CommandArgs args) private static void Motd(CommandArgs args)
{ {

View file

@ -126,8 +126,8 @@ namespace TShockAPI.DB
} }
string query = (TShock.Config.StorageType.ToLower() == "sqlite") string query = (TShock.Config.StorageType.ToLower() == "sqlite")
? "INSERT OR IGNORE INTO GroupList (GroupName, Parent, Commands, ChatColor) VALUES (@0, @1, @2, @3);" ? "INSERT OR IGNORE INTO GroupList (GroupName, Parent, Commands, ChatColor) VALUES (@0, @1, @2, @3);"
: "INSERT IGNORE INTO GroupList SET GroupName=@0, Parent=@1, Commands=@2, ChatColor=@3"; : "INSERT IGNORE INTO GroupList SET GroupName=@0, Parent=@1, Commands=@2, ChatColor=@3";
if (database.Query(query, name, parentname, permissions, chatcolor) == 1) if (database.Query(query, name, parentname, permissions, chatcolor) == 1)
{ {
groups.Add(group); groups.Add(group);
@ -183,10 +183,10 @@ namespace TShockAPI.DB
if (database.Query(query, parentname, newgroup.Permissions, string.Format("{0},{1},{2}", newgroup.R, newgroup.G, newgroup.B), name) != 1) if (database.Query(query, parentname, newgroup.Permissions, string.Format("{0},{1},{2}", newgroup.R, newgroup.G, newgroup.B), name) != 1)
throw new GroupManagerException("Failed to update group '" + name + "'"); throw new GroupManagerException("Failed to update group '" + name + "'");
Group group = TShock.Utils.GetGroup(name); Group group = TShock.Utils.GetGroup(name);
group.ChatColor = chatcolor; group.ChatColor = chatcolor;
group.Permissions = permissions; group.Permissions = permissions;
group.Parent = TShock.Utils.GetGroup(parentname); group.Parent = TShock.Utils.GetGroup(parentname);
} }
#if COMPAT_SIGS #if COMPAT_SIGS

View file

@ -1412,15 +1412,15 @@ namespace TShockAPI
if (args.Player.RequestedSection) if (args.Player.RequestedSection)
return true; return true;
args.Player.RequestedSection = true; args.Player.RequestedSection = true;
if (String.IsNullOrEmpty(args.Player.Name)) if (String.IsNullOrEmpty(args.Player.Name))
{ {
TShock.Utils.ForceKick(args.Player, "Blank name.", true); TShock.Utils.ForceKick(args.Player, "Blank name.", true);
return true; return true;
} }
if (TShock.HackedHealth(args.Player) && !args.Player.Group.HasPermission(Permissions.ignorestathackdetection)) if (TShock.HackedHealth(args.Player) && !args.Player.Group.HasPermission(Permissions.ignorestathackdetection))
{ {
TShock.Utils.ForceKick(args.Player, "You have hacked health/mana, please use a different character.", true); TShock.Utils.ForceKick(args.Player, "You have hacked health/mana, please use a different character.", true);
return true; return true;
} }
if (!args.Player.Group.HasPermission(Permissions.ignorestackhackdetection)) if (!args.Player.Group.HasPermission(Permissions.ignorestackhackdetection))
@ -1675,7 +1675,7 @@ namespace TShockAPI
{ {
return true; return true;
} }
if (type == 1 && (tiletype == 29 || tiletype == 97) && TShock.Config.ServerSideInventory && TShock.Config.DisablePiggybanksOnSSI) if (type == 1 && (tiletype == 29 || tiletype == 97) && TShock.Config.ServerSideInventory && TShock.Config.DisablePiggybanksOnSSI)
{ {
args.Player.SendMessage("You cannot place this tile, server side inventory is enabled.", Color.Red); args.Player.SendMessage("You cannot place this tile, server side inventory is enabled.", Color.Red);
args.Player.SendTileSquare(tileX, tileY); args.Player.SendTileSquare(tileX, tileY);
@ -1688,25 +1688,25 @@ namespace TShockAPI
args.Player.SendTileSquare(tileX, tileY); args.Player.SendTileSquare(tileX, tileY);
return true; return true;
} }
if (type == 1 && tiletype == 21) if (type == 1 && tiletype == 21)
{ {
if (TShock.Utils.MaxChests()) if (TShock.Utils.MaxChests())
{ {
args.Player.SendMessage("Reached the world's max chest limit, unable to place more.", Color.Red); args.Player.SendMessage("Reached the world's max chest limit, unable to place more.", Color.Red);
args.Player.SendTileSquare(tileX, tileY); args.Player.SendTileSquare(tileX, tileY);
return true; return true;
} }
if ((TShock.Utils.TileInRange(tileX, tileY + 1) && Main.tile[tileX, tileY + 1].type == 138) || if ((TShock.Utils.TileInRange(tileX, tileY + 1) && Main.tile[tileX, tileY + 1].type == 138) ||
(TShock.Utils.TileInRange(tileX + 1, tileY + 1) && Main.tile[tileX + 1, tileY + 1].type == 138)) (TShock.Utils.TileInRange(tileX + 1, tileY + 1) && Main.tile[tileX + 1, tileY + 1].type == 138))
{ {
args.Player.SendTileSquare(tileX, tileY); args.Player.SendTileSquare(tileX, tileY);
return true; return true;
} }
} }
if (tiletype == 141 && !args.Player.Group.HasPermission(Permissions.usebanneditem) && if (tiletype == 141 && !args.Player.Group.HasPermission(Permissions.usebanneditem) &&
TShock.Itembans.ItemIsBanned("Explosives", args.Player)) TShock.Itembans.ItemIsBanned("Explosives", args.Player))
{ {
args.Player.Disable("Used banned explosives tile without permission."); args.Player.Disable("Used banned explosives tile without permission.");
args.Player.SendTileSquare(tileX, tileY); args.Player.SendTileSquare(tileX, tileY);
return true; return true;
} }
@ -1909,10 +1909,10 @@ namespace TShockAPI
if (!args.Player.Group.HasPermission(Permissions.ignorenoclipdetection) && if (!args.Player.Group.HasPermission(Permissions.ignorenoclipdetection) &&
TSCheckNoclip(pos, args.TPlayer.width, args.TPlayer.height) && !TShock.Config.IgnoreNoClip TSCheckNoclip(pos, args.TPlayer.width, args.TPlayer.height) && !TShock.Config.IgnoreNoClip
&& !args.TPlayer.tongued) && !args.TPlayer.tongued)
{ {
int lastTileX = (int) (args.Player.LastNetPosition.X/16f); int lastTileX = (int)(args.Player.LastNetPosition.X / 16f);
int lastTileY = (int) (args.Player.LastNetPosition.Y/16f); int lastTileY = (int)(args.Player.LastNetPosition.Y / 16f);
if (!args.Player.Teleport(lastTileX, lastTileY + 3)) if (!args.Player.Teleport(lastTileX, lastTileY + 3))
{ {
args.Player.SendErrorMessage("You got stuck in a solid object, Sent to spawn point."); args.Player.SendErrorMessage("You got stuck in a solid object, Sent to spawn point.");
@ -2162,34 +2162,34 @@ namespace TShockAPI
{ {
args.Player.TileLiquidThreshold++; args.Player.TileLiquidThreshold++;
} }
if (liquid != 0) if (liquid != 0)
{ {
int bucket = 0; int bucket = 0;
if (args.TPlayer.inventory[args.TPlayer.selectedItem].type == 206) if (args.TPlayer.inventory[args.TPlayer.selectedItem].type == 206)
{ {
bucket = 1; bucket = 1;
} }
else if (args.TPlayer.inventory[args.TPlayer.selectedItem].type == 207) else if (args.TPlayer.inventory[args.TPlayer.selectedItem].type == 207)
{ {
bucket = 2; bucket = 2;
} }
if (lava && bucket != 2 && !args.Player.Group.HasPermission(Permissions.usebanneditem) && if (lava && bucket != 2 && !args.Player.Group.HasPermission(Permissions.usebanneditem) &&
TShock.Itembans.ItemIsBanned("Lava Bucket", args.Player)) TShock.Itembans.ItemIsBanned("Lava Bucket", args.Player))
{ {
args.Player.Disable("Using banned lava bucket without permissions."); args.Player.Disable("Using banned lava bucket without permissions.");
args.Player.SendTileSquare(tileX, tileY); args.Player.SendTileSquare(tileX, tileY);
return true; return true;
} }
if (!lava && bucket != 1 && !args.Player.Group.HasPermission(Permissions.usebanneditem) && if (!lava && bucket != 1 && !args.Player.Group.HasPermission(Permissions.usebanneditem) &&
TShock.Itembans.ItemIsBanned("Water Bucket", args.Player)) TShock.Itembans.ItemIsBanned("Water Bucket", args.Player))
{ {
args.Player.Disable("Using banned water bucket without permissions."); args.Player.Disable("Using banned water bucket without permissions.");
args.Player.SendTileSquare(tileX, tileY); args.Player.SendTileSquare(tileX, tileY);
return true; return true;
} }
} }
if (TShock.CheckTilePermission(args.Player, tileX, tileY)) if (TShock.CheckTilePermission(args.Player, tileX, tileY))
{ {
@ -2465,10 +2465,10 @@ namespace TShockAPI
return true; return true;
// player is attempting to crash clients // player is attempting to crash clients
if (type < -24 || type >= Main.maxItemTypes) if (type < -24 || type >= Main.maxItemTypes)
{ {
return true; return true;
} }
if (type == 0) //Item removed, let client do this to prevent item duplication client side if (type == 0) //Item removed, let client do this to prevent item duplication client side
{ {
return false; return false;
@ -2529,9 +2529,9 @@ namespace TShockAPI
if (TShock.Players[id] == null) if (TShock.Players[id] == null)
return true; return true;
if (dmg > TShock.Config.MaxDamage && !args.Player.Group.HasPermission(Permissions.ignoredamagecap) && id != args.Player.Index) if (dmg > TShock.Config.MaxDamage && !args.Player.Group.HasPermission(Permissions.ignoredamagecap) && id != args.Player.Index)
{ {
args.Player.Disable(String.Format("Player damage exceeded {0}.", TShock.Config.MaxDamage ) ); args.Player.Disable(String.Format("Player damage exceeded {0}.", TShock.Config.MaxDamage));
args.Player.SendData(PacketTypes.PlayerHp, "", id); args.Player.SendData(PacketTypes.PlayerHp, "", id);
args.Player.SendData(PacketTypes.PlayerUpdate, "", id); args.Player.SendData(PacketTypes.PlayerUpdate, "", id);
return true; return true;

View file

@ -174,20 +174,20 @@ namespace TShockAPI
/// <returns>Returns true if the user has that permission.</returns> /// <returns>Returns true if the user has that permission.</returns>
public virtual bool HasPermission(string permission) public virtual bool HasPermission(string permission)
{ {
if (String.IsNullOrEmpty(permission) || RealHasPermission(permission)) if (String.IsNullOrEmpty(permission) || RealHasPermission(permission))
{ {
return true; return true;
} }
string[] nodes = permission.Split('.'); string[] nodes = permission.Split('.');
for (int i = nodes.Length - 1; i >= 0; i--) for (int i = nodes.Length - 1; i >= 0; i--)
{ {
nodes[i] = "*"; nodes[i] = "*";
if (RealHasPermission(String.Join(".", nodes, 0, i + 1))) if (RealHasPermission(String.Join(".", nodes, 0, i + 1)))
{ {
return true; return true;
} }
} }
return false; return false;
} }
private bool RealHasPermission(string permission) private bool RealHasPermission(string permission)
{ {