AxalotLDev / Async

Async is a Fabric mod designed to improve entity processing performance.
https://modrinth.com/mod/async
GNU General Public License v3.0
9 stars 1 forks source link

Mixin incompatibilty with Lithium #2

Closed RubenRME closed 5 days ago

RubenRME commented 6 days ago

As described, incompatibility between Async and Lithium causing the server to crash as soon as a player joins

Logged as followed:

java.lang.NullPointerException: Cannot invoke "net.minecraft.class_3228.method_20627(long)" because "$$4" is null
    at knot//net.minecraft.class_3204.method_14045(class_3204.java:88)
    at knot//net.minecraft.class_3215.method_12127(class_3215.java:305)
    at knot//net.minecraft.class_3218.method_18765(class_3218.java:350)
    at knot//net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:1021)
    at knot//net.minecraft.class_3176.method_3813(class_3176.java:299)
    at knot//net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:912)
    at knot//net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:697)
    at knot//net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:281)
    at java.base/java.lang.Thread.run(Thread.java:1583)

A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Server thread
Stacktrace:
    at knot//net.minecraft.class_3204.method_14045(class_3204.java:88)
    at knot//net.minecraft.class_3215.method_12127(class_3215.java:305)
Mixins in Stacktrace:
    net.minecraft.class_3204:
        me.jellysquid.mods.lithium.mixin.minimal_nonvanilla.world.expiring_chunk_tickets.ChunkTicketManagerMixin (lithium.mixins.json)
        com.axalotl.async.mixin.ChunkTicketManagerMixin (async.mixins.json)
    net.minecraft.class_3215:
        com.axalotl.async.mixin.ServerChunkManagerMixin (async.mixins.json)
        xyz.nucleoid.fantasy.mixin.ServerChunkManagerMixin (fantasy.mixins.json)
        me.jellysquid.mods.lithium.mixin.alloc.chunk_ticking.ServerChunkManagerMixin (lithium.mixins.json)
        org.popcraft.chunky.mixin.ServerChunkManagerMixin (chunky.mixins.json)

Just like C2ME removing the mixin from Lithium fixes the issue. However due to how standardised Lithium is I'd say it's probably good to, just like C2ME, note it somewhere.

Sidenote: I understand this is a super early alpha, but will there ever be automatic Mixin detection/disabling? Or at the very least listing mods as incompatible in loom?

FurryMileon commented 6 days ago

It's peculiar that async disables the Lithium mixins which conflict with async functionality.

AxalotLDev commented 5 days ago

Try use new Pre-release

RubenRME commented 5 days ago

Can confirm new pre-release fixes the incompatibility!