nineMinecraft is a joke site.
nineMinecraft is in no way affiliated with Modrinth or 9minecraft. (And frankly, who wants to be affiliated with the latter?)
Graphene

Graphene

Mod

Graphene is a client-side UI library for Minecraft (Fabric) that lets mod developers build interfaces with web technologies.

Client LibraryTechnologyUtility

52 downloads
4 followers

Graphene

Graphene is a client-side UI library for Minecraft 1.21.11 (Fabric) that lets mod developers build interfaces with web technologies. It embeds Chromium through JCEF, so you can render HTML/CSS/JavaScript UIs in-game while keeping a clean Java API for mod integration.

demo

What is this ?

Graphene is meant to bridge Minecraft modding and modern web UI development.

Instead of writing every screen directly with Minecraft rendering primitives, you can:

  • build rich, responsive interfaces using browser capabilities;
  • connect those interfaces to your mod logic through Graphene's API;
  • iterate on UI faster with familiar web tooling and patterns;
  • keep the integration focused on Fabric + Minecraft 1.21.11.

In short: Graphene gives Fabric mods a practical way to use web-powered interfaces without reinventing a full UI stack inside the game.

Requirements

  • Java: 21
  • GPU: NVIDIA GeForce GT 720 or better
  • For mac users, macOS 12 (Monterey) or later.

Supported Platforms

  • macOS: arm64, amd64
  • Linux: arm64, amd64
  • Windows: amd64

Tested Platforms

  • Windows 11 with AZERTY and QWERTY keyboard layouts
  • Linux (Wayland) with AZERTY and QWERTY keyboard layouts
  • MacOS 26 with QWERTY keyboard layout. (Thx to @Thinkseal for testing on macOS!)

Installation

Graphene is published on Maven Central and GitHub Packages.

We recommend using Maven Central for ease of use (no authentication required).

Check Maven for the latest version.

Maven coordinates

<dependency>
  <groupId>io.github.trethore</groupId>
  <artifactId>graphene-ui</artifactId>
  <version>&lt;version&gt;</version>
</dependency>

Add Graphene to a Fabric Minecraft Gradle project

Primary model (recommended): keep Graphene as a separate mod dependency.

repositories {
    mavenCentral()
}

dependencies {
    modImplementation("io.github.trethore:graphene-ui:<version>")
}

Note: Graphene is also available on GitHub Packages.

In your fabric.mod.json, declare:

{
  "depends": {
    "graphene-ui": ">=<version>"
  }
}

At runtime, place both jars in mods/: your mod jar and graphene-ui-<version>.jar.

Jar-in-jar embedding is also possible, but it is not the preferred default. See docs/installation.md for the trade-offs and setup.

Initialize Graphene in your mod

Register your mod with GrapheneCore.init("your-mod-id") from your client initializer:

import net.fabricmc.api.ClientModInitializer;
import tytoo.grapheneui.api.GrapheneCore;

public final class MyModClient implements ClientModInitializer {
    @Override
    public void onInitializeClient() {
        GrapheneCore.init("my-mod-id");
    }
}

If you need shared runtime options (HTTP, JCEF path, extension folders), pass a GrapheneConfig. jcefDownloadPath(...) is a base directory, and Graphene installs JCEF under <jcef-gth-version>/<platform>:

import java.nio.file.Path;
import net.fabricmc.api.ClientModInitializer;
import tytoo.grapheneui.api.GrapheneConfig;
import tytoo.grapheneui.api.GrapheneCore;

public final class MyModClient implements ClientModInitializer {
    @Override
    public void onInitializeClient() {
        GrapheneConfig config = GrapheneConfig.builder()
                .jcefDownloadPath(Path.of("./graphene-jcef"))
                .extensionFolder(Path.of("./config/my-mod/extensions"))
                .build();

        GrapheneCore.init("my-mod-id", config);
    }
}

Documentation

Start HERE!

Contributing

Contributions are welcome!

  • Report bugs or request features in Issues.
  • Open changes through Pull Requests.
  • All pull requests must be tested before being submitted.

License

Licensed under the MIT License

External resources


Project members

Tytoo

Member


Technical information

License
MIT
Client side
required
Server side
unsupported
Project ID