MinecraftJavaUWP is an experiment to run modern Minecraft Java Edition inside an Xbox Developer Mode UWP app.
This project does not emulate the game. It embeds a real JDK in-process, boots Fabric, and presents the game through a custom GLFW compatibility layer backed by UWP CoreWindow and Mesa EGL/D3D12.
The project is past the proof-of-concept stage:
- the game boots on Xbox Developer Mode
- menus render on screen
- keyboard input works
- singleplayer world loading reaches gameplay
- the renderer uses Mesa on the Xbox GPU rather than a fake software path
It is still an experimental port, not a polished product.
MC.Xbox/UWP host app that embeds the JVM and starts Minecraft in-process.glfw_shim/A GLFW-compatible shim that bridges LWJGL to UWPCoreWindowand EGL.compat_mod/A small Fabric mod with targeted compatibility patches for sandboxed Xbox paths and related platform issues.build.ps1End-to-end packaging script for the UWP app.patch_fabric.ps1Patch step for Fabric loader path behavior that is incompatible with the Xbox sandbox.
At a high level:
MC.Xbox.exestarts as a UWP app.- The host publishes the live
CoreWindowto app properties. - The host loads
jvm.dllin-process and starts a real Java VM. - Fabric launches Minecraft from inside that same process.
- The custom
glfw.dllshim creates an EGL surface for the UWP window. - Mesa translates OpenGL calls to D3D12 on Xbox hardware.
That architecture exists because the normal desktop assumptions do not hold on Xbox Dev Mode:
- there is no usable desktop
HWNDpath - packaged sandbox paths do not behave like normal Windows filesystem paths
- parts of Minecraft, Fabric, LWJGL, and Java NIO need targeted compatibility work
This repository is intentionally source-focused. It does not aim to redistribute:
- Minecraft game assets
- Mojang libraries
- a bundled JRE image in git
- packaged appx builds
- local signing certificates
- local logs, saves, or debug output
If you clone this repo, expect to supply your own legal game files and local build environment.
Known rough edges include:
- sandbox-specific path handling is still an active area of work
- some platform diagnostics code in the Java stack still emits JNA/OSHI warnings
- controller support is not the focus yet
- this has only been exercised in Xbox Developer Mode, not retail mode
The point of the project is not "Minecraft launcher glue." The interesting part is proving that a modern Java game stack can be coerced into a UWP/Xbox sandbox that was never designed for it.
That required solving problems across:
- UWP app hosting
- in-process JVM startup
- native library loading inside packaged apps
- EGL/GL presentation without Win32 window handles
- path canonicalization failures in the Xbox sandbox
- Fabric and Minecraft assumptions about a normal desktop filesystem
This is a public-facing repo now, so the README stays focused on the project itself. The detailed fix history, debugging notes, and local packaging workflow remain in the source tree for development, but they are not the primary documentation surface.
The original project code in this repository is available under the custom terms in LICENSE: use is allowed with credit, but redistribution is not permitted without prior written permission from veroxsity / BanditVault.
Minecraft, Fabric, Mojang assets, and third-party runtime components remain subject to their own licenses and terms.