Added new REST endpoints:
- /v2/world/save
-- Saves the world
- /v2/world/autosave/state/{bool}
-- Changes the autosave state of the server
TSHOCKPLUGINS-12
This commit is contained in:
parent
e61593d74c
commit
e17f56fae0
1 changed files with 66 additions and 34 deletions
|
|
@ -40,7 +40,7 @@ namespace TShockAPI
|
|||
Rest.Register(new RestCommand("/tokentest", TokenTest) {RequiresToken = true});
|
||||
|
||||
Rest.Register(new RestCommand("/users/activelist", UserList) {RequiresToken = true});
|
||||
Rest.Register(new RestCommand("/v2/users/activelist", UserListV2) { RequiresToken = true });
|
||||
Rest.Register(new RestCommand("/v2/users/activelist", UserListV2) { RequiresToken = true });
|
||||
Rest.Register(new RestCommand("/v2/users/read", UserInfoV2) { RequiresToken = true });
|
||||
Rest.Register(new RestCommand("/v2/users/destroy", UserDestroyV2) { RequiresToken = true });
|
||||
Rest.Register(new RestCommand("/v2/users/update", UserUpdateV2) { RequiresToken = true });
|
||||
|
|
@ -54,6 +54,8 @@ namespace TShockAPI
|
|||
Rest.Register(new RestCommand("/world/read", WorldRead) {RequiresToken = true});
|
||||
Rest.Register(new RestCommand("/world/meteor", WorldMeteor) {RequiresToken = true});
|
||||
Rest.Register(new RestCommand("/world/bloodmoon/{bool}", WorldBloodmoon) {RequiresToken = true});
|
||||
Rest.Register(new RestCommand("/v2/world/save", WorldSave) { RequiresToken = true});
|
||||
Rest.Register(new RestCommand("/v2/world/autosave/state/{bool}", ChangeWorldSaveSettings) { RequiresToken = true });
|
||||
Rest.Register(new RestCommand("/v2/world/butcher", Butcher) {RequiresToken = true});
|
||||
|
||||
Rest.Register(new RestCommand("/v2/players/read", PlayerReadV2) { RequiresToken = true });
|
||||
|
|
@ -144,7 +146,7 @@ namespace TShockAPI
|
|||
private object TokenTest(RestVerbs verbs, IParameterCollection parameters)
|
||||
{
|
||||
return new Dictionary<string, string>
|
||||
{{"status", "200"}, {"response", "Token is valid and was passed through correctly."}};
|
||||
{{"status", "200"}, {"response", "Token is valid and was passed through correctly."}};
|
||||
}
|
||||
|
||||
private object Status(RestVerbs verbs, IParameterCollection parameters)
|
||||
|
|
@ -168,17 +170,17 @@ namespace TShockAPI
|
|||
|
||||
#region RestUserMethods
|
||||
|
||||
private object UserListV2(RestVerbs verbs, IParameterCollection parameters)
|
||||
{
|
||||
var ret = new RestObject("200");
|
||||
string playerlist = "";
|
||||
foreach (var TSPlayer in TShock.Players)
|
||||
{
|
||||
playerlist += playerlist == "" ? TSPlayer.UserAccountName : "\t" + TSPlayer.UserAccountName;
|
||||
}
|
||||
ret["activeusers"] = playerlist;
|
||||
return ret;
|
||||
}
|
||||
private object UserListV2(RestVerbs verbs, IParameterCollection parameters)
|
||||
{
|
||||
var ret = new RestObject("200");
|
||||
string playerlist = "";
|
||||
foreach (var TSPlayer in TShock.Players)
|
||||
{
|
||||
playerlist += playerlist == "" ? TSPlayer.UserAccountName : "\t" + TSPlayer.UserAccountName;
|
||||
}
|
||||
ret["activeusers"] = playerlist;
|
||||
return ret;
|
||||
}
|
||||
|
||||
private object UserUpdateV2(RestVerbs verbs, IParameterCollection parameters)
|
||||
{
|
||||
|
|
@ -379,6 +381,36 @@ namespace TShockAPI
|
|||
|
||||
#region RestWorldMethods
|
||||
|
||||
private object ChangeWorldSaveSettings(RestVerbs verbs, IParameterCollection parameters)
|
||||
{
|
||||
bool state;
|
||||
bool.TryParse(verbs["state"], out state);
|
||||
|
||||
if (state == true)
|
||||
{
|
||||
TShock.Config.AutoSave = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
TShock.Config.AutoSave = false;
|
||||
}
|
||||
|
||||
RestObject rj = new RestObject("200");
|
||||
rj["response"] = "Value changed";
|
||||
rj["state"] = state;
|
||||
|
||||
return rj;
|
||||
}
|
||||
|
||||
private object WorldSave(RestVerbs verbs, IParameterCollection parameters)
|
||||
{
|
||||
TShock.Utils.SaveWorld();
|
||||
|
||||
RestObject rj = new RestObject("200");
|
||||
rj["response"] = "World saved.";
|
||||
return rj;
|
||||
}
|
||||
|
||||
private object Butcher(RestVerbs verbs, IParameterCollection parameters)
|
||||
{
|
||||
bool killFriendly;
|
||||
|
|
@ -423,11 +455,11 @@ namespace TShockAPI
|
|||
|
||||
private object WorldMeteor(RestVerbs verbs, IParameterCollection parameters)
|
||||
{
|
||||
if (WorldGen.genRand == null)
|
||||
WorldGen.genRand = new Random();
|
||||
if (WorldGen.genRand == null)
|
||||
WorldGen.genRand = new Random();
|
||||
WorldGen.dropMeteor();
|
||||
var returnBlock = new Dictionary<string, string> {{"status", "200"}, {"response", "Meteor has been spawned."}};
|
||||
return returnBlock;
|
||||
return returnBlock;
|
||||
}
|
||||
|
||||
private object WorldBloodmoon(RestVerbs verbs, IParameterCollection parameters)
|
||||
|
|
@ -713,24 +745,24 @@ namespace TShockAPI
|
|||
return returnBlock;
|
||||
}
|
||||
|
||||
private object UserList(RestVerbs verbs, IParameterCollection parameters)
|
||||
{
|
||||
var ret = new RestObject("200");
|
||||
string playerlist = "";
|
||||
foreach (var TSPlayer in TShock.Players)
|
||||
{
|
||||
if (playerlist == "")
|
||||
{
|
||||
playerlist += TSPlayer.UserAccountName;
|
||||
}
|
||||
else
|
||||
{
|
||||
playerlist += ", " + TSPlayer.UserAccountName;
|
||||
}
|
||||
}
|
||||
ret["activeuesrs"] = playerlist;
|
||||
return ret;
|
||||
}
|
||||
private object UserList(RestVerbs verbs, IParameterCollection parameters)
|
||||
{
|
||||
var ret = new RestObject("200");
|
||||
string playerlist = "";
|
||||
foreach (var TSPlayer in TShock.Players)
|
||||
{
|
||||
if (playerlist == "")
|
||||
{
|
||||
playerlist += TSPlayer.UserAccountName;
|
||||
}
|
||||
else
|
||||
{
|
||||
playerlist += ", " + TSPlayer.UserAccountName;
|
||||
}
|
||||
}
|
||||
ret["activeuesrs"] = playerlist;
|
||||
return ret;
|
||||
}
|
||||
|
||||
private object BanDestroy(RestVerbs verbs, IParameterCollection parameters)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue