MAJOR UPDATE 7/18/2026 (IMMERSIVErework)
Until now, my portals were still vanilla's purple portal blocks, with the view rendered over them and my own teleport hack behind them. That meant portals could only exist where a vanilla obsidian frame could stand, with none of Immersive Portals' actual machinery underneath.
Today, the system is a faithful, complete hand port of the Immersive Portals engine. Portals are now entities, exactly as in IP: any size, any position, any orientation, any destination, same dimension or a differnt one, with a genuine live view of the other side rendered every frame, and true seamless crossing that preserves your momentum, look direction, and hand state.
(almost) Everything IP does, this does:
- The full
/portalcommand suite:make_portalof any width/height to any dimension and coordinates, the whole command-block family (cb_make_portal, destination setters, completing portals into two-way and two-faced clusters), round portals, scaled portals (giant/miniature world effects), rotating and animated portals, global portals like world-wrapping borders,goback, and the debug tooling. - Real portal generation: Flint-and-steel an obsidian frame and get a seamless two-way, two-faced portal cluster instead of purple blocks, with an async destination search, automatic frame construction on the far side, a floating progress indicator, existing-frame linking, correct 8:1 nether coordinate mapping, and frame-break that properly kills the portal. Crouch-ignite still gives you a classic vanilla portal when you want one.
- Everything crosses: Items, arrows, ender pearls, animals, minecarts and boats with passengers, through one unified teleport pipeline.
- Recursion: Portals visible through portals, 5 levels deep, including seeing your own body and other creatures back through a portal loop.
- Mirrors: (Flint-and-steel on glass), the portal helper block for linking same-dimension frame pairs, and datapack-defined custom portal generation: your own frame blocks, ignition items, target dimensions, and portal forms (classical, flipping-floor, scaling-square, one-way, and more), loaded from a standard datapack.
- The portal wand and command sticks: Create custom portals by clicking three corners in the world, drag and reshape existing ones, copy/paste them, all in a dedicated creative tab.
- Dimension stacks and alternate dimensions: Stack worlds on top of each other with portals at the seams (configurable from the world-creation screen), plus IP's extra dimensions: skylands, chaos terrain, and more.
- Real cross-dimension simulation: The other side of every portal is genuinely chunk-loaded, lit, and ticking on the server.
Deliberate changes:
- Ender pearls teleport seamlessly: Original IP hands pearl teleports to the vanilla loading screen path, ours keeps them seamless with momentum preserved.
- Animals stay scared across dimensions: A fleeing animal that crosses a portal keeps panicking on the other side, original IP loses that state at the crossing.
- Firework edge cases at crossings.
(7/19/2026) Sodium(0.9.1) Compatibility (IMMERSIVErework3)
Updates IP to Sodium 0.9.1's modern async architecture:
(7/20/2026) IRIS(1.11.2) Compatibility (IMMERSIVErework4)
Iris works but shaders do not.
(7/21/2026) FULL IRIS(1.11.2) Compatibility (IMMERSIVErework6)
SHADER PORTAL VIEWS: Portals now render live views with shaderpack but dimension lighting may be inaccurate and recursive portals don't show. (IMMERSIVErework 7 fixed terrain flashing when using same dimesnion portals)
CREDITS 🙏
Immersive Portals by qouteall
Easily one of the best mods ever created
❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️
❤️Thank you for open sourcing this incredible project❤️
❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️
❓ FAQ ❓
How is this different from Immersive Portals?
This mod follows the same core architecture (stencil buffer rendering, secondary world context-switching, per-dimension chunk loading) but is built for MC's 26.x new rendering system.
Does it affect performance?
Yes, you're loading two worlds at once.
Can I include this in my modpack?
Yes.
Where do I report bugs?
Open an issue on the GitHub repository. Please include your loader, MC version, and a latest.log

