Files
minecraft-modpack-updater/ModpackUpdater/InstallAction.cs
2025-11-15 17:17:52 +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;
}
}