Now with an actual progression!
Warning
EldenCraft is in early alpha and nowhere near finished. Expect bugs, rough edges, missing features, unbalanced progression and the occasional crash. Saves are backed up before every launch, but keep your own copies of anything you care about. Bug reports are very welcome!
EldenCraft runs Minecraft Java Edition inside Elden Ring. Both games run at once. Elden Ring brings the world, the enemies, the bosses and the collision. Minecraft brings the blocks, the inventory, the tools, the HUD and the arm swinging that wooden pickaxe. The two renderers are composited into a single frame, so the Tree Sentinel is about to meet a man in leather armour holding a stack of cobblestone.
No asset rips, no recreations: these are the real games, talking to each other.
We also took a novel approach to modelling the world, which means no janky collisions anymore!
Build an obsidian frame, light it, and step through. The Lands Between burn: a crimson sky, netherrack rolling over Elden Ring's own hills, fire, lava and ghasts drifting above the Erdtree. Survive the waves and walk back out. |
Elden Ring's terrain is minable. Grass gives dirt, boulders give stone, and each native surface maps to a real Minecraft material. Hold left click and watch Limgrave crack. |
Everything you dig is a real block you can place back, with real collision in Elden Ring. Raise walls across Limgrave, lay redstone dust and fire pistons next to the ruins. Crafting tables included. |
Talk to Kalé and get a Minecraft dialog. Open his shop and spend your actual Elden Ring runes on swords, food, armour and building blocks. Purchases are journaled across both saves, so a purchase cut off by a crash is recovered instead of charged twice. |
Yes, that's the Tree Sentinel, and yes, that's a wooden sword. Every swing and every shield block draws from a Minecraft stamina bar, so get greedy and you'll be out of breath when the halberd comes down. Native boss health shows up as a Minecraft boss bar, and remembrance victories raise your health and stamina caps. |
Press Y and the spectral steed answers as a saddled black Minecraft horse. Gallop at 11 m/s, dash at 16, and double jump over anything in your way. More below. |
Click any clip to watch the full video.
| Progression | From wood to netherite across 159 boss rewards. Every remembrance is a milestone. |
| Arsenal | Swords, shields, bows, crossbows, ender pearls, elytra and golden apples: all real Minecraft items. |
| Enemy drops | Ordinary enemies drop bread, arrows, crafting junk and the odd golden apple where they fall; better food joins as you climb the material tiers. Boss rewards go straight to your inventory. |
| Boss bars | Native boss health in Minecraft boss bars, with the yellow damage trail. |
| Minecraftified menus | Sites of Grace, NPC conversations and confirmations become Minecraft screens; the original quest scripts still decide the outcome. |
| Map and fast travel | Elden Ring's own map on M or G, with the Minecraft overlay out of the way so it is fully clickable. |
| Ender Chest at every grace | Sort chest becomes your persistent Ender Chest. |
| Weather sync | When it rains or storms in the Lands Between, it rains or thunders in Minecraft too. |
| First or third person | F5 works the way your muscle memory expects. |
| Shared GPU composition | Both renderers merge through shared GPU textures with depth-aware composition. |
| Save safety | A dedicated Minecraft world and Elden Ring save, verified ZIP backups before every change. |
Press Y on solid ground to whistle. The whistle follows Elden Ring's rules: it works in the open world and the underground, but not in legacy dungeons, catacombs, caves or other enclosed areas. Riding into one of those areas, or opening a grace or NPC menu, dismisses Torrent. Press Y again on the ground to dismount.
- Gallop with WASD at about 11 m/s; hold Ctrl to dash at about 16 m/s in any direction.
- Jump with Space, then press it again in the air to double jump and steer toward the held direction.
- Crouching and a raised shield don't slow him, and hits don't knock him back.
- The camera rises to saddle height, and hoofbeats replace your footsteps.
Native attacks land on the rider, and Torrent loses the same share of his health as you do. He recovers slowly while dismissed. If his health runs out you are thrown off, and calling him back costs 3 shanks of food (free in creative). He can't open an elytra glide and is never saved with the world.
Important
You need owned copies of both games: Elden Ring on Steam (executable 2.7.1.0) and Minecraft Java Edition. EldenCraft is offline singleplayer only (Seamless Coop might be added in the near future though!). Online Elden Ring and Minecraft LAN/server sessions turn the bridge off.
- Download
EldenCraft-<version>-windows-x64.zipfrom the latest release and extract the entire ZIP to an ordinary writable local folder, such asC:\Games\EldenCraft. Keepscripts,configandpayloadbesideEldenCraft.cmd. - Sign in to Steam and close both games.
- Double-click
EldenCraft.cmd. - On first launch, sign in with your Microsoft account in Prism Launcher, then close the launcher to continue.
- Minecraft creates and joins its dedicated EldenCraft world automatically. Load or create an Elden Ring character, and the two games connect.
The dedicated offline Minecraft player is protected while the bridge is waiting for Elden Ring, loading a map or disconnected. Natural mobs do not spawn in the staging world, and existing staging hostiles are removed. Spawn eggs and the shared Nether's waves keep their normal behavior.
The same script handles setup and every later launch. It downloads checksum-verified, portable Java, Prism Launcher, me3 and ReShade, installs the bridge and starts both games. No Python, Rust, Gradle, Visual Studio or system Java needed.
Launcher options
The launcher finds your Steam libraries. If it can't find Elden Ring, it opens a file picker, or you can pass the path:
.\EldenCraft.cmd -GamePath "D:\SteamLibrary\steamapps\common\ELDEN RING\Game\eldenring.exe".\EldenCraft.cmd setup # Install and configure without starting the games
.\EldenCraft.cmd check # Verify release files and game compatibility
.\EldenCraft.cmd -CpuFrames # Use shared-memory frames instead of GPU sharing| Component | Supported configuration |
|---|---|
| Windows | Windows 10/11 x64, build 19041 or newer |
| Elden Ring | Owned Steam installation, executable product version 2.7.1.0 |
| Minecraft | Owned Java Edition account; the launcher installs 26.3 |
| Graphics | DirectX 12 for Elden Ring, OpenGL for Minecraft; SDR output |
| Resources | Enough memory and GPU headroom to run both games at once |
| Key | Action |
|---|---|
| W A S D | Move and strafe |
| Ctrl / Shift / Space | Sprint / sneak / jump |
| Left mouse | Attack; hold to mine |
| Right mouse | Use an item, place a block, or charge a ranged weapon |
| Y | Summon or dismiss Torrent |
| R | Elden Ring interaction: doors, items, levers and Sites of Grace |
| E | Minecraft inventory |
| M / G | Elden Ring map (Minecraft is hidden until it closes) |
| T / / | Chat / command |
| 1–9 / wheel | Hotbar selection |
| Q / F | Drop item / swap offhand |
| Escape | Minecraft pause menu |
| F5 | First person / rear third person / front third person |
| F6 | Toggle Minecraft composition |
| F4 | Toggle combat hitbox diagnostics |
| F11 | Toggle the ReShade compositor |
Menus and the map
- In menus: Enter / R confirms; Up / Down, W / S or Tab navigate; Escape / E closes. Camera and gameplay controls stay locked while a menu is open.
- The map is Elden Ring's own, with its normal mouse controls and fast travel. Close it with M, G or Escape; Minecraft comes back once the key is released.
- Merchants offer a single Shop row that opens the Minecraft shop; native selling is not offered.
- Grace menus drop level-up, flask and memorize-spell rows; Sort chest opens your Ender Chest. Specialist screens such as equipment and Great Runes keep their native interface for now.
- Signs: place one and type its text directly; Escape or Done saves it.
- The Minecraft world keeps running when you switch windows. Its pause menu closes when you switch away; inventory and chat stay open.
flowchart LR
subgraph ER["Elden Ring (offline)"]
H["Native host<br/>(Rust, me3)"]
C["Compositor<br/>(ReShade add-on, D3D12)"]
end
subgraph MC["Minecraft Java 26.3"]
G["Fabric bridge mod<br/>(integrated server + client)"]
end
H -- "pose, input, HP, camera,<br/>terrain, enemies" --> G
G -- "blocks, mobs, damage, stamina,<br/>glides, Torrent" --> H
G -- "shared GPU textures<br/>(world, avatar, HUD)" --> C
H -- "scene camera" --> C
Minecraft's integrated server owns items, inventory, blocks, mobs and vanilla rules. Elden Ring owns movement, collision and your HP. A native movement model reproduces vanilla walking, sprinting, jumping, elytra and Torrent at Elden Ring's physics stage, so the controls feel like Minecraft but native collision still decides where you can go. Every channel is a bounded, versioned local mapping with session identity and freshness checks; no game pointers ever cross the process boundary. The full contract is in PROTOCOL.md.
- Runtime files, the Minecraft instance, logs and backups live in
%LOCALAPPDATA%\EldenCraft. Pass-DataDirectory "D:\EldenCraftData"each time to use another location. - Elden Ring uses a separate
EldenCraft.sl2save; Minecraft uses a dedicated EldenCraft survival world. Existing saves are backed up to verified ZIPs before any change or launch, and a failed backup stops the operation. Game installation files are never modified. - Updating: extract the new release into its own folder and run its
EldenCraft.cmd. Worlds, sign-in, settings and shader preferences carry over. - Balance: boss rewards, enemy drops, shops, stamina, armour, weapons and gathering are configured in
%LOCALAPPDATA%\EldenCraft\campaign.json(setup preserves your edits). See the campaign guide. Restart both games after changes, and keep each character's Minecraft world and campaign journal together. - Debug kits: with
debugKits: true,/eldencraft kit ranged,/eldencraft kit flightand/eldencraft kit netherfill free inventory slots in the dedicated world.
"Unsupported executable"
This release needs executable product version 2.7.1.0 (title-screen App Ver.
1.17.1). Product version 2.7.0.0 is the older 1.17 patch: update in
Steam, then verify installed files. If you have multiple copies, use -GamePath
to select the updated Steam installation. Newer game updates need a matching
EldenCraft release.
Minecraft doesn't start
Finish Microsoft sign-in in the dedicated Prism Launcher and check the instance log. Close Prism before re-running the script.
Blank scene or GPU sharing fails
Keep Minecraft unminimized and run both games on the same GPU, or launch with
-CpuFrames.
A download or backup fails
Fix the reported connection, permission or disk-space problem and re-run. Logs
are in %LOCALAPPDATA%\EldenCraft\logs.
Missing PowerShell script, cloud folder or checksum error
Run the launcher after extracting the entire release ZIP, rather than opening
it inside the ZIP or copying only the CMD file. If scripts/windows.ps1 is
missing after extraction, check antivirus quarantine and extract a fresh copy.
Use an ordinary local folder outside OneDrive or other cloud placeholders.
Links and junctions are rejected at the path shown in the error. If the runtime
data is linked, launch with -DataDirectory "C:\Games\EldenCraftData" each time.
Edit %LOCALAPPDATA%\EldenCraft\campaign.json (or campaign.json in your custom
data directory), then restart both games. The config/campaign.json inside the
release is a verified template. If you edited it, preserve your changes, restore
the original template from the ZIP, and apply the changes to the runtime copy.
Restore other modified or missing packaged files from the same release ZIP.
ReShade opens but Minecraft is missing
EldenCraft injects its own ReShade runtime and compositor. A separately installed
ReShade proxy DLL or an old [INSTALL] BasePath in the game's ReShade.ini can
interfere; the launcher reports the conflicting path. Uninstall that ReShade
installation or move the reported files out of the Game folder, then rerun.
EldenCraft does not require dxgi.dll in the game folder.
Load an Elden Ring character, keep Minecraft unminimized, and bring Elden Ring to the foreground. A temporary online-mode message at the title screen alone does not establish the cause; check the later bridge status entries.
For help and bug reports, join the EldenCraft Discord. Include the error text and logs from the same failed run:
%LOCALAPPDATA%\EldenCraft\logs\launcher-*.logand the matchingme3-*.stdout.log/me3-*.stderr.log.%LOCALAPPDATA%\EldenCraft\runtime\ReShade.log.%LOCALAPPDATA%\EldenCraft\runtime\data\eldencraft-loader.logandeldencraft-native.log.%LOCALAPPDATA%\EldenCraft\minecraft\instances\EldenCraft\.minecraft\logs\latest.log.
Use your custom data directory if configured. Early launcher errors are logged before game verification. Missing native logs mean the native runtime has not started; include the launcher and me3 logs. Avoid sending Minecraft account files or entire save folders.
Known limitations
- HDR output isn't supported.
- Native enemies don't pathfind around Minecraft walls.
- Absorption hearts, potion effects on native enemies and crossbow fireworks are incomplete.
- Picking Elden Ring terrain is approximate; native collision stays authoritative for movement and projectiles.
- Incoming damage still passes through native armour and stat defences before Minecraft armour, so your native class and loadout affect difficulty.
- The campaign values are a starting balance. Automated checks cover progression and recovery; boss difficulty and the economy still need full playthroughs.
Source checkouts need a build first. docs/building.md covers the
toolchain, tests and packaging. Pushing a v<version> tag that matches
minecraft/gradle.properties builds, tests and publishes a GitHub Release
automatically through .github/workflows/release.yml.
EldenCraft is free and open source. If it made you laugh, die to the Tree Sentinel with a wooden sword, or both, you can help keep it going:
Inspired by Minecraft-Ring by siddoff and minecraft-crossover-bridge by justbustin. Built with Fabric, ReShade, me3 and fromsoftware-rs.
EldenCraft is MIT licensed; dependency credits are in THIRD_PARTY_NOTICES.md. Elden Ring and Minecraft belong to their respective owners. No game binaries, assets or account credentials are included. This is a fan project, not affiliated with FromSoftware, Bandai Namco, Mojang or Microsoft.
Try finger, but hole.






