Possible conflict with litematica
bennyd87708 opened this issue ยท 8 comments
I saw on the curseforge page that if you're getting lag, it is worth checking the log to see if anything is going crazy, so after a little bit of investigating it turned out that there were errors being spammed in the console. They seem to have something to do with litematica, and based on my testing, they go away if either litematica or etf is removed. I'm not sure whether it's a bug with this or with litematica or if it's even a bug at all, but I figured I may as well report it. The giant attached log file was from opening the game, joining a server for just a few seconds, and then closing the game again. I do have many other mods installed but could test without them if it turns out that this is an issue that is worth looking into more closely or if it is unreproducible or something similar.
Thanks and love the mod btw!
2022-04-08-6.log
hmmm this might have to be a litematica fix but i will look into it looks like specifically a problem with some block_entity called minecraft:DUMMY, i may be able to whitelist out these to prevent issues.
After a little more testing, I'm only able to reproduce it when I also have LazyDFU installed. So, my environment where the DUMMY error shows up is:
Fabric API 0.47.9
LazyDFU 0.1.2
Litematica 0.11.0
Malilib 0.12.0
ETF 2.6.0
It also appears as though it's not actually spamming it, just consistently leaving about 6mb of errors in the log before seemingly returning to normal. Just in case it does make a difference, here is the schematic I have loaded: ice ice baby.zip
I appreciate the attempt to look into it! Even though it seems to be just a giant nightmare of compatibility crap with other mods... don't lose any sleep over it!
I'm getting the same thing too now, it does just seem to be a short burst of warnings that settles, and its a compatability issue with litematica and lazyDFU so that explains the lack of recreatability.
I'd contact the litematica dev as to whether they want to work around lazyDFU or vice versa
What does ETF even do that is somehow related to this issue? Since apparently this only happens if all 3 mods (ETF, LazyDFU, Litematica) are present.
I know barely anything about the DFU system, and the only thing Litematica does with DFU is try to fetch a current block name for an old block name, here: https://github.com/maruohon/litematica/blob/ba2e17eeb478fc7839e41fca8eb097b170f449ab/src/main/java/fi/dy/masa/litematica/schematic/conversion/SchematicConversionMaps.java#L277-L283
Somehow with all 3 mods present this spams about those weird DUMMY entries. Is it the DFU system somehow not getting initialized correctly? But why does it only happen with ETF + LazyDFU being present...
In any case long term this line of code from Litematica will go away, once I finish the proper schematic conversion system between MC versions, which will be based on a custom data conversion map. It's just used in the current temporary system which allows loading old MCEdit/Schematica format schematics.
I think I know what it is now, the first option in the config settings allows illegal identifiers to be used, usually minecraft:DUMMY would fail due to capital letters, and I assume that's what litematica is relying on happening, i will make that only apply to image identifiers from now on
I have changed the Illegal identifier override option in ETF to only affect images and have disabled it by default. this should prevent the issues with the minecraft:DUMMY errors caused with ETF present alongside LazyDFU and Litematica
This is only in the dev branch for now but you can download and try the fix from the artifacts at (https://github.com/Traben-0/Entity_Texture_Features/actions/runs/2165663262)
for now you can fix this issue in the existing release by disabling the "Allow non [a-z0-9/._-] characters" setting