`mixin.perf.dynamic_dfu` breaks Entity Texture Features mod
MithicSpirit opened this issue ยท 3 comments
On 1.20.2 (haven't tested other versions), if mixin.perf.dynamic_dfu
is enabled and Entity Textures Features is installed, opening any world causes the game to crash with
[23:26:42] [Datafixer Bootstrap/WARN]: ETF has allowed a resource with a non [a-z0-9_.-] character in the file path, it is recommended you fix this file name. [DUMMY].
[23:26:42] [Datafixer Bootstrap/ERROR]: Unable to build datafixers
java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Data fixer not registered for: minecraft:DUMMY in block_entity
at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?]
at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?]
at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1807) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.lang.IllegalArgumentException: Data fixer not registered for: minecraft:DUMMY in block_entity
at com.mojang.datafixers.schemas.Schema.getChoiceType(Schema.java:109) ~[datafixerupper-6.0.8.jar:?]
at net.minecraft.class_1220.getChoiceType(class_1220.java:52) ~[client-intermediary.jar:?]
at net.minecraft.class_1197.makeRule(class_1197.java:24) ~[client-intermediary.jar:?]
at com.mojang.datafixers.DataFix.getRule(DataFix.java:108) ~[datafixerupper-6.0.8.jar:?]
at com.mojang.datafixers.DataFixerUpper.lambda$getRule$1(DataFixerUpper.java:124) ~[datafixerupper-6.0.8.jar:?]
at it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap.computeIfAbsent(Long2ObjectOpenHashMap.java:454) ~[fastutil-8.5.12.jar:?]
at it.unimi.dsi.fastutil.longs.Long2ObjectMaps$SynchronizedMap.computeIfAbsent(Long2ObjectMaps.java:466) ~[fastutil-8.5.12.jar:?]
at com.mojang.datafixers.DataFixerUpper.getRule(DataFixerUpper.java:119) ~[datafixerupper-6.0.8.jar:?]
at com.mojang.datafixers.DataFixerBuilder.lambda$buildOptimized$1(DataFixerBuilder.java:88) ~[datafixerupper-6.0.8.jar:?]
at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?]
... 3 more
It might be interesting to automatically disable this option if ETF is installed.
I'm not able to reproduce this in a standalone instance with ModernFix & ETF. However, Traben-0/Entity_Texture_Features#34 (comment) suggests it might be an ETF issue and there is a config that could be used to work around it.
The error suggests that another mod has created some dummy block entity type, so I'm not really sure what I can do from my end to fix this.
From further testing, it seems like this only happens when both "Allow broken texture paths" is enabled in the ETF settings and opening up a world from a previous version of minecraft. I'll cross-report on ETF later.