From 1beea2132550a05c1c410b55accd4c6ba3cfa17f Mon Sep 17 00:00:00 2001 From: Idcppl Date: Thu, 22 Apr 2021 20:02:38 -0500 Subject: [PATCH 1/7] Properly implementing FluidTooltipUtil --- .../gregtech/api/gui/widgets/TankWidget.java | 4 +-- .../gregtech/api/util/FluidTooltipUtil.java | 35 +++++++++++++++---- .../java/gregtech/common/ClientProxy.java | 14 ++++---- src/main/java/gregtech/common/MetaFluids.java | 5 +-- .../storage/MetaTileEntityTank.java | 6 ++-- .../integration/jei/utils/JEIHooks.java | 4 +-- 6 files changed, 44 insertions(+), 24 deletions(-) diff --git a/src/main/java/gregtech/api/gui/widgets/TankWidget.java b/src/main/java/gregtech/api/gui/widgets/TankWidget.java index 6b52414f44..61d04c7620 100644 --- a/src/main/java/gregtech/api/gui/widgets/TankWidget.java +++ b/src/main/java/gregtech/api/gui/widgets/TankWidget.java @@ -139,9 +139,9 @@ public void drawInForeground(int mouseX, int mouseY) { tooltips.add(fluid.getLocalizedName(lastFluidInTank)); // Add chemical formula tooltip - String formula = FluidTooltipUtil.getFluidTooltip(lastFluidInTank); + List formula = FluidTooltipUtil.getFluidTooltip(lastFluidInTank); if (formula != null && !formula.isEmpty()) - tooltips.add(ChatFormatting.GRAY.toString() + formula); + tooltips.addAll(formula); tooltips.add(I18n.format("gregtech.fluid.amount", lastFluidInTank.amount, lastTankCapacity)); tooltips.add(I18n.format("gregtech.fluid.temperature", fluid.getTemperature(lastFluidInTank))); diff --git a/src/main/java/gregtech/api/util/FluidTooltipUtil.java b/src/main/java/gregtech/api/util/FluidTooltipUtil.java index ad3ec57556..731ff65cea 100644 --- a/src/main/java/gregtech/api/util/FluidTooltipUtil.java +++ b/src/main/java/gregtech/api/util/FluidTooltipUtil.java @@ -1,5 +1,7 @@ package gregtech.api.util; +import com.google.common.collect.Lists; +import com.mojang.realmsclient.gui.ChatFormatting; import gregtech.api.unification.material.Materials; import gregtech.api.unification.stack.MaterialStack; import net.minecraftforge.fluids.Fluid; @@ -7,6 +9,7 @@ import net.minecraftforge.fluids.FluidStack; import java.util.HashMap; +import java.util.List; import java.util.Map; public class FluidTooltipUtil { @@ -14,7 +17,7 @@ public class FluidTooltipUtil { /** * Registry Mapping of */ - private static final Map tooltips = new HashMap<>(); + private static final Map> tooltips = new HashMap<>(); /** * Used to register a tooltip to a Fluid. A Fluid can only have one tooltip, on one line. @@ -25,21 +28,39 @@ public class FluidTooltipUtil { * @param tooltip The tooltip. * @return False if either parameter is null or if tooltip is empty, true otherwise. */ + public static boolean registerTooltip(Fluid fluid, List tooltip) { + if (fluid != null && tooltip != null && !tooltip.isEmpty()) { + if(tooltips.containsKey(fluid)) { + tooltips.get(fluid).addAll(tooltip); + } else { + tooltips.put(fluid, tooltip); + return true; + } + } + return false; + } + public static boolean registerTooltip(Fluid fluid, String tooltip) { if (fluid != null && tooltip != null && !tooltip.isEmpty()) { - tooltips.put(fluid, tooltip); - return true; + if(tooltips.containsKey(fluid)) { + tooltips.get(fluid).add(tooltip); + } else { + tooltips.put(fluid, Lists.newArrayList(tooltip)); + return true; + } } return false; } + + /** * Used to get a Fluid's tooltip. * * @param fluid The Fluid to get the tooltip of. * @return The tooltip. */ - public static String getFluidTooltip(Fluid fluid) { + public static List getFluidTooltip(Fluid fluid) { if (fluid == null) return null; @@ -52,7 +73,7 @@ public static String getFluidTooltip(Fluid fluid) { * @param stack A FluidStack, containing the Fluid to get the tooltip of. * @return The tooltip. */ - public static String getFluidTooltip(FluidStack stack) { + public static List getFluidTooltip(FluidStack stack) { if (stack == null) return null; @@ -65,7 +86,7 @@ public static String getFluidTooltip(FluidStack stack) { * @param fluidName A String representing a Fluid to get the tooltip of. * @return The tooltip. */ - public static String getFluidTooltip(String fluidName) { + public static List getFluidTooltip(String fluidName) { if (fluidName == null || fluidName.isEmpty()) return null; @@ -79,6 +100,6 @@ public static String getFluidTooltip(String fluidName) { */ public static String getWaterTooltip() { // Done like this to not return parenthesis around the tooltip - return (new MaterialStack(Materials.Hydrogen, 2)).toString() + "O"; + return (ChatFormatting.GRAY + (new MaterialStack(Materials.Hydrogen, 2)).toString() + "O"); } } diff --git a/src/main/java/gregtech/common/ClientProxy.java b/src/main/java/gregtech/common/ClientProxy.java index c402c47b64..35f477ab8e 100644 --- a/src/main/java/gregtech/common/ClientProxy.java +++ b/src/main/java/gregtech/common/ClientProxy.java @@ -3,6 +3,7 @@ import codechicken.lib.texture.TextureUtils; import codechicken.lib.util.ItemNBTUtils; import codechicken.lib.util.ResourceUtils; +import com.google.common.collect.Lists; import com.mojang.authlib.minecraft.MinecraftProfileTexture.Type; import com.mojang.realmsclient.gui.ChatFormatting; import gregtech.api.GTValues; @@ -56,10 +57,7 @@ import java.io.InputStreamReader; import java.net.*; import java.nio.charset.StandardCharsets; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; -import java.util.UUID; +import java.util.*; @SideOnly(Side.CLIENT) @Mod.EventBusSubscriber(Side.CLIENT) @@ -154,12 +152,12 @@ public static void addMaterialFormulaHandler(ItemTooltipEvent event) { // Handles Item tooltips if (!(itemStack.getItem() instanceof ItemBlock)) { - String chemicalFormula = null; + List chemicalFormula = null; // Test for Items UnificationEntry unificationEntry = OreDictUnifier.getUnificationEntry(itemStack); if (unificationEntry != null && unificationEntry.material != null) { - chemicalFormula = unificationEntry.material.chemicalFormula; + chemicalFormula = Lists.newArrayList(ChatFormatting.GRAY + unificationEntry.material.chemicalFormula); // Test for Fluids } else if (ItemNBTUtils.hasTag(itemStack)) { @@ -177,10 +175,10 @@ public static void addMaterialFormulaHandler(ItemTooltipEvent event) { // Water buckets have a separate registry name from other buckets } else if(itemStack.getItem().equals(Items.WATER_BUCKET)) { - chemicalFormula = FluidTooltipUtil.getWaterTooltip(); + chemicalFormula = Lists.newArrayList(FluidTooltipUtil.getWaterTooltip()); } if (chemicalFormula != null && !chemicalFormula.isEmpty()) - event.getToolTip().add(1, ChatFormatting.GRAY.toString() + chemicalFormula); + event.getToolTip().addAll(chemicalFormula); } } diff --git a/src/main/java/gregtech/common/MetaFluids.java b/src/main/java/gregtech/common/MetaFluids.java index 2993fd652c..5a80d48f7f 100644 --- a/src/main/java/gregtech/common/MetaFluids.java +++ b/src/main/java/gregtech/common/MetaFluids.java @@ -1,5 +1,6 @@ package gregtech.common; +import com.mojang.realmsclient.gui.ChatFormatting; import gregtech.api.GTValues; import gregtech.api.unification.material.Materials; import gregtech.api.unification.material.type.FluidMaterial; @@ -145,12 +146,12 @@ public static void init() { int temperature = fluidMaterial.getFluidTemperature(); Fluid fluid = registerFluid(fluidMaterial, FluidType.NORMAL, temperature); fluidMaterial.setMaterialFluid(fluid); - FluidTooltipUtil.registerTooltip(fluid, fluidMaterial.chemicalFormula); + FluidTooltipUtil.registerTooltip(fluid, ChatFormatting.GRAY + fluidMaterial.chemicalFormula); } if (fluidMaterial.shouldGeneratePlasma() && fluidMaterial.getMaterialPlasma() == null) { Fluid fluid = registerFluid(fluidMaterial, FluidType.PLASMA, 30000); fluidMaterial.setMaterialPlasma(fluid); - FluidTooltipUtil.registerTooltip(fluid, fluidMaterial.chemicalFormula); + FluidTooltipUtil.registerTooltip(fluid, ChatFormatting.GRAY + fluidMaterial.chemicalFormula); } } } diff --git a/src/main/java/gregtech/common/metatileentities/storage/MetaTileEntityTank.java b/src/main/java/gregtech/common/metatileentities/storage/MetaTileEntityTank.java index a907f3371a..1b49aa9bbb 100644 --- a/src/main/java/gregtech/common/metatileentities/storage/MetaTileEntityTank.java +++ b/src/main/java/gregtech/common/metatileentities/storage/MetaTileEntityTank.java @@ -682,9 +682,9 @@ public void addInformation(ItemStack stack, @Nullable World player, List if (fluidStack != null) { tooltip.add(I18n.format("gregtech.machine.fluid_tank.fluid", fluidStack.amount, fluidStack.getLocalizedName())); } - String formula = FluidTooltipUtil.getFluidTooltip(fluidStack); - if (formula != null) - tooltip.add(TextFormatting.GRAY + formula); + List tooltips = FluidTooltipUtil.getFluidTooltip(fluidStack); + if (tooltips != null) + tooltip.addAll(tooltips); } } diff --git a/src/main/java/gregtech/integration/jei/utils/JEIHooks.java b/src/main/java/gregtech/integration/jei/utils/JEIHooks.java index cb53311982..4dfe98cea2 100644 --- a/src/main/java/gregtech/integration/jei/utils/JEIHooks.java +++ b/src/main/java/gregtech/integration/jei/utils/JEIHooks.java @@ -19,9 +19,9 @@ public class JEIHooks { */ public static void addFluidTooltip(List tooltip, Object ingredient) { if (ingredient instanceof FluidStack) { - String formula = FluidTooltipUtil.getFluidTooltip(((FluidStack) ingredient).getFluid()); + List formula = FluidTooltipUtil.getFluidTooltip(((FluidStack) ingredient).getFluid()); if (formula != null && !formula.isEmpty()) { - tooltip.add(1, ChatFormatting.GRAY + formula); + tooltip.addAll(formula); } } } From 7e1506892b51b95b9bf7abb1d3458c88064d7d9f Mon Sep 17 00:00:00 2001 From: Idcppl Date: Thu, 22 Apr 2021 20:19:40 -0500 Subject: [PATCH 2/7] Moved tooltips to the top of the list --- src/main/java/gregtech/api/gui/widgets/TankWidget.java | 2 +- src/main/java/gregtech/common/ClientProxy.java | 2 +- .../common/metatileentities/storage/MetaTileEntityTank.java | 2 +- src/main/java/gregtech/integration/jei/utils/JEIHooks.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/gregtech/api/gui/widgets/TankWidget.java b/src/main/java/gregtech/api/gui/widgets/TankWidget.java index 61d04c7620..e3b7149502 100644 --- a/src/main/java/gregtech/api/gui/widgets/TankWidget.java +++ b/src/main/java/gregtech/api/gui/widgets/TankWidget.java @@ -141,7 +141,7 @@ public void drawInForeground(int mouseX, int mouseY) { // Add chemical formula tooltip List formula = FluidTooltipUtil.getFluidTooltip(lastFluidInTank); if (formula != null && !formula.isEmpty()) - tooltips.addAll(formula); + tooltips.addAll(1, formula); tooltips.add(I18n.format("gregtech.fluid.amount", lastFluidInTank.amount, lastTankCapacity)); tooltips.add(I18n.format("gregtech.fluid.temperature", fluid.getTemperature(lastFluidInTank))); diff --git a/src/main/java/gregtech/common/ClientProxy.java b/src/main/java/gregtech/common/ClientProxy.java index 35f477ab8e..e4db9d65c7 100644 --- a/src/main/java/gregtech/common/ClientProxy.java +++ b/src/main/java/gregtech/common/ClientProxy.java @@ -178,7 +178,7 @@ public static void addMaterialFormulaHandler(ItemTooltipEvent event) { chemicalFormula = Lists.newArrayList(FluidTooltipUtil.getWaterTooltip()); } if (chemicalFormula != null && !chemicalFormula.isEmpty()) - event.getToolTip().addAll(chemicalFormula); + event.getToolTip().addAll(1, chemicalFormula); } } diff --git a/src/main/java/gregtech/common/metatileentities/storage/MetaTileEntityTank.java b/src/main/java/gregtech/common/metatileentities/storage/MetaTileEntityTank.java index 1b49aa9bbb..79e1cafe40 100644 --- a/src/main/java/gregtech/common/metatileentities/storage/MetaTileEntityTank.java +++ b/src/main/java/gregtech/common/metatileentities/storage/MetaTileEntityTank.java @@ -684,7 +684,7 @@ public void addInformation(ItemStack stack, @Nullable World player, List } List tooltips = FluidTooltipUtil.getFluidTooltip(fluidStack); if (tooltips != null) - tooltip.addAll(tooltips); + tooltip.addAll(1, tooltips); } } diff --git a/src/main/java/gregtech/integration/jei/utils/JEIHooks.java b/src/main/java/gregtech/integration/jei/utils/JEIHooks.java index 4dfe98cea2..4fdef20629 100644 --- a/src/main/java/gregtech/integration/jei/utils/JEIHooks.java +++ b/src/main/java/gregtech/integration/jei/utils/JEIHooks.java @@ -21,7 +21,7 @@ public static void addFluidTooltip(List tooltip, Object ingredient) { if (ingredient instanceof FluidStack) { List formula = FluidTooltipUtil.getFluidTooltip(((FluidStack) ingredient).getFluid()); if (formula != null && !formula.isEmpty()) { - tooltip.addAll(formula); + tooltip.addAll(1, formula); } } } From 58558d69e1bfe2d35b2c44fd888e1d59ffc7fb51 Mon Sep 17 00:00:00 2001 From: Idcppl Date: Fri, 23 Apr 2021 03:24:48 -0500 Subject: [PATCH 3/7] Fixed API that would be broken by this change and added some of the suggested changes. --- .../gregtech/api/gui/widgets/TankWidget.java | 2 +- .../gregtech/api/util/FluidTooltipUtil.java | 47 +++++++++++++------ .../storage/MetaTileEntityTank.java | 2 +- .../integration/jei/utils/JEIHooks.java | 2 +- 4 files changed, 36 insertions(+), 17 deletions(-) diff --git a/src/main/java/gregtech/api/gui/widgets/TankWidget.java b/src/main/java/gregtech/api/gui/widgets/TankWidget.java index e3b7149502..1248a76528 100644 --- a/src/main/java/gregtech/api/gui/widgets/TankWidget.java +++ b/src/main/java/gregtech/api/gui/widgets/TankWidget.java @@ -139,7 +139,7 @@ public void drawInForeground(int mouseX, int mouseY) { tooltips.add(fluid.getLocalizedName(lastFluidInTank)); // Add chemical formula tooltip - List formula = FluidTooltipUtil.getFluidTooltip(lastFluidInTank); + List formula = FluidTooltipUtil.getFluidTooltips(lastFluidInTank); if (formula != null && !formula.isEmpty()) tooltips.addAll(1, formula); diff --git a/src/main/java/gregtech/api/util/FluidTooltipUtil.java b/src/main/java/gregtech/api/util/FluidTooltipUtil.java index 731ff65cea..193804a396 100644 --- a/src/main/java/gregtech/api/util/FluidTooltipUtil.java +++ b/src/main/java/gregtech/api/util/FluidTooltipUtil.java @@ -25,29 +25,24 @@ public class FluidTooltipUtil { * Ignores a tooltip applied for Water, so that it will be handled correctly for the chemical formula. * * @param fluid The fluid to register a tooltip for. - * @param tooltip The tooltip. + * @param tooltips The tooltip. * @return False if either parameter is null or if tooltip is empty, true otherwise. */ - public static boolean registerTooltip(Fluid fluid, List tooltip) { - if (fluid != null && tooltip != null && !tooltip.isEmpty()) { - if(tooltips.containsKey(fluid)) { - tooltips.get(fluid).addAll(tooltip); - } else { - tooltips.put(fluid, tooltip); - return true; - } + public static boolean registerTooltip(Fluid fluid, List tooltips) { + if (fluid != null && tooltips != null && !tooltips.isEmpty()) { + tooltips.forEach(tooltip -> registerTooltip(fluid, tooltip)); } return false; } public static boolean registerTooltip(Fluid fluid, String tooltip) { - if (fluid != null && tooltip != null && !tooltip.isEmpty()) { + if (fluid != null && tooltip != null && !tooltip.trim().isEmpty()) { if(tooltips.containsKey(fluid)) { tooltips.get(fluid).add(tooltip); } else { tooltips.put(fluid, Lists.newArrayList(tooltip)); - return true; } + return true; } return false; } @@ -60,20 +55,36 @@ public static boolean registerTooltip(Fluid fluid, String tooltip) { * @param fluid The Fluid to get the tooltip of. * @return The tooltip. */ - public static List getFluidTooltip(Fluid fluid) { + public static List getFluidTooltips(Fluid fluid) { if (fluid == null) return null; return tooltips.get(fluid); } + @Deprecated + public static String getFluidTooltip(Fluid fluid) { + if (fluid == null) + return null; + + return tooltips.get(fluid).get(1); + } + /** * Used to get a Fluid's tooltip. * * @param stack A FluidStack, containing the Fluid to get the tooltip of. * @return The tooltip. */ - public static List getFluidTooltip(FluidStack stack) { + public static List getFluidTooltips(FluidStack stack) { + if (stack == null) + return null; + + return getFluidTooltips(stack.getFluid()); + } + + @Deprecated + public static String getFluidTooltip(FluidStack stack) { if (stack == null) return null; @@ -86,7 +97,15 @@ public static List getFluidTooltip(FluidStack stack) { * @param fluidName A String representing a Fluid to get the tooltip of. * @return The tooltip. */ - public static List getFluidTooltip(String fluidName) { + public static List getFluidTooltips(String fluidName) { + if (fluidName == null || fluidName.isEmpty()) + return null; + + return getFluidTooltips(FluidRegistry.getFluid(fluidName)); + } + + @Deprecated + public static String getFluidTooltip(String fluidName) { if (fluidName == null || fluidName.isEmpty()) return null; diff --git a/src/main/java/gregtech/common/metatileentities/storage/MetaTileEntityTank.java b/src/main/java/gregtech/common/metatileentities/storage/MetaTileEntityTank.java index 79e1cafe40..26a4c5ec05 100644 --- a/src/main/java/gregtech/common/metatileentities/storage/MetaTileEntityTank.java +++ b/src/main/java/gregtech/common/metatileentities/storage/MetaTileEntityTank.java @@ -682,7 +682,7 @@ public void addInformation(ItemStack stack, @Nullable World player, List if (fluidStack != null) { tooltip.add(I18n.format("gregtech.machine.fluid_tank.fluid", fluidStack.amount, fluidStack.getLocalizedName())); } - List tooltips = FluidTooltipUtil.getFluidTooltip(fluidStack); + List tooltips = FluidTooltipUtil.getFluidTooltips(fluidStack); if (tooltips != null) tooltip.addAll(1, tooltips); } diff --git a/src/main/java/gregtech/integration/jei/utils/JEIHooks.java b/src/main/java/gregtech/integration/jei/utils/JEIHooks.java index 4fdef20629..f172f230fd 100644 --- a/src/main/java/gregtech/integration/jei/utils/JEIHooks.java +++ b/src/main/java/gregtech/integration/jei/utils/JEIHooks.java @@ -19,7 +19,7 @@ public class JEIHooks { */ public static void addFluidTooltip(List tooltip, Object ingredient) { if (ingredient instanceof FluidStack) { - List formula = FluidTooltipUtil.getFluidTooltip(((FluidStack) ingredient).getFluid()); + List formula = FluidTooltipUtil.getFluidTooltips(((FluidStack) ingredient).getFluid()); if (formula != null && !formula.isEmpty()) { tooltip.addAll(1, formula); } From ae5b173779a889acd239f62ce6203c067821c1d1 Mon Sep 17 00:00:00 2001 From: Idcppl Date: Fri, 23 Apr 2021 03:33:10 -0500 Subject: [PATCH 4/7] Used 1 instead of 0 for index. --- src/main/java/gregtech/api/util/FluidTooltipUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/gregtech/api/util/FluidTooltipUtil.java b/src/main/java/gregtech/api/util/FluidTooltipUtil.java index 193804a396..6e212a2077 100644 --- a/src/main/java/gregtech/api/util/FluidTooltipUtil.java +++ b/src/main/java/gregtech/api/util/FluidTooltipUtil.java @@ -67,7 +67,7 @@ public static String getFluidTooltip(Fluid fluid) { if (fluid == null) return null; - return tooltips.get(fluid).get(1); + return tooltips.get(fluid).get(0); } /** From ee49b948832855397e11bc111bcd5b202cd8a64f Mon Sep 17 00:00:00 2001 From: Idcppl Date: Fri, 23 Apr 2021 03:55:56 -0500 Subject: [PATCH 5/7] Moved more tooltip indexes to 0 and still had some deprecated methods still in use. --- src/main/java/gregtech/api/gui/widgets/TankWidget.java | 2 +- src/main/java/gregtech/common/ClientProxy.java | 6 +++--- .../common/metatileentities/storage/MetaTileEntityTank.java | 2 +- src/main/java/gregtech/integration/jei/utils/JEIHooks.java | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/gregtech/api/gui/widgets/TankWidget.java b/src/main/java/gregtech/api/gui/widgets/TankWidget.java index 1248a76528..7abdcb5374 100644 --- a/src/main/java/gregtech/api/gui/widgets/TankWidget.java +++ b/src/main/java/gregtech/api/gui/widgets/TankWidget.java @@ -141,7 +141,7 @@ public void drawInForeground(int mouseX, int mouseY) { // Add chemical formula tooltip List formula = FluidTooltipUtil.getFluidTooltips(lastFluidInTank); if (formula != null && !formula.isEmpty()) - tooltips.addAll(1, formula); + tooltips.addAll(0, formula); tooltips.add(I18n.format("gregtech.fluid.amount", lastFluidInTank.amount, lastTankCapacity)); tooltips.add(I18n.format("gregtech.fluid.temperature", fluid.getTemperature(lastFluidInTank))); diff --git a/src/main/java/gregtech/common/ClientProxy.java b/src/main/java/gregtech/common/ClientProxy.java index e4db9d65c7..5d0e4fb3dd 100644 --- a/src/main/java/gregtech/common/ClientProxy.java +++ b/src/main/java/gregtech/common/ClientProxy.java @@ -163,13 +163,13 @@ public static void addMaterialFormulaHandler(ItemTooltipEvent event) { } else if (ItemNBTUtils.hasTag(itemStack)) { // Vanilla bucket - chemicalFormula = FluidTooltipUtil.getFluidTooltip(ItemNBTUtils.getString(itemStack, "FluidName")); + chemicalFormula = FluidTooltipUtil.getFluidTooltips(ItemNBTUtils.getString(itemStack, "FluidName")); // GTCE Cells, Forestry cans, some other containers if (chemicalFormula == null) { NBTTagCompound compound = itemStack.getTagCompound(); if (compound != null && compound.hasKey(FluidHandlerItemStack.FLUID_NBT_KEY, Constants.NBT.TAG_COMPOUND)) { - chemicalFormula = FluidTooltipUtil.getFluidTooltip(FluidStack.loadFluidStackFromNBT(compound.getCompoundTag(FluidHandlerItemStack.FLUID_NBT_KEY))); + chemicalFormula = FluidTooltipUtil.getFluidTooltips(FluidStack.loadFluidStackFromNBT(compound.getCompoundTag(FluidHandlerItemStack.FLUID_NBT_KEY))); } } @@ -178,7 +178,7 @@ public static void addMaterialFormulaHandler(ItemTooltipEvent event) { chemicalFormula = Lists.newArrayList(FluidTooltipUtil.getWaterTooltip()); } if (chemicalFormula != null && !chemicalFormula.isEmpty()) - event.getToolTip().addAll(1, chemicalFormula); + event.getToolTip().addAll(0, chemicalFormula); } } diff --git a/src/main/java/gregtech/common/metatileentities/storage/MetaTileEntityTank.java b/src/main/java/gregtech/common/metatileentities/storage/MetaTileEntityTank.java index 26a4c5ec05..fdce79ec1b 100644 --- a/src/main/java/gregtech/common/metatileentities/storage/MetaTileEntityTank.java +++ b/src/main/java/gregtech/common/metatileentities/storage/MetaTileEntityTank.java @@ -684,7 +684,7 @@ public void addInformation(ItemStack stack, @Nullable World player, List } List tooltips = FluidTooltipUtil.getFluidTooltips(fluidStack); if (tooltips != null) - tooltip.addAll(1, tooltips); + tooltip.addAll(0, tooltips); } } diff --git a/src/main/java/gregtech/integration/jei/utils/JEIHooks.java b/src/main/java/gregtech/integration/jei/utils/JEIHooks.java index f172f230fd..44b3d2d5a7 100644 --- a/src/main/java/gregtech/integration/jei/utils/JEIHooks.java +++ b/src/main/java/gregtech/integration/jei/utils/JEIHooks.java @@ -21,7 +21,7 @@ public static void addFluidTooltip(List tooltip, Object ingredient) { if (ingredient instanceof FluidStack) { List formula = FluidTooltipUtil.getFluidTooltips(((FluidStack) ingredient).getFluid()); if (formula != null && !formula.isEmpty()) { - tooltip.addAll(1, formula); + tooltip.addAll(0, formula); } } } From 2be90ff268f36210fad0833f982a29d6adb4fba3 Mon Sep 17 00:00:00 2001 From: Idcppl Date: Fri, 23 Apr 2021 04:23:14 -0500 Subject: [PATCH 6/7] Display names are at 0, and fixed foreach loop. --- src/main/java/gregtech/api/gui/widgets/TankWidget.java | 2 +- src/main/java/gregtech/api/util/FluidTooltipUtil.java | 4 +++- src/main/java/gregtech/common/ClientProxy.java | 2 +- .../common/metatileentities/storage/MetaTileEntityTank.java | 2 +- src/main/java/gregtech/integration/jei/utils/JEIHooks.java | 2 +- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/java/gregtech/api/gui/widgets/TankWidget.java b/src/main/java/gregtech/api/gui/widgets/TankWidget.java index 7abdcb5374..1248a76528 100644 --- a/src/main/java/gregtech/api/gui/widgets/TankWidget.java +++ b/src/main/java/gregtech/api/gui/widgets/TankWidget.java @@ -141,7 +141,7 @@ public void drawInForeground(int mouseX, int mouseY) { // Add chemical formula tooltip List formula = FluidTooltipUtil.getFluidTooltips(lastFluidInTank); if (formula != null && !formula.isEmpty()) - tooltips.addAll(0, formula); + tooltips.addAll(1, formula); tooltips.add(I18n.format("gregtech.fluid.amount", lastFluidInTank.amount, lastTankCapacity)); tooltips.add(I18n.format("gregtech.fluid.temperature", fluid.getTemperature(lastFluidInTank))); diff --git a/src/main/java/gregtech/api/util/FluidTooltipUtil.java b/src/main/java/gregtech/api/util/FluidTooltipUtil.java index 6e212a2077..3a0213e5fd 100644 --- a/src/main/java/gregtech/api/util/FluidTooltipUtil.java +++ b/src/main/java/gregtech/api/util/FluidTooltipUtil.java @@ -30,7 +30,9 @@ public class FluidTooltipUtil { */ public static boolean registerTooltip(Fluid fluid, List tooltips) { if (fluid != null && tooltips != null && !tooltips.isEmpty()) { - tooltips.forEach(tooltip -> registerTooltip(fluid, tooltip)); + for (String tooltip : tooltips) { + registerTooltip(fluid, tooltip); + } } return false; } diff --git a/src/main/java/gregtech/common/ClientProxy.java b/src/main/java/gregtech/common/ClientProxy.java index 5d0e4fb3dd..9f522b1fb0 100644 --- a/src/main/java/gregtech/common/ClientProxy.java +++ b/src/main/java/gregtech/common/ClientProxy.java @@ -178,7 +178,7 @@ public static void addMaterialFormulaHandler(ItemTooltipEvent event) { chemicalFormula = Lists.newArrayList(FluidTooltipUtil.getWaterTooltip()); } if (chemicalFormula != null && !chemicalFormula.isEmpty()) - event.getToolTip().addAll(0, chemicalFormula); + event.getToolTip().addAll(1, chemicalFormula); } } diff --git a/src/main/java/gregtech/common/metatileentities/storage/MetaTileEntityTank.java b/src/main/java/gregtech/common/metatileentities/storage/MetaTileEntityTank.java index fdce79ec1b..26a4c5ec05 100644 --- a/src/main/java/gregtech/common/metatileentities/storage/MetaTileEntityTank.java +++ b/src/main/java/gregtech/common/metatileentities/storage/MetaTileEntityTank.java @@ -684,7 +684,7 @@ public void addInformation(ItemStack stack, @Nullable World player, List } List tooltips = FluidTooltipUtil.getFluidTooltips(fluidStack); if (tooltips != null) - tooltip.addAll(0, tooltips); + tooltip.addAll(1, tooltips); } } diff --git a/src/main/java/gregtech/integration/jei/utils/JEIHooks.java b/src/main/java/gregtech/integration/jei/utils/JEIHooks.java index 44b3d2d5a7..f172f230fd 100644 --- a/src/main/java/gregtech/integration/jei/utils/JEIHooks.java +++ b/src/main/java/gregtech/integration/jei/utils/JEIHooks.java @@ -21,7 +21,7 @@ public static void addFluidTooltip(List tooltip, Object ingredient) { if (ingredient instanceof FluidStack) { List formula = FluidTooltipUtil.getFluidTooltips(((FluidStack) ingredient).getFluid()); if (formula != null && !formula.isEmpty()) { - tooltip.addAll(0, formula); + tooltip.addAll(1, formula); } } } From 7b7f43e6bd17476c5b6d5c9484de9e4b7e216ede Mon Sep 17 00:00:00 2001 From: Idcppl Date: Fri, 23 Apr 2021 04:48:07 -0500 Subject: [PATCH 7/7] Missed an index 0, :( --- src/main/java/gregtech/api/util/FluidTooltipUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/gregtech/api/util/FluidTooltipUtil.java b/src/main/java/gregtech/api/util/FluidTooltipUtil.java index 3a0213e5fd..bfdf434dfb 100644 --- a/src/main/java/gregtech/api/util/FluidTooltipUtil.java +++ b/src/main/java/gregtech/api/util/FluidTooltipUtil.java @@ -69,7 +69,7 @@ public static String getFluidTooltip(Fluid fluid) { if (fluid == null) return null; - return tooltips.get(fluid).get(0); + return tooltips.get(fluid).get(1); } /**