From f37126ee65b93494a4527640197961cc27f4ce72 Mon Sep 17 00:00:00 2001 From: tekgator Date: Tue, 30 May 2023 14:14:48 +1000 Subject: [PATCH 1/4] Restructure and simplify API directories --- .../Model/{BuildApi => MohistApi}/Build.cs | 2 +- .../Models/{DetailApi => MojangApi}/Detail.cs | 2 +- .../Models/{DetailApi => MojangApi}/Downloads.cs | 2 +- .../Models/{DetailApi => MojangApi}/JavaVersion.cs | 2 +- .../Models/{ManifestApi => MojangApi}/Latest.cs | 2 +- .../Models/{ManifestApi => MojangApi}/Manifest.cs | 2 +- .../Models/{DetailApi => MojangApi}/Server.cs | 2 +- .../Models/{ManifestApi => MojangApi}/Version.cs | 2 +- .../Model/{BuildApi => PaperApi}/Application.cs | 2 +- .../Model/{BuildApi => PaperApi}/Build.cs | 2 +- .../Model/{BuildApi => PaperApi}/Downloads.cs | 2 +- .../Model/{ProjectApi => PaperApi}/Project.cs | 2 +- .../Model/{BuildApi => PaperApi}/VersionBuilds.cs | 2 +- .../Model/{BuildApi => PurpurApi}/Build.cs | 2 +- .../Model/{BuildApi => PurpurApi}/Builds.cs | 2 +- .../Model/{ProjectApi => PurpurApi}/Project.cs | 2 +- .../Model/{BuildApi => PurpurApi}/VersionBuilds.cs | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) rename MinecraftJars.Plugin/MinecraftJars.Plugin.Mohist/Model/{BuildApi => MohistApi}/Build.cs (94%) rename MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/{DetailApi => MojangApi}/Detail.cs (92%) rename MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/{DetailApi => MojangApi}/Downloads.cs (72%) rename MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/{DetailApi => MojangApi}/JavaVersion.cs (80%) rename MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/{ManifestApi => MojangApi}/Latest.cs (79%) rename MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/{ManifestApi => MojangApi}/Manifest.cs (80%) rename MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/{DetailApi => MojangApi}/Server.cs (83%) rename MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/{ManifestApi => MojangApi}/Version.cs (91%) rename MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/{BuildApi => PaperApi}/Application.cs (81%) rename MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/{BuildApi => PaperApi}/Build.cs (89%) rename MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/{BuildApi => PaperApi}/Downloads.cs (75%) rename MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/{ProjectApi => PaperApi}/Project.cs (88%) rename MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/{BuildApi => PaperApi}/VersionBuilds.cs (88%) rename MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/{BuildApi => PurpurApi}/Build.cs (91%) rename MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/{BuildApi => PurpurApi}/Builds.cs (80%) rename MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/{ProjectApi => PurpurApi}/Project.cs (81%) rename MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/{BuildApi => PurpurApi}/VersionBuilds.cs (85%) diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mohist/Model/BuildApi/Build.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mohist/Model/MohistApi/Build.cs similarity index 94% rename from MinecraftJars.Plugin/MinecraftJars.Plugin.Mohist/Model/BuildApi/Build.cs rename to MinecraftJars.Plugin/MinecraftJars.Plugin.Mohist/Model/MohistApi/Build.cs index 3c0693f..84352e5 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mohist/Model/BuildApi/Build.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mohist/Model/MohistApi/Build.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace MinecraftJars.Plugin.Mohist.Model.BuildApi; +namespace MinecraftJars.Plugin.Mohist.Model.MohistApi; internal class Build { diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/DetailApi/Detail.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/MojangApi/Detail.cs similarity index 92% rename from MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/DetailApi/Detail.cs rename to MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/MojangApi/Detail.cs index ad1bb85..930af2c 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/DetailApi/Detail.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/MojangApi/Detail.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace MinecraftJars.Plugin.Mojang.Models.DetailApi; +namespace MinecraftJars.Plugin.Mojang.Models.MojangApi; internal class Detail { diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/DetailApi/Downloads.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/MojangApi/Downloads.cs similarity index 72% rename from MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/DetailApi/Downloads.cs rename to MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/MojangApi/Downloads.cs index 6ca39e1..e51e300 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/DetailApi/Downloads.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/MojangApi/Downloads.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace MinecraftJars.Plugin.Mojang.Models.DetailApi; +namespace MinecraftJars.Plugin.Mojang.Models.MojangApi; internal class Downloads { diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/DetailApi/JavaVersion.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/MojangApi/JavaVersion.cs similarity index 80% rename from MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/DetailApi/JavaVersion.cs rename to MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/MojangApi/JavaVersion.cs index d368a27..ea11b63 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/DetailApi/JavaVersion.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/MojangApi/JavaVersion.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace MinecraftJars.Plugin.Mojang.Models.DetailApi; +namespace MinecraftJars.Plugin.Mojang.Models.MojangApi; internal class JavaVersion { diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/ManifestApi/Latest.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/MojangApi/Latest.cs similarity index 79% rename from MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/ManifestApi/Latest.cs rename to MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/MojangApi/Latest.cs index a6d0fca..acd4062 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/ManifestApi/Latest.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/MojangApi/Latest.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace MinecraftJars.Plugin.Mojang.Models.ManifestApi; +namespace MinecraftJars.Plugin.Mojang.Models.MojangApi; internal class Latest { diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/ManifestApi/Manifest.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/MojangApi/Manifest.cs similarity index 80% rename from MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/ManifestApi/Manifest.cs rename to MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/MojangApi/Manifest.cs index 0cd025d..ba5fcb8 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/ManifestApi/Manifest.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/MojangApi/Manifest.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace MinecraftJars.Plugin.Mojang.Models.ManifestApi; +namespace MinecraftJars.Plugin.Mojang.Models.MojangApi; internal class Manifest { diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/DetailApi/Server.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/MojangApi/Server.cs similarity index 83% rename from MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/DetailApi/Server.cs rename to MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/MojangApi/Server.cs index d92a438..fa66e2f 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/DetailApi/Server.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/MojangApi/Server.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace MinecraftJars.Plugin.Mojang.Models.DetailApi; +namespace MinecraftJars.Plugin.Mojang.Models.MojangApi; internal class Server { diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/ManifestApi/Version.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/MojangApi/Version.cs similarity index 91% rename from MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/ManifestApi/Version.cs rename to MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/MojangApi/Version.cs index cd2cb0b..197e276 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/ManifestApi/Version.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/MojangApi/Version.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace MinecraftJars.Plugin.Mojang.Models.ManifestApi; +namespace MinecraftJars.Plugin.Mojang.Models.MojangApi; internal class Version { diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/BuildApi/Application.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/PaperApi/Application.cs similarity index 81% rename from MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/BuildApi/Application.cs rename to MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/PaperApi/Application.cs index beaac24..8f48069 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/BuildApi/Application.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/PaperApi/Application.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace MinecraftJars.Plugin.Paper.Model.BuildApi; +namespace MinecraftJars.Plugin.Paper.Model.PaperApi; public class Application { diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/BuildApi/Build.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/PaperApi/Build.cs similarity index 89% rename from MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/BuildApi/Build.cs rename to MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/PaperApi/Build.cs index c143a66..b5a3238 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/BuildApi/Build.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/PaperApi/Build.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace MinecraftJars.Plugin.Paper.Model.BuildApi; +namespace MinecraftJars.Plugin.Paper.Model.PaperApi; public class Build { diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/BuildApi/Downloads.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/PaperApi/Downloads.cs similarity index 75% rename from MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/BuildApi/Downloads.cs rename to MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/PaperApi/Downloads.cs index f9a4f19..1136fd3 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/BuildApi/Downloads.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/PaperApi/Downloads.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace MinecraftJars.Plugin.Paper.Model.BuildApi; +namespace MinecraftJars.Plugin.Paper.Model.PaperApi; public class Downloads { diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/ProjectApi/Project.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/PaperApi/Project.cs similarity index 88% rename from MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/ProjectApi/Project.cs rename to MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/PaperApi/Project.cs index b6c8e95..3ce6704 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/ProjectApi/Project.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/PaperApi/Project.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace MinecraftJars.Plugin.Paper.Model.ProjectApi; +namespace MinecraftJars.Plugin.Paper.Model.PaperApi; internal class Project { diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/BuildApi/VersionBuilds.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/PaperApi/VersionBuilds.cs similarity index 88% rename from MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/BuildApi/VersionBuilds.cs rename to MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/PaperApi/VersionBuilds.cs index abfdef4..194f42e 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/BuildApi/VersionBuilds.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Model/PaperApi/VersionBuilds.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace MinecraftJars.Plugin.Paper.Model.BuildApi; +namespace MinecraftJars.Plugin.Paper.Model.PaperApi; internal class BuildVersions { diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/BuildApi/Build.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/PurpurApi/Build.cs similarity index 91% rename from MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/BuildApi/Build.cs rename to MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/PurpurApi/Build.cs index dbd5b3a..ec6c750 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/BuildApi/Build.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/PurpurApi/Build.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace MinecraftJars.Plugin.Purpur.Model.BuildApi; +namespace MinecraftJars.Plugin.Purpur.Model.PurpurApi; internal class Build { diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/BuildApi/Builds.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/PurpurApi/Builds.cs similarity index 80% rename from MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/BuildApi/Builds.cs rename to MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/PurpurApi/Builds.cs index 324a3f7..758ea64 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/BuildApi/Builds.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/PurpurApi/Builds.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace MinecraftJars.Plugin.Purpur.Model.BuildApi; +namespace MinecraftJars.Plugin.Purpur.Model.PurpurApi; internal class Builds { diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/ProjectApi/Project.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/PurpurApi/Project.cs similarity index 81% rename from MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/ProjectApi/Project.cs rename to MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/PurpurApi/Project.cs index e0d13fb..3dea0a9 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/ProjectApi/Project.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/PurpurApi/Project.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace MinecraftJars.Plugin.Purpur.Model.ProjectApi; +namespace MinecraftJars.Plugin.Purpur.Model.PurpurApi; internal class Project { diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/BuildApi/VersionBuilds.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/PurpurApi/VersionBuilds.cs similarity index 85% rename from MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/BuildApi/VersionBuilds.cs rename to MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/PurpurApi/VersionBuilds.cs index 09f69f9..a5dd4a0 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/BuildApi/VersionBuilds.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/PurpurApi/VersionBuilds.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace MinecraftJars.Plugin.Purpur.Model.BuildApi; +namespace MinecraftJars.Plugin.Purpur.Model.PurpurApi; internal class VersionBuilds { From 6e8c58d9611c0749a47149c7f4de5a82678e8fce Mon Sep 17 00:00:00 2001 From: tekgator Date: Tue, 30 May 2023 14:20:24 +1000 Subject: [PATCH 2/4] IsSnapshot indicator --- CHANGELOG.md | 11 +++ MinecraftJars.Core/Versions/IVersion.cs | 5 ++ MinecraftJars.Core/Versions/VersionOptions.cs | 5 ++ .../FabricProjectFactory.cs | 8 +- .../FabricVersionFactory.cs | 16 ++-- .../Model/FabricVersion.cs | 3 +- .../MinecraftJars.Plugin.Fabric/README.md | 9 +- .../Model/MohistVersion.cs | 3 +- .../MohistVersionFactory.cs | 15 ++-- .../Models/MojangVersion.cs | 1 + .../MojangProjectFactory.cs | 14 +--- .../MojangVersionFactory.cs | 78 +++++++----------- .../Properties/Resources.Designer.cs | 21 ----- .../Properties/Resources.resx | 6 -- .../MinecraftJars.Plugin.Mojang/README.md | 2 - .../Resources/BedrockPreview-24px.png | Bin 14132 -> 0 bytes .../Resources/BedrockPreview-64px.png | Bin 22854 -> 0 bytes .../Resources/BedrockPreview.png | Bin 53470 -> 0 bytes .../Resources/VanillaSnapshot-24px.png | Bin 14375 -> 0 bytes .../Resources/VanillaSnapshot-64px.png | Bin 23075 -> 0 bytes .../Resources/VanillaSnapshot.png | Bin 53549 -> 0 bytes .../Model/PaperVersion.cs | 3 +- .../PaperVersionFactory.cs | 3 +- .../Model/PocketmineVersion.cs | 3 +- .../PocketmineVersionFactory.cs | 19 +++-- .../Model/PurpurVersion.cs | 3 +- .../PurpurVersionFactory.cs | 11 ++- .../Model/SpigotVersion.cs | 3 +- .../SpigotVersionFactory.cs | 47 ++++++----- README.md | 4 +- 30 files changed, 123 insertions(+), 170 deletions(-) delete mode 100644 MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Resources/BedrockPreview-24px.png delete mode 100644 MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Resources/BedrockPreview-64px.png delete mode 100644 MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Resources/BedrockPreview.png delete mode 100644 MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Resources/VanillaSnapshot-24px.png delete mode 100644 MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Resources/VanillaSnapshot-64px.png delete mode 100644 MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Resources/VanillaSnapshot.png diff --git a/CHANGELOG.md b/CHANGELOG.md index ca33e66..7044066 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +## [1.2.2] - 2023-05-30 +### Added +- Added version option to include snapshots during load, by default this is false +- Added indicator to show that the current version is a snapshot / preview / experimental / beta / alpha build + +### Changed +- Restructure and simplify API directories + +### Removed +- Separation of Snapshot ans Standard versions for Mojang, Fabric and Pocketmine plugin, this is handled now via the IsSnapshot indicator on IVersion + ## [1.2.1] - 2023-05-29 ### Fixed diff --git a/MinecraftJars.Core/Versions/IVersion.cs b/MinecraftJars.Core/Versions/IVersion.cs index 4300a4e..9f32121 100644 --- a/MinecraftJars.Core/Versions/IVersion.cs +++ b/MinecraftJars.Core/Versions/IVersion.cs @@ -15,6 +15,11 @@ public interface IVersion /// string Version { get; } + /// + /// Indicates whether this version experimental + /// + bool IsSnapShot { get; } + /// /// Indicates TRUE in case the plugin needs to build the JAR file instead of providing download information /// diff --git a/MinecraftJars.Core/Versions/VersionOptions.cs b/MinecraftJars.Core/Versions/VersionOptions.cs index c0a7c65..7bf938a 100644 --- a/MinecraftJars.Core/Versions/VersionOptions.cs +++ b/MinecraftJars.Core/Versions/VersionOptions.cs @@ -9,6 +9,11 @@ public class VersionOptions /// public string? Version { get; set; } + /// + /// Indicates to return snapshot / experimental / preview / beta / alpha builds as well + /// + public bool IncludeSnapshotBuilds { get; set; } + /// /// Limit the amount of records returned by the plugin API. Useful if only /// e.g. the last x Versions are required. diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Fabric/FabricProjectFactory.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Fabric/FabricProjectFactory.cs index 8d1fb67..b83eede 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Fabric/FabricProjectFactory.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Fabric/FabricProjectFactory.cs @@ -6,7 +6,6 @@ namespace MinecraftJars.Plugin.Fabric; internal static class FabricProjectFactory { public const string Fabric = "Fabric"; - public const string FabricSnapshot = "Fabric Snapshot"; public static readonly IEnumerable Projects = new List { @@ -14,11 +13,6 @@ internal static class FabricProjectFactory Name: Fabric, Description: "Fabric is a lightweight, experimental modding toolchain for Minecraft.", Url: "https://fabricmc.net", - Logo: Properties.Resources.Fabric), - new(Group: Group.Server, - Name: FabricSnapshot, - Description: "Fabric is a lightweight, experimental modding toolchain for Minecraft. Based on Minecraft snapshot versions", - Url: "https://fabricmc.net", - Logo: Properties.Resources.Fabric), + Logo: Properties.Resources.Fabric) }; } \ No newline at end of file diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Fabric/FabricVersionFactory.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Fabric/FabricVersionFactory.cs index e334eb3..4e4808c 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Fabric/FabricVersionFactory.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Fabric/FabricVersionFactory.cs @@ -29,21 +29,15 @@ internal static class FabricVersionFactory if (!string.IsNullOrWhiteSpace(options.Version)) versionsApi.Games.RemoveAll(v => !v.Version.Equals(options.Version)); - - switch (project.Name) - { - case FabricProjectFactory.Fabric: - versionsApi.Games.RemoveAll(v => !v.Stable); - break; - case FabricProjectFactory.FabricSnapshot: - versionsApi.Games.RemoveAll(v => v.Stable); - break; - } + + if (!options.IncludeSnapshotBuilds) + versionsApi.Games.RemoveAll(v => !v.Stable); var versions = versionsApi.Games .Select(game => new FabricVersion( Project: project, - Version: game.Version) + Version: game.Version, + IsSnapShot: !game.Stable) { InstallerVersion = versionsApi.Installers.First().Version }).ToList(); diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Fabric/Model/FabricVersion.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Fabric/Model/FabricVersion.cs index 6e7f951..848f421 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Fabric/Model/FabricVersion.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Fabric/Model/FabricVersion.cs @@ -6,7 +6,8 @@ namespace MinecraftJars.Plugin.Fabric.Model; public record FabricVersion( IProject Project, - string Version) : IVersion + string Version, + bool IsSnapShot) : IVersion { internal string InstallerVersion { get; init; } = string.Empty; diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Fabric/README.md b/MinecraftJars.Plugin/MinecraftJars.Plugin.Fabric/README.md index de47eef..4b68c7d 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Fabric/README.md +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Fabric/README.md @@ -5,7 +5,6 @@ Provider for: - Fabric -- Fabric Snapshot ## Installing @@ -16,8 +15,8 @@ The plugin is already bundled with the core library [MinecraftJar.NET](../../REA The plugin has a few minor specialities compared to the core interfaces. If required the interface can be casted to it's instantiated classes. -- `IProvider` to [MohistProvider](MohistProvider.cs) -- `IProject` to [MohistProject](Model/MohistProject.cs) -- `IVersion` to [MohistVersion](Model/MohistVersion.cs) -- `IDownload` to [MohistDownload](Model/MohistDownload.cs) +- `IProvider` to [FabricProvider](FabricProvider.cs) +- `IProject` to [FabricProject](Model/FabricProject.cs) +- `IVersion` to [FabricVersion](Model/FabricVersion.cs) +- `IDownload` to [FabricDownload](Model/FabricDownload.cs) - No `Hash`, `ReleaseTime` or `Size` is provided \ No newline at end of file diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mohist/Model/MohistVersion.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mohist/Model/MohistVersion.cs index 592b2c4..f93f63b 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mohist/Model/MohistVersion.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mohist/Model/MohistVersion.cs @@ -6,7 +6,8 @@ namespace MinecraftJars.Plugin.Mohist.Model; public record MohistVersion( IProject Project, - string Version) : IVersion + string Version, + bool IsSnapShot = false) : IVersion { public Task GetDownload(DownloadOptions? options = null, CancellationToken cancellationToken = default!) => MohistVersionFactory.GetDownload(options ?? new DownloadOptions(), this, cancellationToken); diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mohist/MohistVersionFactory.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mohist/MohistVersionFactory.cs index 4911744..7929629 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mohist/MohistVersionFactory.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mohist/MohistVersionFactory.cs @@ -2,7 +2,7 @@ using MinecraftJars.Core.Downloads; using MinecraftJars.Core.Versions; using MinecraftJars.Plugin.Mohist.Model; -using MinecraftJars.Plugin.Mohist.Model.BuildApi; +using MinecraftJars.Plugin.Mohist.Model.MohistApi; namespace MinecraftJars.Plugin.Mohist; @@ -18,7 +18,6 @@ internal static class MohistVersionFactory VersionOptions options, CancellationToken cancellationToken) { - var versions = new List(); var project = MohistProjectFactory.Projects.Single(p => p.Name.Equals(projectName)); var availVersions = await HttpClient.GetFromJsonAsync>(MohistVersionRequestUri, cancellationToken); @@ -31,12 +30,12 @@ internal static class MohistVersionFactory availVersions.Reverse(); - versions.AddRange(availVersions - .Select(version => new MohistVersion( - Project: project, - Version: version - ))); - + var versions = availVersions + .Select(availVersion => new MohistVersion( + Project: project, + Version: availVersion) + ).ToList(); + return options.MaxRecords.HasValue ? versions.Take(options.MaxRecords.Value).ToList() : versions; diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/MojangVersion.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/MojangVersion.cs index eaa3efb..9084cd5 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/MojangVersion.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Models/MojangVersion.cs @@ -7,6 +7,7 @@ namespace MinecraftJars.Plugin.Mojang.Models; public record MojangVersion( IProject Project, string Version, + bool IsSnapShot, Os? Os = null) : IVersion { internal DateTime? ReleaseTime { get; init; } diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/MojangProjectFactory.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/MojangProjectFactory.cs index e8e4e19..68cd485 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/MojangProjectFactory.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/MojangProjectFactory.cs @@ -6,9 +6,7 @@ namespace MinecraftJars.Plugin.Mojang; internal class MojangProjectFactory { public const string Vanilla = "Vanilla"; - public const string VanillaSnapshot = "Vanilla Snapshot"; public const string Bedrock = "Bedrock"; - public const string BedrockPreview = "Bedrock Preview"; public static readonly IEnumerable Projects = new List { @@ -17,20 +15,10 @@ internal class MojangProjectFactory Description: "The Mojang vanilla Minecraft experience without mod support.", Url: "https://www.minecraft.net/download/server", Logo: Properties.Resources.Vanilla), - new(Group: Group.Server, - Name: VanillaSnapshot, - Description: "A Snapshot is a testing version of Minecraft, periodically released by Mojang Studios.", - Url: "https://feedback.minecraft.net/hc/en-us/sections/360002267532-Snapshot-Information-and-Changelogs", - Logo: Properties.Resources.VanillaSnapshot), new(Group: Group.Bedrock, Name: Bedrock, Description: "Minecraft: Bedrock Edition refers to the multi-platform versions of Minecraft based on the Bedrock codebase.", Url: "https://www.minecraft.net/download/server/bedrock", - Logo: Properties.Resources.Bedrock), - new(Group: Group.Bedrock, - Name: BedrockPreview, - Description: "Minecraft Preview is an app players can use to test out beta features from Bedrock Edition. It works as a separate app, rather than the previous system of opt in beta content inside of the Bedrock Edition game itself.", - Url: "https://www.minecraft.net/download/server/bedrock", - Logo: Properties.Resources.BedrockPreview) + Logo: Properties.Resources.Bedrock) }; } \ No newline at end of file diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/MojangVersionFactory.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/MojangVersionFactory.cs index 85122da..6851d2b 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/MojangVersionFactory.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/MojangVersionFactory.cs @@ -5,8 +5,7 @@ using MinecraftJars.Core.Downloads; using MinecraftJars.Core.Versions; using MinecraftJars.Plugin.Mojang.Models; -using MinecraftJars.Plugin.Mojang.Models.DetailApi; -using MinecraftJars.Plugin.Mojang.Models.ManifestApi; +using MinecraftJars.Plugin.Mojang.Models.MojangApi; using Group = MinecraftJars.Core.Projects.Group; namespace MinecraftJars.Plugin.Mojang; @@ -39,7 +38,7 @@ internal static partial class MojangVersionFactory VersionOptions options, CancellationToken cancellationToken) { - var versions = new List(); + var project = MojangProjectFactory.Projects.Single(p => p.Name.Equals(projectName)); var manifest = await HttpClient.GetFromJsonAsync(MojangVanillaRequestUri, cancellationToken); @@ -50,16 +49,18 @@ internal static partial class MojangVersionFactory if (!string.IsNullOrWhiteSpace(options.Version)) manifest.Versions.RemoveAll(v => !v.Id.Equals(options.Version)); - versions.AddRange(manifest.Versions - .Where(v => project.Name == MojangProjectFactory.Vanilla ? - v.Type.Equals("release", StringComparison.OrdinalIgnoreCase) : - !v.Type.Equals("release", StringComparison.OrdinalIgnoreCase)) - .Select(version => new MojangVersion( + if (!options.IncludeSnapshotBuilds) + manifest.Versions + .RemoveAll(v => !v.Type.Equals("release", StringComparison.OrdinalIgnoreCase)); + + var versions = manifest.Versions + .Select(v => new MojangVersion( Project: project, - Version: version.Id) { - ReleaseTime = version.ReleaseTime, - DetailUrl = version.Url - })); + Version: v.Id, + IsSnapShot: !v.Type.Equals("release", StringComparison.OrdinalIgnoreCase)) { + ReleaseTime = v.ReleaseTime, + DetailUrl = v.Url + }).ToList(); return options.MaxRecords.HasValue ? versions.Take(options.MaxRecords.Value).ToList() @@ -71,7 +72,6 @@ internal static partial class MojangVersionFactory VersionOptions options, CancellationToken cancellationToken) { - var versions = new List(); var project = MojangProjectFactory.Projects.Single(p => p.Name.Equals(projectName)); var request = new HttpRequestMessage(HttpMethod.Get, MojangBedrockRequestUri); @@ -86,44 +86,22 @@ internal static partial class MojangVersionFactory throw new InvalidOperationException("Could not acquire version details."); var html = await response.Content.ReadAsStringAsync(cancellationToken); - - foreach (var match in MojangBedrockDownloadLink().Matches(html).Cast()) - { - var url = match.Value; - - var version = match.Groups.Values - .Where(p => p.Name == "version") - .Select(p => p.Value) - .FirstOrDefault(); - - if (version == null) - continue; - - if (!string.IsNullOrWhiteSpace(options.Version) && !options.Version.Equals(version)) - continue; - - var isPreview = match.Groups["preview"].Value.Length > 0; - - if ((project.Name == MojangProjectFactory.Bedrock && isPreview) || - (project.Name == MojangProjectFactory.BedrockPreview && !isPreview)) - continue; - - var platform = match.Groups.Values - .Where(p => p.Name == "platform") - .Select(p => p.Value) - .FirstOrDefault() switch - { - "linux" => Os.Linux, - _ => Os.Windows - }; - - versions.Add(new MojangVersion( - Project: project, - Version: version, - Os: platform) { + + var versions = (from match in MojangBedrockDownloadLink().Matches(html) + let url = match.Value + let version = match.Groups["version"].Value + let isPreview = !string.IsNullOrWhiteSpace(match.Groups["preview"].Value) + let platform = match.Groups["platform"].Value.Equals("linux", StringComparison.OrdinalIgnoreCase) ? Os.Linux : Os.Windows + where !string.IsNullOrWhiteSpace(version) && (string.IsNullOrWhiteSpace(options.Version) || options.Version.Equals(version)) + where options.IncludeSnapshotBuilds || !isPreview + select new MojangVersion( + Project: project, + Version: version, + IsSnapShot: isPreview, + Os: platform) + { DetailUrl = url - }); - } + }).ToList(); return options.MaxRecords.HasValue ? versions.Take(options.MaxRecords.Value).ToList() diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Properties/Resources.Designer.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Properties/Resources.Designer.cs index b19d3d8..9b0bf3e 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Properties/Resources.Designer.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Properties/Resources.Designer.cs @@ -1,7 +1,6 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.42000 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -70,16 +69,6 @@ internal class Resources { } } - /// - /// Looks up a localized resource of type System.Byte[]. - /// - internal static byte[] BedrockPreview { - get { - object obj = ResourceManager.GetObject("BedrockPreview", resourceCulture); - return ((byte[])(obj)); - } - } - /// /// Looks up a localized resource of type System.Byte[]. /// @@ -99,15 +88,5 @@ internal class Resources { return ((byte[])(obj)); } } - - /// - /// Looks up a localized resource of type System.Byte[]. - /// - internal static byte[] VanillaSnapshot { - get { - object obj = ResourceManager.GetObject("VanillaSnapshot", resourceCulture); - return ((byte[])(obj)); - } - } } } diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Properties/Resources.resx b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Properties/Resources.resx index dcfbb84..0315254 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Properties/Resources.resx +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Properties/Resources.resx @@ -121,16 +121,10 @@ ..\Resources\Bedrock.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\Resources\BedrockPreview.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - ..\Resources\Mojang.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ..\Resources\Vanilla.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\Resources\VanillaSnapshot.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - \ No newline at end of file diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/README.md b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/README.md index ac5db0d..ef0e6fd 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/README.md +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/README.md @@ -5,9 +5,7 @@ Provider for: - Vanilla -- Vanilla Preview - Bedrock -- Bedrock Preview ## Installing diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Resources/BedrockPreview-24px.png b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Resources/BedrockPreview-24px.png deleted file mode 100644 index 9ba864b3715b67b3020d9949e64ed7c32979f4ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14132 zcmeHubyOVPvM=rgcXx*YW^i{87Mvi%0D}hxO>hrRu;A_?xCIFb5ZqmZyAvQ-F8RJA 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 MyoOwrjCs(10d?ZdX#fBK diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Resources/BedrockPreview-64px.png b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Resources/BedrockPreview-64px.png deleted file mode 100644 index 426f9c35e4414c73ac91d66cfa912a68796d5830..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22854 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 LHoe(6;H76N);JZ~)|Tg)T+lG#bNY);5^H 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 Y4?!d6Ll;LI`~Uy|07*qoM6N<$f;cYVHUIzs diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Resources/VanillaSnapshot-24px.png b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Resources/VanillaSnapshot-24px.png deleted file mode 100644 index 490377724701b8c8a9208d8e286171899781e4ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14375 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 AcmMzZ diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Resources/VanillaSnapshot-64px.png b/MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Resources/VanillaSnapshot-64px.png deleted file mode 100644 index b270ad5aa86da29bb110ef00074f71bf4be4cfc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23075 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%0D}>d^PD&5Im_=y^XO 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 GetDownload(DownloadOptions? options = null, CancellationToken cancellationToken = default!) => PaperVersionFactory.GetDownload(options ?? new DownloadOptions(), this, cancellationToken); diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/PaperVersionFactory.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/PaperVersionFactory.cs index 3c474e8..df2403e 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/PaperVersionFactory.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/PaperVersionFactory.cs @@ -2,8 +2,7 @@ using MinecraftJars.Core.Downloads; using MinecraftJars.Core.Versions; using MinecraftJars.Plugin.Paper.Model; -using MinecraftJars.Plugin.Paper.Model.BuildApi; -using MinecraftJars.Plugin.Paper.Model.ProjectApi; +using MinecraftJars.Plugin.Paper.Model.PaperApi; namespace MinecraftJars.Plugin.Paper; diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Pocketmine/Model/PocketmineVersion.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Pocketmine/Model/PocketmineVersion.cs index 3c149ec..fa453ed 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Pocketmine/Model/PocketmineVersion.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Pocketmine/Model/PocketmineVersion.cs @@ -6,7 +6,8 @@ namespace MinecraftJars.Plugin.Pocketmine.Model; public record PocketmineVersion( IProject Project, - string Version) : IVersion + string Version, + bool IsSnapShot) : IVersion { internal PocketmineDownload Download { get; init; } = default!; diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Pocketmine/PocketmineVersionFactory.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Pocketmine/PocketmineVersionFactory.cs index 6afc0f4..7b11bc5 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Pocketmine/PocketmineVersionFactory.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Pocketmine/PocketmineVersionFactory.cs @@ -35,18 +35,19 @@ internal static class PocketmineVersionFactory } releaseApi.RemoveAll(r => !r.Assets.Any()); - var versions = releaseApi - .Select(release => new { release, asset = release.Assets.First() }) - .Select(t => new PocketmineVersion( + var versions = (from release in releaseApi + let asset = release.Assets.First() + select new PocketmineVersion( Project: project, - Version: t.release.TagName) + Version: release.TagName, + IsSnapShot: release.TagName.Contains("beta", StringComparison.OrdinalIgnoreCase)) { Download = new PocketmineDownload( - FileName: t.asset.Name, - Size: t.asset.Size, - BuildId: t.release.Id.ToString(), - Url: t.asset.BrowserDownloadUrl, - ReleaseTime: new[] { t.asset.CreatedAt, t.asset.UpdatedAt }.Max()) + FileName: asset.Name, + Size: asset.Size, + BuildId: release.Id.ToString(), + Url: asset.BrowserDownloadUrl, + ReleaseTime: new[] { asset.CreatedAt, asset.UpdatedAt }.Max()) }).ToList(); return options.MaxRecords.HasValue diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/PurpurVersion.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/PurpurVersion.cs index b3fa43b..9684320 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/PurpurVersion.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/Model/PurpurVersion.cs @@ -6,7 +6,8 @@ namespace MinecraftJars.Plugin.Purpur.Model; public record PurpurVersion( IProject Project, - string Version) : IVersion + string Version, + bool IsSnapShot = false) : IVersion { public Task GetDownload(DownloadOptions? options = null, CancellationToken cancellationToken = default!) => PurpurVersionFactory.GetDownload(options ?? new DownloadOptions(), this, cancellationToken); diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/PurpurVersionFactory.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/PurpurVersionFactory.cs index 66db076..b55934d 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/PurpurVersionFactory.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Purpur/PurpurVersionFactory.cs @@ -2,8 +2,7 @@ using MinecraftJars.Core.Downloads; using MinecraftJars.Core.Versions; using MinecraftJars.Plugin.Purpur.Model; -using MinecraftJars.Plugin.Purpur.Model.BuildApi; -using MinecraftJars.Plugin.Purpur.Model.ProjectApi; +using MinecraftJars.Plugin.Purpur.Model.PurpurApi; namespace MinecraftJars.Plugin.Purpur; @@ -21,7 +20,6 @@ internal static class PurpurVersionFactory VersionOptions options, CancellationToken cancellationToken) { - var versions = new List(); var project = PurpurProjectFactory.Projects.Single(p => p.Name.Equals(projectName)); var projectApi = await HttpClient.GetFromJsonAsync(PurpurProjectRequestUri, cancellationToken); @@ -33,11 +31,12 @@ internal static class PurpurVersionFactory projectApi.Versions.RemoveAll(v => !v.Equals(options.Version)); projectApi.Versions.Reverse(); - versions.AddRange(projectApi.Versions + + var versions = projectApi.Versions .Select(projectApiVersion => new PurpurVersion( Project: project, - Version: projectApiVersion - ))); + Version: projectApiVersion) + ).ToList(); return options.MaxRecords.HasValue ? versions.Take(options.MaxRecords.Value).ToList() diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Spigot/Model/SpigotVersion.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Spigot/Model/SpigotVersion.cs index 5cd4044..6f15401 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Spigot/Model/SpigotVersion.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Spigot/Model/SpigotVersion.cs @@ -7,7 +7,8 @@ namespace MinecraftJars.Plugin.Spigot.Model; public record SpigotVersion( IProject Project, string Version, - bool RequiresLocalBuild = false) : IVersion + bool RequiresLocalBuild = false, + bool IsSnapShot = false) : IVersion { internal DateTime? ReleaseTime { get; init; } internal string DetailUrl { get; init; } = string.Empty; diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Spigot/SpigotVersionFactory.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Spigot/SpigotVersionFactory.cs index a39fdf2..9f8137b 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Spigot/SpigotVersionFactory.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Spigot/SpigotVersionFactory.cs @@ -41,7 +41,6 @@ internal static partial class SpigotVersionFactory VersionOptions options, CancellationToken cancellationToken) { - var versions = new List(); var project = SpigotProjectFactory.Projects.Single(p => p.Name.Equals(projectName)); var request = new HttpRequestMessage(HttpMethod.Get, SpigotRequestUri); @@ -57,18 +56,21 @@ internal static partial class SpigotVersionFactory var html = await response.Content.ReadAsStringAsync(cancellationToken); - versions.AddRange(SpigotVersions() - .Matches(html) - .Where(m => string.IsNullOrWhiteSpace(options.Version) || m.Groups["version"].Value.Equals(options.Version)) - .Select(m => new SpigotVersion( + var versions = (from match in SpigotVersions().Matches(html) + let version = match.Groups["version"].Value + let jsonFile = match.Groups["json"].Value + let releaseTime = DateTime.Parse(match.Groups["date"].Value, new CultureInfo("en-US")) + where !string.IsNullOrWhiteSpace(version) && + (string.IsNullOrWhiteSpace(options.Version) || options.Version.Equals(version)) + orderby releaseTime descending + select new SpigotVersion( Project: project, - Version: m.Groups["version"].Value, + Version: version, RequiresLocalBuild: true) { - DetailUrl = $"{SpigotRequestUri}/{m.Groups["json"].Value}", - ReleaseTime = DateTime.Parse(m.Groups["date"].Value, new CultureInfo("en-US")) - }) - .OrderByDescending(v => v.ReleaseTime)); + DetailUrl = $"{SpigotRequestUri}/{jsonFile}", + ReleaseTime = releaseTime + }).ToList(); return options.MaxRecords.HasValue ? versions.Take(options.MaxRecords.Value).ToList() @@ -80,7 +82,6 @@ internal static partial class SpigotVersionFactory VersionOptions options, CancellationToken cancellationToken) { - var versions = new List(); var project = SpigotProjectFactory.Projects.Single(p => p.Name.Equals(projectName)); var requestUrl = BungeeCoordRequestUri + (options.MaxRecords.HasValue @@ -92,17 +93,19 @@ internal static partial class SpigotVersionFactory if (job == null) throw new InvalidOperationException("Could not acquire version details."); - versions.AddRange(job.Builds - .Where(b => !b.InProgress && - b.Result.Equals("success", StringComparison.OrdinalIgnoreCase)) - .Where(b => string.IsNullOrWhiteSpace(options.Version) || b.Number.ToString().Equals(options.Version)) - .Select(b => new SpigotVersion( - project, - b.Number.ToString()) - { - ReleaseTime = DateTimeOffset.FromUnixTimeMilliseconds(b.Timestamp).DateTime, - DetailUrl = $"{b.Url}artifact/{b.Artifacts.First().RelativePath}" - })); + var versions = (from build in job.Builds + where !build.InProgress && + build.Result.Equals("success", StringComparison.OrdinalIgnoreCase) + let version = build.Number.ToString() + let artifact = build.Artifacts.First() + where string.IsNullOrWhiteSpace(options.Version) || options.Version.Equals(build.Number.ToString()) + select new SpigotVersion( + Project: project, + Version: version) + { + ReleaseTime = DateTimeOffset.FromUnixTimeMilliseconds(build.Timestamp).DateTime, + DetailUrl = $"{build.Url}artifact/{artifact.RelativePath}" + }).ToList(); return versions; } diff --git a/README.md b/README.md index 79f2b87..a189964 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ If I've helped you and you like some of my work, feel free to buy me a coffee Following provider plugins are already bundled with MinecraftJars.NET: ![Mojang](MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang/Resources/Mojang-24px.png) [Mojang](MinecraftJars.Plugin/MinecraftJars.Plugin.Mojang): -Vanilla, Vanilla Snapshot, Bedrock, Bedrock Preview +Vanilla, Bedrock ![Paper](MinecraftJars.Plugin/MinecraftJars.Plugin.Paper/Resources/Paper-24px.png) [Paper](MinecraftJars.Plugin/MinecraftJars.Plugin.Paper): Paper, Folia, Velocity, Waterfall @@ -44,7 +44,7 @@ Pocketmine Mohist ![Fabric](MinecraftJars.Plugin/MinecraftJars.Plugin.Fabric/Resources/Fabric-24px.png) [Fabric](MinecraftJars.Plugin/MinecraftJars.Plugin.Fabric): -Fabric, Fabric Snapshot +Fabric ![Spigot](MinecraftJars.Plugin/MinecraftJars.Plugin.Spigot/Resources/Spigot-24px.png) [Spigot](MinecraftJars.Plugin/MinecraftJars.Plugin.Spigot) (**Important:** see details in Plugin Readme): Spigot, BungeeCord From 2a206d769dbab9b790b5a3bbe2c4c3a7cf7da453 Mon Sep 17 00:00:00 2001 From: tekgator Date: Tue, 30 May 2023 14:31:27 +1000 Subject: [PATCH 3/4] Add IsSnapshot test cases --- CHANGELOG.md | 5 +++-- MinecraftJars.Tests/VersionTests.cs | 35 +++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7044066..953948a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,8 +5,9 @@ All notable changes to this project will be documented in this file. ## [1.2.2] - 2023-05-30 ### Added -- Added version option to include snapshots during load, by default this is false -- Added indicator to show that the current version is a snapshot / preview / experimental / beta / alpha build +- Add version option to include snapshots during load, by default this is false +- Add indicator to show that the current version is a snapshot / preview / experimental / beta / alpha build +- Add IsSnapshot test cases ### Changed - Restructure and simplify API directories diff --git a/MinecraftJars.Tests/VersionTests.cs b/MinecraftJars.Tests/VersionTests.cs index 1a95001..daffb01 100644 --- a/MinecraftJars.Tests/VersionTests.cs +++ b/MinecraftJars.Tests/VersionTests.cs @@ -59,4 +59,39 @@ public async Task GetVersions_SpecificVersion(string projectName) TestContext.Progress.WriteLine("{0}: Specific version {1} found", nameof(GetVersions_SpecificVersion), version.Version); } + + [TestCase("Vanilla")] + [TestCase("Bedrock")] + [TestCase("Pocketmine")] + [Order(4)] + public async Task GetVersions_ContainsSnapshot(string projectName) + { + var project = ProviderManager.GetProjects().Single(p => p.Name.Equals(projectName)); + var provider = ProviderManager.GetProvider(project); + + var versions = + (await provider.GetVersions(project.Name, new VersionOptions { IncludeSnapshotBuilds = true })).ToList(); + + Assert.That(versions.Any(v => v.IsSnapShot), Is.True); + + TestContext.Progress.WriteLine("{0}: {1} snapshot version found", + nameof(GetVersions_ContainsSnapshot), versions.Count(v => v.IsSnapShot)); + } + + [TestCase("Vanilla")] + [TestCase("Bedrock")] + [TestCase("Pocketmine")] + [Order(5)] + public async Task GetVersions_ContainsNoSnapshot(string projectName) + { + var project = ProviderManager.GetProjects().Single(p => p.Name.Equals(projectName)); + var provider = ProviderManager.GetProvider(project); + + var versions = + (await provider.GetVersions(project.Name, new VersionOptions { IncludeSnapshotBuilds = false })).ToList(); + + Assert.That(versions.Any(v => v.IsSnapShot), Is.False); + + TestContext.Progress.WriteLine("{0}: No snapshot version found", nameof(GetVersions_ContainsNoSnapshot)); + } } \ No newline at end of file From 9372a0971d3e7c9c9a6b5b02d72af2fff0fe8aa8 Mon Sep 17 00:00:00 2001 From: tekgator Date: Tue, 30 May 2023 14:31:43 +1000 Subject: [PATCH 4/4] Check if snapshots are requested --- .../PocketmineVersionFactory.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/MinecraftJars.Plugin/MinecraftJars.Plugin.Pocketmine/PocketmineVersionFactory.cs b/MinecraftJars.Plugin/MinecraftJars.Plugin.Pocketmine/PocketmineVersionFactory.cs index 7b11bc5..a8eac91 100644 --- a/MinecraftJars.Plugin/MinecraftJars.Plugin.Pocketmine/PocketmineVersionFactory.cs +++ b/MinecraftJars.Plugin/MinecraftJars.Plugin.Pocketmine/PocketmineVersionFactory.cs @@ -37,10 +37,12 @@ internal static class PocketmineVersionFactory var versions = (from release in releaseApi let asset = release.Assets.First() + let isSnapShot = release.TagName.Contains("beta", StringComparison.OrdinalIgnoreCase) + where options.IncludeSnapshotBuilds || !isSnapShot select new PocketmineVersion( Project: project, Version: release.TagName, - IsSnapShot: release.TagName.Contains("beta", StringComparison.OrdinalIgnoreCase)) + IsSnapShot: isSnapShot) { Download = new PocketmineDownload( FileName: asset.Name,