classVersion#

class Version(
id: str,
inherits_from: str | None = None,
java_component: str | None = None,
java_major: int | None = None,
client_url: str | None = None,
client_sha1: str | None = None,
client_size: int | None = None,
raw: dict[str, Any] = {},
)#

A parsed version JSON, vanilla or from a mod loader.

id#

The version id.

Type:

str

inherits_from#

The parent version of a loader version, or None.

Type:

str | None

java_component#

The Mojang runtime it asks for, or None.

Type:

str | None

java_major#

The major Java version it asks for, or None.

Type:

int | None

client_url#

Where to download the client jar, or None.

Type:

str | None

client_sha1#

The client jar’s SHA-1, or None.

Type:

str | None

client_size#

The client jar’s size in bytes, or None.

Type:

int | None

raw#

The original JSON data.

Type:

dict[str, Any]

classmethod from_dict(
data: dict[str, Any],
) → Version#

Build a version from decoded JSON.

Parameters:

data (dict[str, Any]) – The version JSON.

Returns:

The parsed version.

Raises:

KeyError – The data has no id.

Return type:

Version

classmethod load(
path: Path,
) → Version#

Read a version from a JSON file.