Immersive Portals

Immersive Portals

5M Downloads

Possible incompatiblity with WorldThreader

ShiftySpace opened this issue ยท 4 comments

commented

Is it a mod compatibility issue?

Yes

If it's a mod compatibility issue, please provide the link(s) to the incompatible mod(s)

https://github.com/2No2Name/worldthreader

Minecraft version

1.20.1

Describe the issue

Possible incompatibility with worldthreader, it does the error below for every dimension since world threader gives each dimension it's own thread.

Though I have not found this actually being an issue in gameplay. Both seem to work properly and you can cross dimensions without issue. So I am not sure if it's just immersive portals warning that this could be an issue when it might not be.

error:
[13:36:42] [worldthreader_immersive_portals:alternate1/ERROR]: Called in a non-server-main thread. java.lang.Throwable: null at qouteall.imm_ptl.core.chunk_loading.ImmPtlChunkTickets.flushThrottling(ImmPtlChunkTickets.java:169) ~[imm_ptl_core-3.3.5-fe5e07efa11dee9e.jar:?] at net.minecraft.class_3204.handler$zla000$imm_ptl_core$onRunAllUpdates(class_3204.java:1053) ~[client-intermediary.jar:?] at net.minecraft.class_3204.method_15892(class_3204.java:146) ~[client-intermediary.jar:?] at net.minecraft.class_3215.method_16155(class_3215.java:286) ~[client-intermediary.jar:?] at net.minecraft.class_3215.method_12127(class_3215.java:323) ~[client-intermediary.jar:?] at net.minecraft.class_3218.method_18765(class_3218.java:333) ~[client-intermediary.jar:?] at _2no2name.worldthreader.common.ServerWorldTicking.tickThreaded(ServerWorldTicking.java:71) ~[Worldthreader-1.5.0.jar:?] at _2no2name.worldthreader.common.ServerWorldTicking.runWorldThread(ServerWorldTicking.java:46) ~[Worldthreader-1.5.0.jar:?] at _2no2name.worldthreader.common.thread.WorldThreadingManager.lambda$new$0(WorldThreadingManager.java:42) ~[Worldthreader-1.5.0.jar:?] at java.lang.Thread.run(Thread.java:833) ~[?:?]

latest.log

commented

Currently, It's not recommend to use this mod with WorldThreader, as thread safety issue can occur rarely, but when it occurs the game state may become valid and it has the chance to corrupt the world saving. If you really want to use ImmPtl with WorldThreader, it's recommended to backup frequently.

commented

I made some changes that may fix the thread check of ImmPtlChunkTickets

commented

Thanks for the reply. Yes I do hourly backups on my server. Just looking to optimize however I can, but having everything on a single thread is really limiting so separating dimensions to different threads would be so nice for my server but I understand it is extremely complicated to make sure everything works properly.

commented

I compiled a version of the mod that has the threading code you added. It works super well! ran into no issues or errors thus far personally. Thanks again :)