From 45a8cf09ce7cbd42141925f367b40f75ac30aaf0 Mon Sep 17 00:00:00 2001 From: Shank Date: Thu, 2 Jun 2011 01:39:05 -0600 Subject: [PATCH] Json starting fresh. --- TShockAPI/ConfigFile.cs | 23 ++++++++ TShockAPI/ConfigurationManager.cs | 51 ++++++++++++++++++ TShockAPI/FileTools.cs | 45 ++-------------- TShockAPI/TShock.cs | 2 +- TShockAPI/TShockAPI.csproj | 4 ++ ...gnTimeResolveAssemblyReferencesInput.cache | Bin 6278 -> 6376 bytes Terraria.sln | 12 ----- 7 files changed, 82 insertions(+), 55 deletions(-) create mode 100644 TShockAPI/ConfigFile.cs diff --git a/TShockAPI/ConfigFile.cs b/TShockAPI/ConfigFile.cs new file mode 100644 index 00000000..862dcd34 --- /dev/null +++ b/TShockAPI/ConfigFile.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace TShockAPI +{ + class ConfigFile + { + public ConfigFile() { } + public int InvasionMultiplier = 1; + public int DefaultMaximumSpawns = 4; + public int DefaultSpawnRate = 700; + public int ServerPort = 7777; + public bool EnableWhitelist = false; + public bool InfiniteInvasion = false; + public bool AlwaysPvP = false; + public bool KickSaveEditors = true; + public bool BanSaveEditors = true; + public bool BanKillTileAbusers = false; + public bool KickKillTileAbusers = false; + } +} diff --git a/TShockAPI/ConfigurationManager.cs b/TShockAPI/ConfigurationManager.cs index 1dcdcbd3..22357a85 100644 --- a/TShockAPI/ConfigurationManager.cs +++ b/TShockAPI/ConfigurationManager.cs @@ -2,6 +2,8 @@ using System.Collections.Generic; using System.Linq; using System.Text; +using System.IO; +using Newtonsoft.Json; namespace TShockAPI { @@ -29,5 +31,54 @@ namespace TShockAPI EYE = 1, SKELETRON = 2 } + + public static void ReadJsonConfiguration() + { + TextReader tr = new StreamReader(FileTools.saveDir + "config.json"); + ConfigFile cfg = JsonConvert.DeserializeObject(tr.ReadToEnd()); + tr.Close(); + + invasionMultiplier = cfg.InvasionMultiplier; + defaultMaxSpawns = cfg.DefaultMaximumSpawns; + defaultSpawnRate = cfg.DefaultSpawnRate; + serverPort = cfg.ServerPort; + enableWhitelist = cfg.EnableWhitelist; + infiniteInvasion = cfg.InfiniteInvasion; + permaPvp = cfg.AlwaysPvP; + kickCheater = cfg.KickSaveEditors; + banCheater = cfg.BanSaveEditors; + banTnt = cfg.BanKillTileAbusers; + kickTnt = cfg.KickKillTileAbusers; + } + + public static void WriteJsonConfiguration() + { + if (System.IO.File.Exists(FileTools.saveDir + "config.json")) + { + return; + } + else + { + FileTools.CreateFile(FileTools.saveDir + "config.json"); + } + + ConfigFile cfg = new ConfigFile(); + cfg.InvasionMultiplier = 50; + cfg.DefaultMaximumSpawns = 4; + cfg.DefaultSpawnRate = 700; + cfg.ServerPort = 7777; + cfg.EnableWhitelist = false; + cfg.InfiniteInvasion = false; + cfg.AlwaysPvP = false; + cfg.KickSaveEditors = false; + cfg.BanSaveEditors = false; + cfg.BanKillTileAbusers = true; + cfg.KickKillTileAbusers = true; + + string json = JsonConvert.SerializeObject(cfg, Formatting.Indented); + TextWriter tr = new StreamWriter(FileTools.saveDir + "config.json"); + tr.Write(json); + tr.Close(); + } } } diff --git a/TShockAPI/FileTools.cs b/TShockAPI/FileTools.cs index 9e22e4bf..7c28a17f 100644 --- a/TShockAPI/FileTools.cs +++ b/TShockAPI/FileTools.cs @@ -1,9 +1,7 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; using System.IO; using Terraria; +using System.Web; namespace TShockAPI { @@ -77,10 +75,6 @@ namespace TShockAPI public static void SetupConfig() { if (!System.IO.Directory.Exists(saveDir)) { System.IO.Directory.CreateDirectory(saveDir); } - if (System.IO.File.Exists(saveDir + "tiles.txt")) - { - System.IO.File.Delete(saveDir + "tiles.txt"); - } if (!System.IO.File.Exists(saveDir + "motd.txt")) { FileTools.CreateFile(saveDir + "motd.txt"); @@ -95,41 +89,8 @@ namespace TShockAPI if (!System.IO.File.Exists(saveDir + "admins.txt")) { FileTools.CreateFile(saveDir + "admins.txt"); } if (!System.IO.File.Exists(saveDir + "grief.txt")) { FileTools.CreateFile(saveDir + "grief.txt"); } if (!System.IO.File.Exists(saveDir + "whitelist.txt")) { FileTools.CreateFile(saveDir + "whitelist.txt"); } - if (!System.IO.File.Exists(saveDir + "config.txt")) - { - FileTools.CreateFile(saveDir + "config.txt"); - TextWriter tw = new StreamWriter(saveDir + "config.txt"); - tw.WriteLine("true,50,4,700,true,true,7777,false,false,false,false,false"); - tw.Close(); - } - TextReader tr = new StreamReader(saveDir + "config.txt"); - string config = tr.ReadToEnd(); - config = config.Replace("\n", ""); - config = config.Replace("\r", ""); - config = config.Replace(" ", ""); - tr.Close(); - string[] configuration = config.Split(','); - try - { - ConfigurationManager.invasionMultiplier = Convert.ToInt32(configuration[1]); - ConfigurationManager.defaultMaxSpawns = Convert.ToInt32(configuration[2]); - ConfigurationManager.defaultSpawnRate = Convert.ToInt32(configuration[3]); - ConfigurationManager.kickCheater = Convert.ToBoolean(configuration[4]); - ConfigurationManager.banCheater = Convert.ToBoolean(configuration[5]); - ConfigurationManager.serverPort = Convert.ToInt32(configuration[6]); - ConfigurationManager.enableWhitelist = Convert.ToBoolean(configuration[7]); - ConfigurationManager.infiniteInvasion = Convert.ToBoolean(configuration[8]); - ConfigurationManager.permaPvp = Convert.ToBoolean(configuration[9]); - ConfigurationManager.kickTnt = Convert.ToBoolean(configuration[10]); - ConfigurationManager.banTnt = Convert.ToBoolean(configuration[11]); - NPC.defaultMaxSpawns = ConfigurationManager.defaultMaxSpawns; - NPC.defaultSpawnRate = ConfigurationManager.defaultSpawnRate; - } - catch (Exception e) - { - FileTools.WriteError(e.Message); - } - + ConfigurationManager.WriteJsonConfiguration(); + ConfigurationManager.ReadJsonConfiguration(); Netplay.serverPort = ConfigurationManager.serverPort; } /// diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index a7e0699a..b2cd9982 100644 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -15,7 +15,7 @@ namespace TShockAPI public static string saveDir = "./tshock/"; - public static Version VersionNum = new Version(1, 3, 0, 0); + public static Version VersionNum = new Version(1, 3, 0, 1); public static bool shownVersion = false; diff --git a/TShockAPI/TShockAPI.csproj b/TShockAPI/TShockAPI.csproj index b50ce75a..d8dce307 100644 --- a/TShockAPI/TShockAPI.csproj +++ b/TShockAPI/TShockAPI.csproj @@ -34,6 +34,9 @@ + + .\Newtonsoft.Json.dll + @@ -50,6 +53,7 @@ + diff --git a/TShockAPI/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/TShockAPI/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index 2a9ad2b0dae8b46a41e12533b16402309b13a659..376f00bddd35092b605088b821d9a2c4f325e83f 100644 GIT binary patch delta 329 zcmZoOd||lZASV|e0|Nt_IFLx6%*YeGS&r)wBV)|uMm|qbztr-Q{Ji4)v=Tk9;`}_l zl$;zk*~#~L;wDG)aI(q)wUhw0L`^=-Bh4re6i;VW0E)$e#5h4}6@k1&FfSrE2drCZ zvLIhJqw?fhz9?1|plk%tp1{qz{Qp>_Re@X>5M%?g7=f5g4M+q5jR=wxWQU2V0~suC zr8zl_96%N;5ObD%T#TxlJ;iL90F|ao*8l(j delta 337 zcmaE1*k-ulASV|u0|Nt_IFLx6tjH}sdB2GDW?8PsjFVk>qbKj>;bfHsN|nH*CjaN< zm^`1Cb+Q((7^B=|N8WT+d7ykOk~|Nq0#GCoNrZzpA~#1bB`1eX5h#;}EW-zq@yX09 z1WPMTzRwrMsti;VF`1FabFvOU$L4twT zb8;9tfGk!Z=2V$1Au7kHG1**HR#FovAXM#&xm#vVs$XJmYAu^CP$(Ge7*jD3Ry`mOW}^+42#^N?>?)gAi`g;( E04zvNWB>pF diff --git a/Terraria.sln b/Terraria.sln index c377a61d..3c46c488 100644 --- a/Terraria.sln +++ b/Terraria.sln @@ -1,8 +1,6 @@  Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Terraria", "Terraria.csproj", "{1528EA3F-A6D2-49F6-BF75-7A842CF4D97B}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TShockAPI", "TShockAPI\TShockAPI.csproj", "{49606449-072B-4CF5-8088-AA49DA586694}" EndProject Global @@ -15,16 +13,6 @@ Global Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {1528EA3F-A6D2-49F6-BF75-7A842CF4D97B}.Debug|Any CPU.ActiveCfg = Debug|x86 - {1528EA3F-A6D2-49F6-BF75-7A842CF4D97B}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {1528EA3F-A6D2-49F6-BF75-7A842CF4D97B}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {1528EA3F-A6D2-49F6-BF75-7A842CF4D97B}.Debug|x86.ActiveCfg = Debug|x86 - {1528EA3F-A6D2-49F6-BF75-7A842CF4D97B}.Debug|x86.Build.0 = Debug|x86 - {1528EA3F-A6D2-49F6-BF75-7A842CF4D97B}.Release|Any CPU.ActiveCfg = Release|x86 - {1528EA3F-A6D2-49F6-BF75-7A842CF4D97B}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {1528EA3F-A6D2-49F6-BF75-7A842CF4D97B}.Release|Mixed Platforms.Build.0 = Release|x86 - {1528EA3F-A6D2-49F6-BF75-7A842CF4D97B}.Release|x86.ActiveCfg = Release|x86 - {1528EA3F-A6D2-49F6-BF75-7A842CF4D97B}.Release|x86.Build.0 = Release|x86 {49606449-072B-4CF5-8088-AA49DA586694}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {49606449-072B-4CF5-8088-AA49DA586694}.Debug|Any CPU.Build.0 = Debug|Any CPU {49606449-072B-4CF5-8088-AA49DA586694}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU