Forge launch time problems
DaCurlyFKR opened this issue ยท 5 comments
Minecraft Version
1.19.2
Forge Version
43.3.13
Mantle Version
1.10.36
Tinkers' Construct Version
3.8.2.32
Describe your issue
When TC is installed, my modpack freezes after launching for 30+ minutes.
Minecraft Game Output displays it hanging up on different commands. Removing the mod that's hung up doesn't resolve the issue either, it just recurres with another mod.
Current Hangups:
"IC2Classic - Render Thread - Loaded Blocks & Tiles" (15 min)
"Mantle - Render Thread- Using deprecated 'luminosity' field on ColoredBlockModel for tconstruct:queens_slime/block#inventory" (10 min)
"Essential - Connecti... - Connected to Essential Connection Manager." (Infinite, Minecraft no longer says "Not Responding" but remains on the Mojang screen with 15/16 of the bar filled.)
I'll be publishing my modpack tonight incase you want to look into it.
Crash Report
No response
Other mods
FN Nations (modpack)
Tried reproducing with just Tinkers?
Yes
Performance Enchancers
Rubidium/Embeddium
Searched for known issues?
Searched open issues, Searched closed issues
You have provided very little info to do anything. You did select that it did it with just tinkers, therefore that is what we would be interested in. If you are getting an exceptionally long load time/freeze with just tinkers and mantle installed on your world we would like that log.
I apologize, I wrote this while half asleep. I should've tested more before reporting. I'll spend today rebuilding my modpack around TC to see if I can recreate the problem. TC runs fine by itself, I mostly wanted to report a compat problem.
I apologize for wasting your time.
Removing Diagonal Fences and Panes fixed it, however there's no problem with the other Puzzle Lib mods. I haven't looked into it much, but it loads all the way through now.
This is caused by Diagonal Windows mixing to IronBarBlock to add 4 more boolean states.
Tinkers has its own ClearGlassPaneBlock class that extends IronBarsBlock and adds it's own 6 boolean states to control connected textures.
Combined with the existing 4 boolean states with two values each this results in a total of 2^14=16384 possible state combinations (each of which must also link to 14 other states), which Minecraft tries to generate when the game launches, causing a longer boot time and much higher ram usage.
Moral of the story: don't use mixins to add block states to other mods blocks globally. Whitelist which blocks you add to. It's one of the reasons I preferred the registry substitution API over mixin, stops you from doing dumb things like globally adding a new property.
At some point tinkers will drop those extra properties assuming the forge bug was fixed. Will have to take a look to see if that's finally the case