MCEF is a mod and library for adding the Chromium web browser into Minecraft.
MCEF is based on java-cef (Java Chromium Embedded Framework), which is based on CEF (Chromium Embedded Framework), which is based on Chromium. It was originally created by montoyo. It was rewritten and currently maintained by the CinemaMod Group.
Current Chromium version: 126.0.6478.183
- Windows 10/11 (x86_64, arm64)*
- macOS 11 or greater (Intel, Apple Silicon)
- GNU Linux glibc 2.31 or greater (x86_64, arm64)**
*Some antivirus software may prevent MCEF from initializing. You may have to disable your antivirus or whitelist the mod files for MCEF to work properly.
**This mod will not work on Android.
MCEF is LGPL, as long as your project doesn't modify or include MCEF source code, you can choose a different license. Read the full license in the LICENSE file in this directory.
Compile It :D
This fork of MCEF is specifically built for Minecraft 1.20.1.
If you need support for a different version of Minecraft, you can follow the same modifications made in this repository and simply adjust the Fabric (or NeoForge) version accordingly in your build.gradle and mod setup files.
The core integration remains the same — just make sure to align your environment with the target Minecraft version.
After cloning this repo, you'll need to clone the java-cef repository (https://github.com/FeelipMar/java-cef) into a separate folder.
Build it using Python 3.7.9 (this version is required) and Visual Studio 2022.
To correctly compile java-cef, follow the official build guide here:
https://bitbucket.org/chromiumembedded/java-cef/wiki/BranchesAndBuilding.md
Once compiled, copy the java folder from the build output into MCEF's java-cef submodule folder — do not use the original git submodule version, use the one you just compiled instead.
Next, update the download-mirror to point to your own compiled binaries.
And that’s it! If anything is unclear or you'd like a more detailed explanation, feel free to ask and I’ll be happy to clarify.
By default, the Chromium browser embedded with MCEF may not run at the maximum frame rate possible.
To ensure smooth rendering — especially when using windowless (offscreen) rendering — you can set the frame rate manually to 60 FPS.
There are two main ways to do this:
CefBrowserSettings cefBrowserSettings = new CefBrowserSettings();
cefBrowserSettings.windowless_frame_rate = 60;
browser = MCEF.createBrowser(
browserUrl, // Your browser URL
transparent, // true or false depending on your needs
windowWidth, // Width of your browser surface
windowHeight, // Height of your browser surface
cefBrowserSettings
);browser.getCefBrowser().setWindowlessFrameRate(60);