diff --git a/TShockAPI/RestManager.cs b/TShockAPI/RestManager.cs index 6da536ec..af8125a9 100644 --- a/TShockAPI/RestManager.cs +++ b/TShockAPI/RestManager.cs @@ -30,6 +30,10 @@ namespace TShockAPI { Rest.Register(new RestCommand("/lists/players", UserList) {RequiesToken = true}); + + Rest.Register(new RestCommand("/world/read", WorldRead) { RequiesToken = true }); + Rest.Register(new RestCommand("/world/meteor", WorldMeteor) { RequiesToken = true }); + Rest.Register(new RestCommand("/world/bloodmoon/{bool}", WorldBloodmoon) { RequiesToken = true }); //RegisterExamples(); } @@ -284,6 +288,53 @@ namespace TShockAPI { #endregion + #region RestWorldMethods + object WorldRead(RestVerbs verbs, IParameterCollection parameters) + { + var returnBlock = new Dictionary(); + returnBlock.Add("status", "200"); + returnBlock.Add("name", Main.worldName); + returnBlock.Add("size", Main.maxTilesX + "*" + Main.maxTilesY); + returnBlock.Add("time", Main.time.ToString()); + returnBlock.Add("daytime", Main.dayTime.ToString()); + returnBlock.Add("bloodmoon", Main.bloodMoon.ToString()); + returnBlock.Add("invasionsize", Main.invasionSize.ToString()); + return returnBlock; + } + + object WorldMeteor(RestVerbs verbs, IParameterCollection parameters) + { + WorldGen.dropMeteor(); + var returnBlock = new Dictionary(); + returnBlock.Add("status", "200"); + returnBlock.Add("response", "Meteor has been spawned."); + return returnBlock; + } + + object WorldBloodmoon(RestVerbs verbs, IParameterCollection parameters) + { + var returnBlock = new Dictionary(); + var bloodmoonVerb = verbs["bool"]; + bool bloodmoon; + if (bloodmoonVerb == null) + { + returnBlock.Add("status", "400"); + returnBlock.Add("error", "No parameter was passed."); + return returnBlock; + } + if (!bool.TryParse(bloodmoonVerb, out bloodmoon)) + { + returnBlock.Add("status", "400"); + returnBlock.Add("error", "Unable to parse parameter."); + return returnBlock; + } + Main.bloodMoon = bloodmoon; + returnBlock.Add("status", "200"); + returnBlock.Add("response", "Blood Moon has been set to " + bloodmoon.ToString()); + return returnBlock; + } + #endregion + #region RestExampleMethods public void RegisterExamples()