From 4d5a0ed7280ae4f0cc24b503aba0855530c71472 Mon Sep 17 00:00:00 2001 From: Lucas Nicodemus Date: Fri, 30 Dec 2011 19:29:58 -0700 Subject: [PATCH] Added new REST function - /users/activelist - Gets the list of active, logged in user accounts, not player/character names. --- TShockAPI/GetDataHandlers.cs | 10 +++++----- TShockAPI/Rest/RestManager.cs | 28 +++++++++++++++++++++++----- 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs index 7c9b2dbd..6b0be656 100644 --- a/TShockAPI/GetDataHandlers.cs +++ b/TShockAPI/GetDataHandlers.cs @@ -53,13 +53,13 @@ namespace TShockAPI #region Events public class TileEditEventArgs : HandledEventArgs { - public float X { get; set; } - public float Y { get; set; } - public float Type { get; set; } - public float EditType { get; set; } + public int X { get; set; } + public int Y { get; set; } + public int Type { get; set; } + public byte EditType { get; set; } } public static HandlerList TileEdit = new HandlerList(); - public static bool OnTileEdit(float x, float y, float type, float editType) + public static bool OnTileEdit(int x, int y, int type, byte editType) { var args = new TileEditEventArgs { diff --git a/TShockAPI/Rest/RestManager.cs b/TShockAPI/Rest/RestManager.cs index 10fe0ad0..cbe6035b 100644 --- a/TShockAPI/Rest/RestManager.cs +++ b/TShockAPI/Rest/RestManager.cs @@ -25,13 +25,13 @@ namespace TShockAPI Rest.Register(new RestCommand("/users/read/{user}/info", UserInfo) {RequiresToken = true}); Rest.Register(new RestCommand("/users/destroy/{user}", UserDestroy) {RequiresToken = true}); Rest.Register(new RestCommand("/users/update/{user}", UserUpdate) {RequiresToken = true}); - + Rest.Register(new RestCommand("/users/activelist", UserList) {RequiresToken = true}); Rest.Register(new RestCommand("/bans/create", BanCreate) {RequiresToken = true}); Rest.Register(new RestCommand("/bans/read/{user}/info", BanInfo) {RequiresToken = true}); Rest.Register(new RestCommand("/bans/destroy/{user}", BanDestroy) {RequiresToken = true}); - Rest.Register(new RestCommand("/lists/players", UserList) {RequiresToken = true}); + Rest.Register(new RestCommand("/lists/players", PlayerList) {RequiresToken = true}); Rest.Register(new RestCommand("/world/read", WorldRead) {RequiresToken = true}); Rest.Register(new RestCommand("/world/meteor", WorldMeteor) {RequiresToken = true}); @@ -74,10 +74,19 @@ namespace TShockAPI private object UserList(RestVerbs verbs, IParameterCollection parameters) { - var activeplayers = Main.player.Where(p => p != null && p.active).ToList(); - string currentPlayers = string.Join(", ", activeplayers.Select(p => p.name)); var ret = new RestObject("200"); - ret["players"] = currentPlayers; + string playerlist = ""; + foreach (var TSPlayer in TShock.Players) + { + if (playerlist == "") + { + playerlist += TSPlayer.UserAccountName; + } else + { + playerlist += ", " + TSPlayer.UserAccountName; + } + } + ret["activeuesrs"] = playerlist; return ret; } @@ -329,6 +338,15 @@ namespace TShockAPI #region RestPlayerMethods + private object PlayerList(RestVerbs verbs, IParameterCollection parameters) + { + var activeplayers = Main.player.Where(p => p != null && p.active).ToList(); + string currentPlayers = string.Join(", ", activeplayers.Select(p => p.name)); + var ret = new RestObject("200"); + ret["players"] = currentPlayers; + return ret; + } + private object PlayerRead(RestVerbs verbs, IParameterCollection parameters) { var returnBlock = new Dictionary();