ModernFix

ModernFix

2M Downloads

`mixin.perf.dynamic_dfu` breaks Entity Texture Features mod

MithicSpirit opened this issue ยท 3 comments

commented

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.

commented

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.

commented

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.

commented

I'm not really sure what I can do on my end to fix this issue, and the workaround is simple (disable mixin.perf.dynamic_dfu), so I'm going to close this as "won't fix". It doesn't sound like this will affect most players.