What is this
Browsercraft makes unmodified Minecraft run in the browser using CheerpJ, a Java runtime for modern browsers.
What this is not
- Minecraft Classic, an alpha version of Minecraft playable in the browser
- Minecraft Bedrock Edition
- The latest version of Minecraft. Newer releases of Minecraft use a newer version of Java and OpenGL which we currently do not support.
- A modified version of Minecraft. We do not modify the game in any way, we just run the original JARs.
- A reimplementation of Minecraft in another programming language
How it works
CheerpJ supports specifying JavaScript implementations of Java native methods. We use this feature to implement portions of LWJGL (a library used by Minecraft for rendering, audio, input, etc.) in JavaScript. On desktop, LWJGL uses C++ implementations of these methods.
View the LWJGL implementation.
This project is a work-in-progress and not everything works yet. In particular:
- Audio is not supported
- Many textures are not rendered correctly
- Probably other subtle problems
None of these issues are fundamental limitations, they just haven't been implemented yet.
If you're a programmer, we'd love your help in fixing these issues! Join the Discord server and contribute on GitHub.