Play Minecraft.
No install. No launcher.
Real Java Minecraft in a tab, 1.18 → 26.3, with Fabric mods loaded at runtime. SkyAPI repairs the mods a browser breaks, converts the ones Fabric can't carry, and keeps the GPU path clean.
1.18 → 26.3
Every release in range, one client. Options keys, quoting and mod/version guards are version-aware, so switching versions doesn't black-screen your world.
Fabric, at runtime
Fabric Loader is a jar that runs inside the wasm JVM. Mixins, refmaps and nested jars work the way they do on desktop — nothing is compiled into the client.
SkyAPI
A 6-line mod API with no Minecraft imports: events, HUD, config and profiling that run unchanged from 1.18 to 26.3.
Converter
Drop a jar or paste a Modrinth slug. It is analysed, patched (no ASM, no agent) and
written to minecraft/mods — Cobblemon-class mods included.
GPU dedupe
The WebGPU layer removes ~80 % of the bind-group creations a per-draw renderer asks for, and attributes lag spikes instead of averaging them away.
Honest limits
1.18+ only, by design: the renderer is GL 3.3 core. 1.17 and below are out of scope — they need fixed-function OpenGL, which this build does not implement.
Mods
These are real packages converted on this machine. native = jar kept byte-identical, port = compatibility patches applied, content = assets/data only.
Versions
Generated from the Mojang manifest. The client picks the right options dialect, asset index and mod loader per era.
Renderable today
1.18 – 26.3 — GL 3.3 core, zero fixed-function calls.
26.3 ships a Vulkan backend too; a browser has no Vulkan loader, so it falls back to OpenGL, which this runtime provides.
Verified by scanning every official client jar, not by guesswork.
Modding API
The whole mod. No Minecraft imports, so the same class runs on every supported version.
public final class HelloMod implements SkyMod {
public void onLoad(SkyApi.Context ctx) {
ctx.events().on(SkyApi.HudRender.class, e ->
ctx.hud().text("Hello from SkyAPI on " + SkyApi.MC_VERSION,
6, 6, 0xFFFFFFFF));
ctx.log().info("loaded");
}
}
What you get
ctx.events()— tick, HUD, keys, chat, world joinctx.hud()— text, rect, item, right-aligned helpersctx.config("x.json")— atomic JSON configctx.profiler()— p50/p99 per sectionSkyApi.Version.satisfies(...)— version gates
Fabric mods keep using Fabric API + Mixin; SkyAPI adds the repair layer and this zero-Mixin API for new mods.
Converter
Every package is the original jar plus a report. Nothing is transpiled, which is why a 133 MB mod converts at all.
Convert your own jar
Measured
In the client: __skymods.install('sodium').
Edge converter: mods.skyclientlauncher.workers.dev