mojang-meta

Parse Mojang version manifests, rules, libraries, natives, and Java runtime metadata for Minecraft launches.

Updated Sep 8, 2026
One-click install
npx skills add https://github.com/Sixdd6/grid-craft-launcher --skill mojang-meta-sixdd6
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: mojang-meta
Source: https://github.com/Sixdd6/grid-craft-launcher/tree/main/.claude/skills/mojang-meta
Command: npx skills add https://github.com/Sixdd6/grid-craft-launcher --skill mojang-meta-sixdd6

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Building correct Minecraft launch commands requires interpreting Mojang's version manifest, version JSON, library rules, natives, argument placeholders, and Java runtime metadata, and mistakes in any of these produce broken installs or failed launches. ## Core Features & Use Cases - Manifest and version JSON handling: Cache the version manifest with ETag, resolve version JSONs by sha1 URL, and handle fields like downloads, libraries, arguments, mainClass, assetIndex, javaVersion, inheritsFrom, and logging. - Rules and natives resolution: Evaluate allow/disallow rules by OS name, arch, version, and feature flags; extract legacy natives classifiers into cache directories and pass -Djava.library.path. - Loader profile merging: Resolve inheritsFrom for Forge, NeoForge, and Fabric profiles with child-wins mainClass, appended arguments, per-key library merging, and special logging merge behavior. - Java runtime and GC probing: Download Mojang java-runtime components per platform and probe JVM garbage collector support via -XX:+PrintFlagsFinal with a cached, mtime-keyed result. - Use Case: When modifying launch argument code in gcl-core, consult this Skill to correctly expand placeholders like ${auth_player_name} and ${classpath} and merge a Forge profile over vanilla without losing Mojang's sha1 checksums. ## Quick Start Read this Skill before writing or changing anything in gcl-core mojang/ or java/ directories or any launch argument code.

Frequently Asked Questions about mojang-meta

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I parse the Mojang version manifest and version JSON?▼

Fetch version_manifest_v2.json from piston-meta.mojang.com once per run and cache it with ETag. Each entry's url points to a version JSON containing its own sha1, which you cache permanently under cache/versions/<id>.json.

How do Minecraft library rules and natives work?▼

Libraries without rules are always included; with rules, start disallowed and apply matching allow/disallow rules in order against os.name, os.arch, os.version, and feature flags. Old versions with a natives map require extracting classifier jars into a natives directory passed via -Djava.library.path.

How does inheritsFrom merging work for Forge and NeoForge profiles?▼

Resolve the parent version first; the child's mainClass wins and arguments append. Libraries merge by group:artifact:classifier key, but Forge and NeoForge pass keep_both so both versions stay on the classpath, and the child's logging only wins when it names a client config.

Which Java runtime does Minecraft need for a given version?▼

Take the component from the version JSON's javaVersion.component field and download it from Mojang's java-runtime manifest keyed by platform. The component_for_major mapping is only a fallback when the version JSON names no component.

Why should library lists never be hardcoded for a Minecraft version?▼

Library sets change between versions and loader profiles, so hardcoding breaks installs. Always read the version JSON, verify downloads by sha1 rather than size alone, and never fetch the manifest more than once per launcher run.