Skip to content

Minecraft — Versions and ModLoaders #10

Description

Parent: #4

Delivers Minecraft-specific convenience functions for retrieving game versions and mod loader information. These endpoints provide richer data than the generic game versions API and are commonly used by Minecraft modding tools.

Acceptance criteria:

  • Get-CurseForgeMinecraftVersion lists all Minecraft versions or retrieves a specific version by string
  • Get-CurseForgeMinecraftModLoader lists mod loaders (with version/includeAll filters) or retrieves a specific loader by name
  • -SortDescending switch works on version listing
  • -Version and -IncludeAll filters work on mod loader listing
  • CurseForgeMinecraftVersion class models the version response
  • CurseForgeMinecraftModLoader class models the mod loader response (both index and full detail)
  • Format files provide default table views
  • Unit tests cover list and single-item retrieval

Endpoints:

Function Method Path
Get-CurseForgeMinecraftVersion (list) GET /v1/minecraft/version
Get-CurseForgeMinecraftVersion (specific) GET /v1/minecraft/version/{gameVersionString}
Get-CurseForgeMinecraftModLoader (list) GET /v1/minecraft/modloader
Get-CurseForgeMinecraftModLoader (specific) GET /v1/minecraft/modloader/{modLoaderName}

Classes:

  • CurseForgeMinecraftVersion: Id, GameVersionId, VersionString, JarDownloadUrl, JsonDownloadUrl, IsApproved, DateModified, GameVersionTypeId, GameVersionStatus, GameVersionTypeStatus
  • CurseForgeMinecraftModLoader (index): Name, GameVersion, IsLatest, IsRecommended, DateModified, Type
  • CurseForgeMinecraftModLoader (detail): adds ForgeVersion, DownloadUrl, Filename, InstallMethod, MavenVersionString, MinecraftVersion, etc.

Decision: Two functions with parameter sets (list vs specific) rather than four separate functions — keeps discoverability simple.


Sub-issues

See linked Tasks below.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions