Immersive Portals - CE 6.0.12 - NeoForge 1.21.1
Curse Maven Snippet
What's new
Immersive Portals - CE 6.0.12
Minecraft 1.21.1 / NeoForge 21.1.228+ / Java 21
Renderer compatibility
- Terrain-renderer and shader detection are independent. Supported combinations are vanilla without shaders, Sodium 0.8.12+mc1.21.1 with or without official Iris 1.8.14-beta.1+1.21.1-neoforge, and Embeddium 1.0.15+mc1.21.1 with or without NeOculus 1.8.7. Install only one terrain renderer; classic Oculus is not the pinned shader implementation.
- Embeddium and NeOculus have separate dependency adapters and ABI checks. NeOculus's compatibility
irismod ID no longer selects Sodium-specific hooks. Unsupported combinations and unreviewed Embeddium/NeOculus versions report actionable errors. - Create 6.0.10-280 / Flywheel 1.0.6 uses vanilla block-entity rendering inside portal and clipped views, then restores the selected main-view backend. This is a scoped fallback, not accelerated Flywheel rendering inside portals. Sable remains optional.
Fixed
- Synchronized NeOculus texture metadata with allocation and deletion, fixing stale depth dimensions after shader reload while retaining cached width/height lookups.
- Serialized Forgified Fabric native receiver creation across protocol registrars, protected NeoForge payload maps against concurrent writes and duplicate replacement, and restored the original network setup flag even when registration fails.
- Reported graphical-client disconnects immediately with the original reason and scoped thread diagnostics. Log polling reads only new bytes and retains incomplete lines, without rejecting successful shutdown.
- Corrected clipping for terrain, translucent geometry, entities, block entities and particles, including final geometry-producing shader stages. Deferred shader providers refresh after reload; disabling shaders restores vanilla clipping. Shadow passes suspend inherited portal clipping and restore it afterward.
- Preserved terrain lists and cached Sodium multi-draw batches across recursive views and shadow passes. Added the neighboring block/light-data ring required to build visible chunks, including nested destinations; reduced server performance retains a bounded nested loader instead of dropping the destination.
- Preserved block changes arriving after Sodium submits an initial mesh snapshot but before its first upload after reload. A regression executes the pinned scheduler bytecode to reproduce the original lost update.
- Initialized NeOculus's remembered dimension for early connection paths without creating a shader pipeline before OpenGL initialization.
- Corrected depth/stencil copy formats, resize handling and GL state restoration. Drivers without copy-image capability use framebuffer blits.
- Restored Flywheel state after recursive/clipped views and retained vanilla block-entity entries needed by those views without duplicate main-view drawing.
- Made optional QIO GameTests discoverable without Sable and kept development-only drivers, mixins and shader fixtures out of the release jar.
Verification and limits
- Verification includes dependency bytecode contracts, scheduler regressions, native GameTests, Sable UDP/TCP E2E, shader clipping and shadow fixtures, reload/resize/toggle scenes, negative controls, real-pack smoke checks, copy-image/blit paths and explicit Flywheel backends.
- Real-pack inputs are pinned MakeUp Ultra Fast 9.4a (
shadowless_high) and Complementary Reimagined r5.5.1 (POTATO) on Iris and NeOculus. These presets do not establish compatibility for every shaderpack or preset. The separate owned shadow fixture checks shadow behavior; it does not certify arbitrary packs' shadow implementations. - Normal rendering covers nested portals. Compatibility/debug renderers retain their one-layer limit.
- Declared verification lanes are release gates, not a claim that a pending build has passed. Publication requires successful verification of the release commit.
See the renderer contract, Flywheel audit, and verification commands for exact scope and reproduction instructions.
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include

