diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs
index 2fc5fed6..c746dbd1 100755
--- a/TShockAPI/GetDataHandlers.cs
+++ b/TShockAPI/GetDataHandlers.cs
@@ -1284,9 +1284,15 @@ namespace TShockAPI
bypassTrashCanCheck = true;
}
- if (OnPlayerSlot(plr, slot, stack, prefix, type) || plr != args.Player.Index || slot < 0 || slot > NetItem.maxNetInventory || args.Player.IgnoreSSCPackets)
+ if (OnPlayerSlot(plr, slot, stack, prefix, type) || plr != args.Player.Index || slot < 0 ||
+ slot > NetItem.maxNetInventory)
return true;
-
+ if (args.Player.IgnoreSSCPackets)
+ {
+ args.Player.SendData(PacketTypes.PlayerSlot, "", args.Player.Index, slot);
+ return true;
+ }
+
// Garabage? Or will it cause some internal initialization or whatever?
var item = new Item();
item.netDefaults(type);
diff --git a/TShockAPI/ServerSideCharacters/ServerSideConfig.cs b/TShockAPI/ServerSideCharacters/ServerSideConfig.cs
index ea4cc931..b49f3238 100644
--- a/TShockAPI/ServerSideCharacters/ServerSideConfig.cs
+++ b/TShockAPI/ServerSideCharacters/ServerSideConfig.cs
@@ -20,6 +20,8 @@ along with this program. If not, see .
*/
using System.IO;
+using System.Linq;
+using System.Text;
using Newtonsoft.Json;
namespace TShockAPI.ServerSideCharacters
@@ -61,5 +63,37 @@ namespace TShockAPI.ServerSideCharacters
writer.Write(JsonConvert.SerializeObject(this, Formatting.Indented));
}
}
+
+ ///
+ /// Dumps all configuration options to a text file in Markdown format
+ ///
+ public static void DumpDescriptions()
+ {
+ var sb = new StringBuilder();
+ var defaults = new ServerSideConfig();
+
+ foreach (var field in defaults.GetType().GetFields().OrderBy(f => f.Name))
+ {
+ if (field.IsStatic)
+ continue;
+
+ var name = field.Name;
+ var type = field.FieldType.Name;
+
+ var descattr =
+ field.GetCustomAttributes(false).FirstOrDefault(o => o is DescriptionAttribute) as DescriptionAttribute;
+ var desc = descattr != null && !string.IsNullOrWhiteSpace(descattr.Description) ? descattr.Description : "None";
+
+ var def = field.GetValue(defaults);
+
+ sb.AppendLine("{0} ".SFormat(name));
+ sb.AppendLine("Type: {0} ".SFormat(type));
+ sb.AppendLine("Description: {0} ".SFormat(desc));
+ sb.AppendLine("Default: \"{0}\" ".SFormat(def));
+ sb.AppendLine();
+ }
+
+ File.WriteAllText("ServerSideConfigDescriptions.txt", sb.ToString());
+ }
}
}
diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs
index 7310011c..f7f32205 100755
--- a/TShockAPI/TShock.cs
+++ b/TShockAPI/TShock.cs
@@ -518,6 +518,8 @@ namespace TShockAPI
case "-dump":
ConfigFile.DumpDescriptions();
Permissions.DumpDescriptions();
+ ServerSideConfig.DumpDescriptions();
+ Environment.Exit(1);
break;
}
}