From 99c6ccd85c94d540e6bc01482c12f1a4fda34d42 Mon Sep 17 00:00:00 2001 From: GlodBlock <1356392126@qq.com> Date: Thu, 19 May 2022 21:19:13 +0800 Subject: [PATCH] more fix to official ae crash --- .../github/client/gui/GuiFluidCraftConfirm.java | 17 +++++++++++++++++ .../glodblock/github/util/ModAndClassUtil.java | 11 +++++++++++ 2 files changed, 28 insertions(+) diff --git a/src/main/java/com/glodblock/github/client/gui/GuiFluidCraftConfirm.java b/src/main/java/com/glodblock/github/client/gui/GuiFluidCraftConfirm.java index f1af4f99..13aca3f4 100644 --- a/src/main/java/com/glodblock/github/client/gui/GuiFluidCraftConfirm.java +++ b/src/main/java/com/glodblock/github/client/gui/GuiFluidCraftConfirm.java @@ -16,6 +16,7 @@ import com.glodblock.github.common.parts.PartFluidPatternTerminalEx; import com.glodblock.github.inventory.gui.GuiType; import com.glodblock.github.network.CPacketFluidPatternTermBtns; import com.glodblock.github.network.CPacketSwitchGuis; +import com.glodblock.github.util.ModAndClassUtil; import com.google.common.base.Joiner; import net.minecraft.client.gui.GuiButton; import net.minecraft.entity.player.InventoryPlayer; @@ -533,4 +534,20 @@ public class GuiFluidCraftConfirm extends AEBaseGui { } } + @SuppressWarnings({"rawtypes", "unchecked"}) + protected void addItemTooltip(ItemStack is, List lineList) + { + if (isShiftKeyDown()) + { + List l = is.getTooltip(this.mc.thePlayer, this.mc.gameSettings.advancedItemTooltips); + if (!l.isEmpty()) + l.remove(0); + lineList.addAll(l); + } + else if (ModAndClassUtil.isShiftTooltip) + { + lineList.add(GuiText.HoldShiftForTooltip.getLocal()); + } + } + } diff --git a/src/main/java/com/glodblock/github/util/ModAndClassUtil.java b/src/main/java/com/glodblock/github/util/ModAndClassUtil.java index c95d9eb1..22b84e63 100644 --- a/src/main/java/com/glodblock/github/util/ModAndClassUtil.java +++ b/src/main/java/com/glodblock/github/util/ModAndClassUtil.java @@ -4,6 +4,7 @@ import appeng.api.config.ActionItems; import appeng.api.config.Settings; import appeng.core.AEConfig; import appeng.core.localization.ButtonToolTips; +import appeng.core.localization.GuiText; import cpw.mods.fml.common.Loader; import java.lang.reflect.Field; @@ -21,9 +22,19 @@ public final class ModAndClassUtil { public static boolean isSearchStringTooltip; public static boolean isCraftStatus; public static boolean isSearchBar; + public static boolean isShiftTooltip; + @SuppressWarnings("all") public static void init() { + try { + Field d = GuiText.class.getDeclaredField("HoldShiftForTooltip"); + if (d == null) isShiftTooltip = false; + isShiftTooltip = true; + } catch (NoSuchFieldException e) { + isShiftTooltip = false; + } + try { Field d = AEConfig.instance.getClass().getDeclaredField("preserveSearchBar"); if (d == null) isSearchBar = false;