summaryrefslogtreecommitdiff
path: root/src/SMAPI.Toolkit
diff options
context:
space:
mode:
Diffstat (limited to 'src/SMAPI.Toolkit')
-rw-r--r--src/SMAPI.Toolkit/Framework/ModData/ModDataField.cs1
-rw-r--r--src/SMAPI.Toolkit/Framework/ModData/ModDataFieldKey.cs5
-rw-r--r--src/SMAPI.Toolkit/Framework/ModData/ModDataRecord.cs5
-rw-r--r--src/SMAPI.Toolkit/Framework/ModData/ModDataRecordVersionedFields.cs3
-rw-r--r--src/SMAPI.Toolkit/Serialization/JsonHelper.cs6
5 files changed, 19 insertions, 1 deletions
diff --git a/src/SMAPI.Toolkit/Framework/ModData/ModDataField.cs b/src/SMAPI.Toolkit/Framework/ModData/ModDataField.cs
index b3954693..44422f01 100644
--- a/src/SMAPI.Toolkit/Framework/ModData/ModDataField.cs
+++ b/src/SMAPI.Toolkit/Framework/ModData/ModDataField.cs
@@ -71,6 +71,7 @@ namespace StardewModdingAPI.Toolkit.Framework.ModData
// non-manifest fields
case ModDataFieldKey.AlternativeUrl:
case ModDataFieldKey.StatusReasonPhrase:
+ case ModDataFieldKey.StatusReasonDetails:
case ModDataFieldKey.Status:
return false;
diff --git a/src/SMAPI.Toolkit/Framework/ModData/ModDataFieldKey.cs b/src/SMAPI.Toolkit/Framework/ModData/ModDataFieldKey.cs
index 09dd0cc5..068291aa 100644
--- a/src/SMAPI.Toolkit/Framework/ModData/ModDataFieldKey.cs
+++ b/src/SMAPI.Toolkit/Framework/ModData/ModDataFieldKey.cs
@@ -13,6 +13,9 @@ namespace StardewModdingAPI.Toolkit.Framework.ModData
Status,
/// <summary>A reason phrase for the <see cref="Status"/>, or <c>null</c> to use the default reason.</summary>
- StatusReasonPhrase
+ StatusReasonPhrase,
+
+ /// <summary>Technical details shown in TRACE logs for the <see cref="Status"/>, or <c>null</c> to omit it.</summary>
+ StatusReasonDetails
}
}
diff --git a/src/SMAPI.Toolkit/Framework/ModData/ModDataRecord.cs b/src/SMAPI.Toolkit/Framework/ModData/ModDataRecord.cs
index 3201c421..f28f6afe 100644
--- a/src/SMAPI.Toolkit/Framework/ModData/ModDataRecord.cs
+++ b/src/SMAPI.Toolkit/Framework/ModData/ModDataRecord.cs
@@ -107,6 +107,11 @@ namespace StardewModdingAPI.Toolkit.Framework.ModData
case ModDataFieldKey.StatusReasonPhrase:
parsed.StatusReasonPhrase = field.Value;
break;
+
+ // status technical reason
+ case ModDataFieldKey.StatusReasonDetails:
+ parsed.StatusReasonDetails = field.Value;
+ break;
}
}
diff --git a/src/SMAPI.Toolkit/Framework/ModData/ModDataRecordVersionedFields.cs b/src/SMAPI.Toolkit/Framework/ModData/ModDataRecordVersionedFields.cs
index 598da66a..f0282eb4 100644
--- a/src/SMAPI.Toolkit/Framework/ModData/ModDataRecordVersionedFields.cs
+++ b/src/SMAPI.Toolkit/Framework/ModData/ModDataRecordVersionedFields.cs
@@ -24,6 +24,9 @@ namespace StardewModdingAPI.Toolkit.Framework.ModData
/// <summary>A reason phrase for the <see cref="Status"/>, or <c>null</c> to use the default reason.</summary>
public string StatusReasonPhrase { get; set; }
+ /// <summary>Technical details shown in TRACE logs for the <see cref="Status"/>, or <c>null</c> to omit it.</summary>
+ public string StatusReasonDetails { get; set; }
+
/// <summary>The upper version for which the <see cref="Status"/> applies (if any).</summary>
public ISemanticVersion StatusUpperVersion { get; set; }
}
diff --git a/src/SMAPI.Toolkit/Serialization/JsonHelper.cs b/src/SMAPI.Toolkit/Serialization/JsonHelper.cs
index 031afbb0..00db9903 100644
--- a/src/SMAPI.Toolkit/Serialization/JsonHelper.cs
+++ b/src/SMAPI.Toolkit/Serialization/JsonHelper.cs
@@ -132,5 +132,11 @@ namespace StardewModdingAPI.Toolkit.Serialization
{
return JsonConvert.SerializeObject(model, formatting, this.JsonSettings);
}
+
+ /// <summary>Get a low-level JSON serializer matching the <see cref="JsonSettings"/>.</summary>
+ public JsonSerializer GetSerializer()
+ {
+ return JsonSerializer.CreateDefault(this.JsonSettings);
+ }
}
}