The Twilight Forest

The Twilight Forest

140M Downloads

Immersive Portal incompatibility

Nick1st opened this issue ยท 5 comments

commented

Forge Version

40.1.60

Twilight Forest Version

4.1.1397

Client Log

latest.log
debug.log

Crash Report (if applicable)

Steps to Reproduce

Report 1:

  1. Create a new world, having Immersive Portals and Twilight Forest installed.
  2. Once loaded into the world, execute /portal make_portal 3 3 twilightforest:twilight_forest ~ ~5 ~ to create an Immersive Portal. Notice that deserialization of the chunk sync packages fail (See Log 1). Then use /portal complete_bi_way_bi_faced_portal to extend the portal into a 'full' portal.
  3. Trying to move through the portal (only rendering the default/vanilla skybox) causes client movement to stagnate due to the other side not loaded.
  4. Create a normal Twilight Forest portal by throwing a diamond in a water puddle surrounded by flowers.
  5. Jump into the newly created portal. I noticed that the lines [Server thread/DEBUG] [twilightforest/]: Portal destination looks safe! and [Server thread/DEBUG] [twilightforest/]: Found existing portal for Brown Mushroom at BlockPos{x=-187, y=18, z=197} are spammed into the console until the chunk containing the portal gets unloaded. Coming back to the chunk and reloading it restarts the log spam. Note that the chunk containing the Immersive Portal is NOT the same as the one with the Twilight Forest portal. The Logspam only cuts of if the Twilight Forest portal is unloaded, regardless if the Immersive Portal is loaded or not. The chunks in a 3 Chunk Radius around an extra center chunk (so 7x7 Chunks) containing the Immersive Portal do not load, as seen in screenshot 1.
  6. Leave the Twilight Forest using the create portal. You'll arrive in the overworld (at a new portal).
  7. Jump back into the portal to the Twilight Forest you created by throwing a diamond into a puddle of water.
  8. As seen in screenshot 2, now the chunks load without problems and so does the Immersive Portal.

Report 2:

  1. Being in the Twilight Forest, leave the world and rejoin. The distance to any portal is irrelevant.
  2. All chunks and the Immersive Portal load normally.

Report 3:

  1. Being in the overworld, leave the world and rejoin.
  2. The Immersive Portal to the Twilight Forest won't load.
  3. Use the Twilight Forest portal to teleport. You'll get logspammed Log 1.
  4. Now going on from Report 1 Number 5 will NOT fix any issues. Instead, you'll now get that Portal destination looks safe! Found .... logspam.
  5. Looking at the chunk containing the portal causes a 3 Chunks wide column of chunks on the opposite side of the player to not render anymore. See screenshot 3. Looking from a corner does not cause any additional chunks to disappear.

Report 4:

  1. Being in the overworld, leave the world and rejoin.
  2. Run /portal tpme twilightforest:twilight_forest ~ 250 ~ to get teleported to the Twilight Forest.
  3. Get stuck in unloaded chunks regarding distance to any portal. Log 1 get's spammed.
  4. Rejoin the world.
  5. The issue fixes itself.

What You Expected

Chunks and Immersive Portals loading normally.

What Happened Instead

See Steps to Reproduce

Additional Details

Log 1:

[20:00:24] [Render thread/ERROR] [minecraft/BlockableEventLoop]: Error executing task on Client
java.lang.IndexOutOfBoundsException: readerIndex(7270) + length(1) exceeds writerIndex(7270): UnpooledHeapByteBuf(ridx: 7270, widx: 7270, cap: 7270/7270)
	at io.netty.buffer.AbstractByteBuf.checkReadableBytes0(AbstractByteBuf.java:1442) ~[netty-all-4.1.68.Final.jar%2335!/:4.1.68.Final] {}
	at io.netty.buffer.AbstractByteBuf.readByte(AbstractByteBuf.java:730) ~[netty-all-4.1.68.Final.jar%2335!/:4.1.68.Final] {}
	at net.minecraft.network.FriendlyByteBuf.readByte(FriendlyByteBuf.java:1202) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:classloading,re:mixin}
	at net.minecraft.network.FriendlyByteBuf.readVarInt(FriendlyByteBuf.java:502) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:classloading,re:mixin}
	at net.minecraft.network.FriendlyByteBuf.readLongArray(FriendlyByteBuf.java:373) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:classloading,re:mixin}
	at net.minecraft.network.FriendlyByteBuf.readLongArray(FriendlyByteBuf.java:364) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:classloading,re:mixin}
	at net.minecraft.world.level.chunk.PalettedContainer.read(PalettedContainer.java:156) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:rubidium.mixins.json:features.chunk_rendering.MixinPalettedContainer,pl:mixin:A}
	at net.minecraft.world.level.chunk.LevelChunkSection.read(LevelChunkSection.java:176) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:computing_frames,re:classloading}
	at net.minecraft.world.level.chunk.LevelChunk.replaceWithPacketData(LevelChunk.java:431) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:mixin,re:classloading,pl:mixin:APP:flywheel.mixins.json:InstanceAddMixin,pl:mixin:A}
	at qouteall.imm_ptl.core.chunk_loading.MyClientChunkManager.replaceWithPacketData(MyClientChunkManager.java:121) ~[%2384!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.multiplayer.ClientPacketListener.updateLevelChunk(ClientPacketListener.java:666) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}
	at net.minecraft.client.multiplayer.ClientPacketListener.handleLevelChunkWithLight(ClientPacketListener.java:661) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}
	at net.minecraft.network.protocol.game.ClientboundLevelChunkWithLightPacket.handle(ClientboundLevelChunkWithLightPacket.java:46) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:classloading,re:mixin}
	at net.minecraft.network.protocol.game.ClientboundLevelChunkWithLightPacket.handle(ClientboundLevelChunkWithLightPacket.java:11) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:classloading,re:mixin}
	at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:38) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:classloading}
	at qouteall.imm_ptl.core.ClientWorldLoader.lambda$withSwitchedWorld$10(ClientWorldLoader.java:492) ~[%2384!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:runtimedistcleaner:A}
	at qouteall.imm_ptl.core.ClientWorldLoader.withSwitchedWorld(ClientWorldLoader.java:474) ~[%2384!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:runtimedistcleaner:A}
	at qouteall.imm_ptl.core.ClientWorldLoader.withSwitchedWorld(ClientWorldLoader.java:491) ~[%2384!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.mde62be6$lambda$onCreateTask$0$0(Minecraft.java:3965) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:imm_ptl.mixins.json:client.MixinMinecraft,pl:mixin:APP:imm_ptl.mixins.json:client.block_manipulation.MixinMinecraft_B,pl:mixin:APP:imm_ptl.mixins.json:client.sync.MixinMinecraft_RedirectedPacket,pl:mixin:APP:rubidium.mixins.json:core.MixinMinecraftClient,pl:mixin:APP:immersiveengineering.mixins.json:accessors.client.MinecraftAccess,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:mixins.oculus.json:MixinMinecraft_Keybinds,pl:mixin:APP:mixins.oculus.json:MixinMinecraft_PipelineManagement,pl:mixin:A,pl:runtimedistcleaner:A}
	at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:146) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
	at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:22) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:mixin,re:computing_frames,re:classloading}
	at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:116) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
	at net.minecraft.util.thread.BlockableEventLoop.runAllTasks(BlockableEventLoop.java:104) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
	at net.minecraft.client.Minecraft.runTick(Minecraft.java:1039) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:imm_ptl.mixins.json:client.MixinMinecraft,pl:mixin:APP:imm_ptl.mixins.json:client.block_manipulation.MixinMinecraft_B,pl:mixin:APP:imm_ptl.mixins.json:client.sync.MixinMinecraft_RedirectedPacket,pl:mixin:APP:rubidium.mixins.json:core.MixinMinecraftClient,pl:mixin:APP:immersiveengineering.mixins.json:accessors.client.MinecraftAccess,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:mixins.oculus.json:MixinMinecraft_Keybinds,pl:mixin:APP:mixins.oculus.json:MixinMinecraft_PipelineManagement,pl:mixin:A,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.run(Minecraft.java:668) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:imm_ptl.mixins.json:client.MixinMinecraft,pl:mixin:APP:imm_ptl.mixins.json:client.block_manipulation.MixinMinecraft_B,pl:mixin:APP:imm_ptl.mixins.json:client.sync.MixinMinecraft_RedirectedPacket,pl:mixin:APP:rubidium.mixins.json:core.MixinMinecraftClient,pl:mixin:APP:immersiveengineering.mixins.json:accessors.client.MinecraftAccess,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:mixins.oculus.json:MixinMinecraft_Keybinds,pl:mixin:APP:mixins.oculus.json:MixinMinecraft_PipelineManagement,pl:mixin:A,pl:runtimedistcleaner:A}
	at net.minecraft.client.main.Main.main(Main.java:205) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:classloading,pl:runtimedistcleaner:A}
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}
	at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}
	at net.minecraftforge.fml.loading.targets.ForgeClientUserdevLaunchHandler.lambda$launchService$0(ForgeClientUserdevLaunchHandler.java:24) ~[fmlloader-1.18.2-40.1.60.jar%230!/:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.1.3.jar%2311!/:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.1.3.jar%2311!/:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.1.3.jar%2311!/:?] {}
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.1.3.jar%2311!/:?] {}
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.1.3.jar%2311!/:?] {}
	at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.1.3.jar%2311!/:?] {}
	at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.1.3.jar%2311!/:?] {}
	at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:149) [bootstraplauncher-1.0.0.jar:?] {}
[20:00:24] [Render thread/ERROR] [minecraft/BlockableEventLoop]: Error executing task on Client
java.lang.IndexOutOfBoundsException: readerIndex(6544) + length(1) exceeds writerIndex(6544): UnpooledHeapByteBuf(ridx: 6544, widx: 6544, cap: 6544/6544)
	at io.netty.buffer.AbstractByteBuf.checkReadableBytes0(AbstractByteBuf.java:1442) ~[netty-all-4.1.68.Final.jar%2335!/:4.1.68.Final] {}
	at io.netty.buffer.AbstractByteBuf.readByte(AbstractByteBuf.java:730) ~[netty-all-4.1.68.Final.jar%2335!/:4.1.68.Final] {}
	at net.minecraft.network.FriendlyByteBuf.readByte(FriendlyByteBuf.java:1202) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:classloading,re:mixin}
	at net.minecraft.network.FriendlyByteBuf.readVarInt(FriendlyByteBuf.java:502) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:classloading,re:mixin}
	at net.minecraft.network.FriendlyByteBuf.readLongArray(FriendlyByteBuf.java:373) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:classloading,re:mixin}
	at net.minecraft.network.FriendlyByteBuf.readLongArray(FriendlyByteBuf.java:364) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:classloading,re:mixin}
	at net.minecraft.world.level.chunk.PalettedContainer.read(PalettedContainer.java:156) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:rubidium.mixins.json:features.chunk_rendering.MixinPalettedContainer,pl:mixin:A}
	at net.minecraft.world.level.chunk.LevelChunkSection.read(LevelChunkSection.java:176) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:computing_frames,re:classloading}
	at net.minecraft.world.level.chunk.LevelChunk.replaceWithPacketData(LevelChunk.java:431) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:mixin,re:classloading,pl:mixin:APP:flywheel.mixins.json:InstanceAddMixin,pl:mixin:A}
	at qouteall.imm_ptl.core.chunk_loading.MyClientChunkManager.replaceWithPacketData(MyClientChunkManager.java:121) ~[%2384!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.multiplayer.ClientPacketListener.updateLevelChunk(ClientPacketListener.java:666) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}
	at net.minecraft.client.multiplayer.ClientPacketListener.handleLevelChunkWithLight(ClientPacketListener.java:661) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}
	at net.minecraft.network.protocol.game.ClientboundLevelChunkWithLightPacket.handle(ClientboundLevelChunkWithLightPacket.java:46) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:classloading,re:mixin}
	at net.minecraft.network.protocol.game.ClientboundLevelChunkWithLightPacket.handle(ClientboundLevelChunkWithLightPacket.java:11) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:classloading,re:mixin}
	at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:38) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:classloading}
	at qouteall.imm_ptl.core.ClientWorldLoader.lambda$withSwitchedWorld$10(ClientWorldLoader.java:492) ~[%2384!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:runtimedistcleaner:A}
	at qouteall.imm_ptl.core.ClientWorldLoader.withSwitchedWorld(ClientWorldLoader.java:474) ~[%2384!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:runtimedistcleaner:A}
	at qouteall.imm_ptl.core.ClientWorldLoader.withSwitchedWorld(ClientWorldLoader.java:491) ~[%2384!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.mde62be6$lambda$onCreateTask$0$0(Minecraft.java:3965) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:imm_ptl.mixins.json:client.MixinMinecraft,pl:mixin:APP:imm_ptl.mixins.json:client.block_manipulation.MixinMinecraft_B,pl:mixin:APP:imm_ptl.mixins.json:client.sync.MixinMinecraft_RedirectedPacket,pl:mixin:APP:rubidium.mixins.json:core.MixinMinecraftClient,pl:mixin:APP:immersiveengineering.mixins.json:accessors.client.MinecraftAccess,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:mixins.oculus.json:MixinMinecraft_Keybinds,pl:mixin:APP:mixins.oculus.json:MixinMinecraft_PipelineManagement,pl:mixin:A,pl:runtimedistcleaner:A}
	at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:146) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
	at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:22) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:mixin,re:computing_frames,re:classloading}
	at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:116) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
	at net.minecraft.util.thread.BlockableEventLoop.runAllTasks(BlockableEventLoop.java:104) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
	at net.minecraft.client.Minecraft.runTick(Minecraft.java:1039) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:imm_ptl.mixins.json:client.MixinMinecraft,pl:mixin:APP:imm_ptl.mixins.json:client.block_manipulation.MixinMinecraft_B,pl:mixin:APP:imm_ptl.mixins.json:client.sync.MixinMinecraft_RedirectedPacket,pl:mixin:APP:rubidium.mixins.json:core.MixinMinecraftClient,pl:mixin:APP:immersiveengineering.mixins.json:accessors.client.MinecraftAccess,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:mixins.oculus.json:MixinMinecraft_Keybinds,pl:mixin:APP:mixins.oculus.json:MixinMinecraft_PipelineManagement,pl:mixin:A,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.run(Minecraft.java:668) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:imm_ptl.mixins.json:client.MixinMinecraft,pl:mixin:APP:imm_ptl.mixins.json:client.block_manipulation.MixinMinecraft_B,pl:mixin:APP:imm_ptl.mixins.json:client.sync.MixinMinecraft_RedirectedPacket,pl:mixin:APP:rubidium.mixins.json:core.MixinMinecraftClient,pl:mixin:APP:immersiveengineering.mixins.json:accessors.client.MinecraftAccess,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:mixins.oculus.json:MixinMinecraft_Keybinds,pl:mixin:APP:mixins.oculus.json:MixinMinecraft_PipelineManagement,pl:mixin:A,pl:runtimedistcleaner:A}
	at net.minecraft.client.main.Main.main(Main.java:205) ~[forge-1.18.2-40.1.60_mapped_parchment_2022.07.10-1.18.2-recomp.jar%2379!/:?] {re:classloading,pl:runtimedistcleaner:A}
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}
	at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}
	at net.minecraftforge.fml.loading.targets.ForgeClientUserdevLaunchHandler.lambda$launchService$0(ForgeClientUserdevLaunchHandler.java:24) ~[fmlloader-1.18.2-40.1.60.jar%230!/:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.1.3.jar%2311!/:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.1.3.jar%2311!/:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.1.3.jar%2311!/:?] {}
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.1.3.jar%2311!/:?] {}
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.1.3.jar%2311!/:?] {}
	at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.1.3.jar%2311!/:?] {}
	at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.1.3.jar%2311!/:?] {}
	at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:149) [bootstraplauncher-1.0.0.jar:?] {}

Screenshot 1:
image

Screenshot 2:
image

Screenshot 3:
image

Additional Information:

  • This does not happen in combination of Immersive Portals with any other dimension mods and/or means of teleportation as far as I'm aware.
  • As going through the normal portal mostly fixes and rejoining the world in the Twilight Forest fixes all issues, it might be an out of sync error caused by later packages not being deserialized correctly.

I hope someone else, maybe a TF dev can give some more insight on this. I'll continue to research into this, though it's quite tough finding the root cause of the package errors...

Please Read and Confirm The Following

  • I have confirmed this bug can be replicated without the use of Optifine.
  • I have confirmed the details provided in this report are concise as possible and does not contained vague information (ie. Versions are properly recorded, answers to questions are clear).
  • I have confirmed this issue is unique and has not been reported already.
commented

Note: This issue is an exact copy of the Forge issue on Immersive Portal's side.

For the Forge issue on Immersive Portal's side see: iPortalTeam/ImmersivePortalsModForForge#36
For the Fabric issue on Immersive Portal's side see: iPortalTeam/ImmersivePortalsMod#1133
For the Fabric issue on Twilight Forest's side see: https://github.com/TeamTwilight/twilightforest-fabric/issues/96

commented

The main issue is in chunk serialization/deserialization. Does Twilight Forest modify chunk data packet format or do anything special to chunk serialization/deserialization?

The chunk data packet mainly contains the block states and biomes.

commented

No TF doesn't do anything with chunks.

commented

According to iPortalTeam/ImmersivePortalsMod#1133 (comment) , with later versions of TF there seem to be no chunk packet deserialization issue. I don't know the exact reason.

Someone reported that TF map does not work with ImmPtl. This is a relatively minor issue.

commented

They didn't test creating a Immersive Portal from TF to another dimension, did they?

Nevermind, it seems to actually be fixed.
I still don't know what caused this, but after investing way to many hours without finding the cause I now will just leave it that way ๐Ÿ˜€

Thanks everyone for looking into it.