[I Screwed Up] World Loading Times w/ Greggy-Tech (5u), Metallurgy, etc.
SegFault22 opened this issue ยท 3 comments
What happened
Game takes a while to load to the menu, but not any longer than usual. But when I try to load a world, it takes around 20 minutes to load. I checked the fml-latest-client.log, and it has a whole wall of entries saying "[16:00:54] [Server thread/TRACE] [EE3/]: [SERVER_ABOUT_TO_START] Mod with ID 'EE3' added recipe (Output: 1xitemStack[gregtech:gt.metaitem.01@3955], Inputs: 1xoreStack[craftingToolHardHammer] 1xoreStack[cropCranberry])", most of them having gregtech in the name, so it is caused by all of those gregtech meta-items we all hate so much.
What steps do we have to follow so we can reproduce the issue
- Install IC2 & GreggyTech 5 or similar (4, 5u, maybe even 6)
- Install a whole bunch of mods that add ores, items, blocks and recipes for stuff, for which GreggyTech will register each and iterate through its list producing tons of items, tools and stuff that you won't ever use (lead screw? electrum saw blade? adamantium fine wire?) - mods such as Forestry, Buildcraft, Railcraft, Mekanism, Thaumcraft, Applied Energistics 2, Thaumic Energistics, Electro-Magic Tools, Twilight Forest, Thermal Expansion 3, Mystcraft, Minefactory, NetherOres, Tinkers' Construct, ExtraTiC, Natura, AOBD, Metallurgy, ExtraBiomesXL, BiblioCraft, BiblioWoods Forestry/Natura/EXBL addons, IronChest, LogisticsPipes, Magic Bees, ProjectRED, Quantum Flux, Redstone Arsenal, Remain In Motion, Underground Biomes Constructs, and so on.
- Start loading the game - this will take a few minutes because GregTech adds so many items, most of which will never be used (except for those adamantium crafting-tool parts, of course). Watch a couple of funny cat videos while you wait.
- Once loaded, start loading a world. At first this will appear to make the game get stuck, but if you wait long enough it will finally finish loading. Go bake some brownies or cookies or something while you wait and it might be done (or close) when you get back.
- Play game as usual (or check to see if your EMC-value configurations got loaded or the mod chose to ignore them, in the latter case causing you to wait for another hour as the game loads after you try a different way to change the EMC values in the "data" folder)
Version of Equivalent Exchange 3
Just about any version should do this, but I used 0.3.0.547 mainly (After I tried 0.3.0.544, which did the same to my loading time, but I changed to the latest curseforge version when I found that the EMC value for Minium Dust was not added auto-magically and I accidentally Calcinator'd a whole diamond into worthless Ash Dust)
Pastebin of relevant log files (fml-latest-client.log, fml-latest-server.log, latest.log)
413 Request Entity Too Large
nginx
The Rest -or- What I'm Asking For
I know that the system which processes recipes and whatnot to determine EMC values is already very efficient, and can't reasonably be made any more efficient, without buying a crate full of PS3s and building a cluster supercomputer to load all of that (or hiring aliens to build an optical computer dedicated to processing EE3 energy values from recipes). I know this insane loading time is supposed to be expected, when you use a mod that adds millions of useless lead tool part meta-items, "clear glass fine wire", dust piles and whatnot. But I had to sit through this excessively long loading process around 6 times, just to check whether or not any EMC values were changed when I modified the files in the /.minecraft/data/ee3/energy-values/ folder (before I learned that they can be changed and reloaded with chat commands. derp).
So, what I'm gonna ask for is something that isn't really needed to fix a game-breaking problem, but it would be very helpful in a situation somewhat like this (or debugging) - specifically, some configuration options to turn off recipe-item EMC calculation, or blacklist certain mods from having any EMC values added for their items. These options wouldn't be very useful for actually playing the game (for example, removing the recipe-item EMC calculation would prevent planks, sticks, ingots, metal-blocks, nuggets, cooked food, super-apples, etc having an EMC value), but they would be great for debugging in the presence of GreggyTech and its obese meta-items-table, or any other mod which adds millions of special items that will never be used by anyone ever to make anything useful (lead screws? magnesium saw blade? silicon fine wire?).
[offtopic] Seriously though, can anyone see any advantage to trying to cut wood logs with a magnesium saw blade? Or, imagine what would happen if you tried to use a screwdriver to tighten lead screws. Who wants some free Clear Glass Fine Wire?...
Without a log I cannot tell you if the calculation times are excessive or not. Just because there are a lot of TRACE level log messages (which you will always have with any Java app) does not mean that that is the cause of your long world load times.
Also, there IS an option to not have EE3 recalculate values every time to start up. It's a config option that will load in the saved values from the energy-values.json rather than recompute the set of values every time you play the game. In fact, that's the default config option.
So TLDR, without logs I cannot agree with your assumption that because GregTech has a lot of items that it's bogging down EE3 and thus your entire world load.
I know this is from two months ago, but it is still open so I thought I would throw in my issue. At the moment of writing this, I am still trying to load all the recipes for the energy-values file, but it has been going on for 45 minutes now. If I scroll up and look through the lines in the fml-client relating to other mods that EE3 is adding recipes, there are an average of ~20 recipes for each mod. You get to the gregtech lines and it goes on for literally 1000s upon 1000s of lines. If I take out EE3, the world will load up perfectly fine. I understand that Gregtech pretty much overhauls a lot of stuff. But the amount of recipes it has is pretty excessive. Is there a different way to do this or do I just have to wait it out and hope I never have to change anything? I can't even upload the file here because it is currently 378k lines long just from trying to start up the world and is at 42,274 KB.
--Edit--
I feel I should add that I am using Gregtech 6 and a pretty long list of mods.
--Edit2--
It overall took an hour and a half just to get through all the recipes. It does this every single time I want to load into a world.