-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathIMinecraftVersion.cs
39 lines (32 loc) · 1.22 KB
/
IMinecraftVersion.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using MinecraftJars.Core.Downloads;
using MinecraftJars.Core.Projects;
namespace MinecraftJars.Core.Versions;
public interface IMinecraftVersion
{
/// <summary>
/// Project information about the version
/// </summary>
IMinecraftProject Project { get; }
/// <summary>
/// Version name e.g. 1.19.4
/// </summary>
string Version { get; }
/// <summary>
/// Indicates whether this version experimental
/// </summary>
bool IsSnapShot { get; }
/// <summary>
/// Indicates whether this version requires a specific operating system
/// </summary>
VersionOs Os => VersionOs.None;
/// <summary>
/// Indicates TRUE in case the plugin needs to build the JAR file instead of providing download information
/// </summary>
bool RequiresLocalBuild => false;
/// <summary>
/// Get the download information of the version
/// Note: In case this method is building the actual JAR the user is responsible to move/delete the temp.
/// directory including the built JAR file
/// </summary>
Task<IMinecraftDownload> GetDownload(DownloadOptions? options = null, CancellationToken cancellationToken = default!);
}