Concurrent Chunk Management Engine (Fabric)

Concurrent Chunk Management Engine (Fabric)

231k Downloads

Make it possible to disable alpha.11.4 async entity check via config

TeslaP09 opened this issue ยท 1 comments

commented

Is your feature request related to a problem? Please describe.
In version 0.2.0+alpha.11.4 (1.20.1) you added a check for async entity loading and unloading, which kicks you from the world when it catches an asynchronous entity. The problem is that some mods apparently use async entities (e.g. Shield Overhaul by ElocinDev when shield bashing). For now I can just downgrade to 11.3, but then I would miss out on the features and fixes of 11.6 and later

Describe the solution you'd like
I think that it would be a good idea to add a config option to disable this check, so that some mods don't crash, because with c2me 11.3 or below (or even without it) the shield bashing by Shield Overhaul works fine and doesn't cause any troubles for me by itself. If this is already possible, please let me know, because Ctrl + F'ed 'async' and 'entity' in the config and didn't find anything useful.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
[21:20:03] [Netty Server IO #1/INFO]: [STDERR]: java.util.ConcurrentModificationException: Async entity load
[21:20:03] [Netty Server IO #1/INFO]: [STDERR]: at net.minecraft.class_3898.handler$dni000$c2me-fixes-general-threading-issues$preventAsyncEntityLoad(class_3898.java:12926)
[21:20:03] [Netty Server IO #1/INFO]: [STDERR]: at net.minecraft.class_3898.method_18701(class_3898.java)
[21:20:03] [Netty Server IO #1/INFO]: [STDERR]: at net.minecraft.class_3215.method_18755(class_3215.java:484)
[21:20:03] [Netty Server IO #1/INFO]: [STDERR]: at net.minecraft.class_3218$class_5526.method_31436(class_3218.java:1558)
[21:20:03] [Netty Server IO #1/INFO]: [STDERR]: at net.minecraft.class_3218$class_5526.method_31798(class_3218.java:1536)
[21:20:03] [Netty Server IO #1/INFO]: [STDERR]: at net.minecraft.class_5579.method_31847(class_5579.java:216)
[21:20:03] [Netty Server IO #1/INFO]: [STDERR]: at net.minecraft.class_5579.method_31820(class_5579.java:186)
[21:20:03] [Netty Server IO #1/INFO]: [STDERR]: at net.minecraft.class_5579.method_31818(class_5579.java:167)
[21:20:03] [Netty Server IO #1/INFO]: [STDERR]: at net.minecraft.class_3218.method_14175(class_3218.java:911)
[21:20:03] [Netty Server IO #1/INFO]: [STDERR]: at net.minecraft.class_3218.method_8649(class_3218.java:862)
[21:20:03] [Netty Server IO #1/INFO]: [STDERR]: at elocindev.shield_overhaul.networking.ShieldBashC2SPacket.receive(ShieldBashC2SPacket.java:29)

commented

We do not have plans to allow disabling these checks as this have only caused so many troubles in the past.
There is no reason to add entities (plus modifying any server-visible world state) on another thread as it will only cause trouble to the server stability.
Shield Overhaul clearly did not follow the documentation. This should be reported to their side instead.