multiconnect

multiconnect

108k Downloads

Incompatible with bobby

MrAn0nym opened this issue · 5 comments

commented

Connecting with 1.17.1 to a 1.16.5 server

Mods:

When loading in new chunks this is send in the logs:

[14:31:46] [Render thread/FATAL]: Error executing task on Client
java.lang.NullPointerException: Cannot invoke "net.earthcomputer.multiconnect.protocols.generic.blockconnections.ChunkConnector.onNeighborChunkLoaded(net.minecraft.class_2350)" because the return value of "net.earthcomputer.multiconnect.protocols.generic.blockconnections.IBlockConnectableChunk.multiconnect_getChunkConnector()" is null
	at Not Enough Crashes deobfuscated stack trace.(1.17.1+build.32) ~[?:?]
	at net.minecraft.client.network.ClientPlayNetworkHandler.localvar$bed000$fixChunk(ClientPlayNetworkHandler:2977) ~[?:?]
	at net.minecraft.client.network.ClientPlayNetworkHandler.onChunkData(ClientPlayNetworkHandler:664) ~[?:?]
	at net.minecraft.network.packet.s2c.play.ChunkDataS2CPacket.apply(ChunkDataS2CPacket:96) ~[?:?]
	at net.minecraft.network.packet.s2c.play.ChunkDataS2CPacket.apply(ChunkDataS2CPacket:22) ~[?:?]
	at net.minecraft.network.NetworkThreadUtils.method_11072(NetworkThreadUtils:21) ~[?:?]
	at net.minecraft.util.thread.ThreadExecutor.executeTask(ThreadExecutor:151) ~[?:?]
	at net.minecraft.util.thread.ReentrantThreadExecutor.executeTask(ReentrantThreadExecutor:23) ~[?:?]
	at net.minecraft.util.thread.ThreadExecutor.runTask(ThreadExecutor:125) ~[?:?]
	at net.minecraft.util.thread.ThreadExecutor.runTasks(ThreadExecutor:110) ~[?:?]
	at net.minecraft.client.MinecraftClient.render(MinecraftClient:1075) ~[?:?]
	at net.minecraft.client.MinecraftClient.run(MinecraftClient:728) ~[?:?]
	at net.minecraft.client.main.Main.main(Main:217) [intermediary-minecraft-1.17.1-client.jar:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?]
	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:234) [fabric-loader-0.11.6.jar:?]
	at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:153) [fabric-loader-0.11.6.jar:?]
	at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28) [fabric-loader-0.11.6.jar:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?]
	at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196) [NewLaunch.jar:?]
	at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231) [NewLaunch.jar:?]
	at org.multimc.EntryPoint.listen(EntryPoint.java:143) [NewLaunch.jar:?]
	at org.multimc.EntryPoint.main(EntryPoint.java:34) [NewLaunch.jar:?]
commented

Turns out it's Bobby… I'll create an issue there

commented

This looks like a mod incompatibility. Could you try removing/readding some mods and let me know which mod it's incompatible with?

commented

Two other things I noticed:

  • In some chunks the blocks appear
  • Barrels, furnaces or beds are visible as normal
commented

I had a look at the error being printed and afaict to properly fix this, bobby would likely have to expose some API for other mods to save/load custom data for each chunk and multiconnect would have to implement that to store its blocksNeedingUpdate and to create its ChunkConnector instance on load.

I'm doubtful as to whether that's worth the effort though, given there's a much simpler solution which will still be correct in real chunks (and bobby chunks are far away and by default do not load block entities anyway): Just add a null check in the obvious place and thereby ignore bobby chunks for block fixing purposes (they're likely outdated anyway and as such probably no good).

In fact, I haven't tried it but, it looks like that check has already been added four days ago for a different reason: f8b57e2

commented

Oh nice, thanks for looking into this. I'll keep this issue open until a new version is released, the bleeding edge is a little unstable at the moment.