NotEnoughItems Unofficial 1.7.10

NotEnoughItems Unofficial 1.7.10

436k Downloads

[2.1.14-GTNH] First recipe on page does not show Fluid hover text

Jonius7 opened this issue ยท 5 comments

commented

For any recipe list that has fluid input output tanks, the first one does not show hover text.

An example is checking Seed Oil under Forestry Carpenter.

Tested working on 2.1.13 and 2.1.12, so something has changed since then

2021-11-22 03_13_39-Minecraft 1 7 10
.

commented

I think this might be due to this issue with old NEI handlers:

We have a fix in place, but it needs to be manually enabled for each handler. Can you do this:
1.Hold <Shift> and hover over the carpenter NEI tab. This should show a tooltip which contains the handler name.
2. Add that handler name to this config file: minecraft/config/NEI/heighthackhandlers.cfg and then restart Minecraft.

That should fix the issue.

commented

Hm, any reason not to have this heighthack enabled as default? I am having to add all the Forestry handlers and a couple of other mods too.

The TConstruct specific issue viewing alloy recipes seems to be fixed in a later version of TConstruct without needing NEI

commented

Oh, it should definitely be enabled by default. The only reason that it isn't is that we don't yet know all handlers which need to have it enabled. If you could send the list of handlers that you had to add it to, I can open a PR to add it to the default config (or you can open the PR yourself).

The TConstruct one doesn't need it now because it was fixed within the handler itself. But then the height hack config was added so that we wouldn't need to go and fix every single handler that is affected by this issue.

commented

But then the height hack config was added so that we wouldn't need to go and fix every single handler that is affected by this issue.

Why not leave it in like it was previously, and have the config instead be a list of handlers to exclude from height hack? Which should be far fewer. Then you wouldn't need to add the many mods that need the height hack into the config (nearly every mod that has Fluid recipes).

I'm looking at the commit where things changed, under line 271 in the old version of src/codechicken/nei/recipe/GuiRecipe.java

4fc3681#diff-edc661e74820d870968539346866d325baec1379fdd6c6f710a76316aff8f81b

Here are just some handlers that need the height hack (if you view all recipes):

Too many

First fluid on page missing tooltip

  • forestry.factory.recipes.nei.NEIHandlerBottler
  • forestry.factory.recipes.nei.NEIHandlerCarpenter
  • forestry.factory.recipes.nei.NEIHandlerFermenter
  • forestry.factory.recipes.nei.NEIHandlerStill
  • forestry.factory.recipes.nei.NEIHandlerMoistener
  • crazypants.enderio.nei.VatRecipeHandler
  • redgear.brewcraft.plugins.nei.NEIBreweryRecipeHandler
  • ic2.neiIntegration.core.recipehandler.FluidCannerRecipeHandler
  • mariculture.plugins.nei.NEIVatRecipeHandler

ALL fluids missing tooltip

  • forestry.factory.recipes.nei.NEIHandlerFabricator

Recipes 3-5 on page missing tooltips - right arrow clicks misaligned fluid instead

  • cofh.thermalexpansion.plugins.nei.handlers.RecipeHandlerTransposer
  • cofh.thermalexpansion.plugins.nei.handlers.RecipeHandlerCrucible

I'm noticing something else, if the handler is in handlers.csv then this behaviour starts to happen (I added handlers to my own csv)

commented

Thanks for the detailed analysis! I think we still want to avoid enabling the hack for all handlers, since it does mess with the value of height and that could cause some really weird issues. Also, it's not necessarily the case that all old handlers need the hack enabled - any that used reflection to read the GUI margin values would not need the hack, and may actually be broken by it.

Also, it's been a while so I'm a bit fuzzy on the details, but I think it's expected that handlers only get affected by this issue after they get added to handlers.csv. IIRC the issue arises because this version of NEI allows up to 5 handlers per page, but old handlers only handle up to 2 per page, so they break without the hack. Adding a handler to handlers.csv enables the 5 per page I think.

So to fix this, I propose adding regex support to the config. That way, we can enable the hack for entire mods at a time, and for modpacks where all handlers need the hack, it's also possible to enable it for all handlers by adding .* to the config.