promotional bannermobile promotional banner
premium banner
Actual osu! lazer running inside the CoreCLR embedded in the Minecraft JVM, sharing a GL texture with it. With multiplayer

Description

Osu Touch Grass

Not a meme, its actually playable, surprizingly smooth

Features

  • Actual osu!lazer running inside Minecraft (osu 2026.505.0 / osu-framework 2026.428.0, built from source, embedded in the JVM via CoreCLR) (I'm not that crazy to actually rewrite Osu in java)
  • Running on arbitary-sized monitor block rectangle (need redstone signal to launch)
  • Multiple independent screens coexist (but who needs that?)
  • Crafted items: osu! Pen, Mouse, Keyboard, combined items (hold in hand to control Osu input). Hold Shift to interact with Minecraft while playing Osu
  • Full network transport layer re-implementation over Minecraft packets:
    • Per-world leaderboards with weighted pp rankings
    • Score submission + pp earned as a stackable item in your inventory (what?)
    • Friends, profile pages, presence, chat
    • Spectator mode (replay-frame relay between players)
    • Multiplayer rooms (HeadToHead only for now) with beatmap downloading

Custom maps

Drop .osz files into <minecraft>/osutouchgrass-maps/ to import them.

How it works

First boot extracts ~370 MB of bundled CoreCLR + osu! binaries to <minecraft>/osutouchgrass-cache/. Game data (beatmaps, scores, settings) are stored at <minecraft>/osutouchgrass/, isolated per Minecraft instance.

Dependencies

  • Minecraft 1.21.1
  • NeoForge 21.1.72+
  • Architectury API 13.0.8+
  • Windows x64 only. Linux / macOS support is not implemented yet.

Credits

But why?