Files
minecraft-modpack-updater/ModpackUpdater/InstallAction.cs
2025-11-14 11:35:40 +01:00

62 lines
1.4 KiB
C#

using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System.ComponentModel;
using System.Runtime.CompilerServices;
namespace ModpackUpdater;
public class InstallAction
{
[DefaultValue(null)]
public string Id { get; set; }
[DefaultValue(null)]
public string Name { get; set; }
[DefaultValue(null)]
public string Website { get; set; }
[DefaultValue(false)]
public bool IsZip { get; set; }
[DefaultValue(null)]
public string ZipPath { get; set; }
[DefaultValue(null)]
public string DestPath { get; set; }
[DefaultValue(null)]
public string SourceUrl { get; set; }
[DefaultValue(SourceType.DirectLink)]
[JsonConverter(typeof(StringEnumConverter))]
public SourceType SourceType { get; set; }
[DefaultValue(null)]
public string SourceOwner { get; set; }
[DefaultValue(null)]
public string SourceName { get; set; }
[DefaultValue(null)]
public string SourceRegex { get; set; }
[DefaultValue(null)]
public string SourceTag { get; set; }
[DefaultValue(Side.Both)]
[JsonConverter(typeof(StringEnumConverter))]
public Side Side { get; set; } = Side.Both;
[DefaultValue(false)]
public bool IsExtra { get; set; }
[DefaultValue(null)]
public string TargetOption { get; set; }
[JsonProperty, Obsolete]
private string DownloadUrl
{
set => SourceUrl = value;
}
}