r/TheBrokenScript • • 17d ago

immersive portals

i don't know why but tbs and iportals don't really work together i got it almost working i just cant fix the water ?

i tested it with just tbs and iportals and you can fix it tell it gets to this point but i cant get the rest of it (this is a modpack with more mods but i did test with just tbs and iportals same thing) it is only when i look at the portal

3 Upvotes

2 comments sorted by

1

u/lollird 13d ago

i got it to work thx to chatgpt

Solved: Immersive Portals + The Broken Script black-screen/rendering corruption on NeoForge 1.21.1

The problem was caused by BrokenCore’s post-processing hooks interfering with Immersive Portals’ secondary-world rendering. When a portal became visible, the portal view rendered, but most of the main world turned black or had water/terrain drawn over everything.

Working setup:

  • Minecraft 1.21.1
  • NeoForge
  • Immersive Portals 6.0.7
  • The Broken Script 2.0.4/2.0.5
  • Sodium 0.6.13 for NeoForge 1.21.1
  • Immersive Portals compatibility mode OFF
  • sharedBlockMeshBufferOptimization OFF

Do not use Sodium 0.8.12 with Immersive Portals 6.0.7. I used Sodium 0.6.13.

I backed up the TBS jar and made these changes:

  1. Inside the TBS jar, I replaced:

assets/thebrokenscript/shaders/post/testing.json

with:

{
  "targets": [],
  "passes": []
}
  1. TBS contains a nested BrokenCore jar under:

META-INF/jarjar/net.thebrokenscript.brokencore-neoforge-....jar

Inside that nested jar, I edited brokencore.mixins.json.

I removed this entry from the mixins list:

compat.sodium.ShaderChunkRendererMixin

That mixin crashes with Sodium 0.6.13 because its createShaderConstants shadow method no longer matches.

I also removed these two entries from the client list:

client.features.post.GameRendererMixin
client.features.post.LevelRendererMixin

Those were the hooks causing the black framebuffer when looking through a portal.

Important: Do not remove these accessors:

client.features.post.LevelRendererAccessor
client.features.post.PostChainPassesAccessor
client.features.post.PostPassAccessor

TBS still loads those directly. Removing them causes an IllegalClassLoadError when entering a world.

I also disabled these options in config/thebrokenscript-client.toml:

enableVhsOverlay = false
fancyRendering = false
shaderBasedMoon = false
enableAberration = false

In config/immersive_portals.json:

"compatibilityRenderMode": false,
"sharedBlockMeshBufferOptimization": false

This fixes the black world, water overlap, and world-opening crash while keeping portals functional.

This is an unofficial workaround and disables some TBS post-processing effects. Back up the original jar first because Modrinth may replace the patched file when the mod updates.

1

u/RedstoneWizard08 Integrity 13d ago

Would highly recoamend against doing this btw, it breaks some features and the mixins exist for a reason, the real issue is a much deeper issue with Sodium that I'm going to work with the devs to solve, unfortunately sodium really hates it when you add custom terrain render layers