Skip to content

Commit e4fa6e9

Browse files
committed
Fix visuals too big tooltips not displaying properly, and fix tooltips sometimes flickering when changing rapidly
1 parent f589238 commit e4fa6e9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+204
-128
lines changed

src/generators/java/mekanism/generators/client/gui/GuiFusionReactorInfo.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import mekanism.client.gui.element.button.MekanismImageButton;
66
import mekanism.client.gui.element.tab.GuiEnergyTab;
77
import mekanism.client.gui.element.tab.GuiHeatTab;
8+
import mekanism.client.gui.tooltip.TooltipUtils;
89
import mekanism.common.MekanismLang;
910
import mekanism.common.inventory.container.tile.EmptyTileContainer;
1011
import mekanism.common.network.PacketUtils;
@@ -31,7 +32,7 @@ protected void addGuiElements() {
3132
super.addGuiElements();
3233
addRenderableWidget(new MekanismImageButton(this, 6, 6, 14, getButtonLocation("back"),
3334
(element, mouseX, mouseY) -> PacketUtils.sendToServer(new PacketTileButtonPress(ClickedTileButton.BACK_BUTTON, ((GuiFusionReactorInfo) element.gui()).tile))))
34-
.setTooltip(MekanismLang.BACK);
35+
.setTooltip(TooltipUtils.BACK);
3536
addRenderableWidget(new GuiEnergyTab(this, () -> {
3637
FusionReactorMultiblockData multiblock = tile.getMultiblock();
3738
return List.of(MekanismLang.STORING.translate(EnergyDisplay.of(multiblock.energyContainer)),

src/generators/java/mekanism/generators/client/gui/GuiIndustrialTurbine.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import java.util.List;
55
import mekanism.api.text.EnumColor;
66
import mekanism.client.gui.GuiMekanismTile;
7-
import mekanism.client.gui.MultiLineTooltip;
87
import mekanism.client.gui.element.GuiInnerScreen;
98
import mekanism.client.gui.element.bar.GuiBar.IBarInfoHandler;
109
import mekanism.client.gui.element.bar.GuiVerticalPowerBar;
@@ -13,6 +12,7 @@
1312
import mekanism.client.gui.element.gauge.GaugeType;
1413
import mekanism.client.gui.element.gauge.GuiGasGauge;
1514
import mekanism.client.gui.element.tab.GuiEnergyTab;
15+
import mekanism.client.gui.tooltip.TooltipUtils;
1616
import mekanism.common.MekanismLang;
1717
import mekanism.common.config.MekanismConfig;
1818
import mekanism.common.inventory.container.tile.MekanismTileContainer;
@@ -111,8 +111,8 @@ public double getLevel() {
111111
}));
112112
Component warning = GeneratorsLang.TURBINE_DUMPING_STEAM_WARNING.translateColored(EnumColor.RED);
113113
addRenderableWidget(new GuiGasMode(this, 159, 72, true, () -> tile.getMultiblock().dumpMode, tile.getBlockPos(), 0,
114-
MultiLineTooltip.createMulti(GeneratorsLang.TURBINE_DUMPING_EXCESS_STEAM.translate(), warning),
115-
MultiLineTooltip.createMulti(GeneratorsLang.TURBINE_DUMPING_STEAM.translate(), warning)));
114+
TooltipUtils.create(GeneratorsLang.TURBINE_DUMPING_EXCESS_STEAM.translate(), warning),
115+
TooltipUtils.create(GeneratorsLang.TURBINE_DUMPING_STEAM.translate(), warning)));
116116
}
117117

118118
@Override

src/generators/java/mekanism/generators/client/gui/element/button/ReactorLogicButton.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import mekanism.api.text.TextComponentUtil;
1010
import mekanism.client.gui.IGuiWrapper;
1111
import mekanism.client.gui.element.button.MekanismButton;
12+
import mekanism.client.gui.tooltip.TooltipUtils;
1213
import mekanism.client.render.MekanismRenderer;
1314
import mekanism.common.util.MekanismUtils.ResourceType;
1415
import mekanism.generators.common.MekanismGenerators;
@@ -84,7 +85,7 @@ public void updateTooltip(int mouseX, int mouseY) {
8485
if (mode == null) {
8586
clearTooltip();
8687
} else {
87-
setTooltip(typeTooltips.computeIfAbsent(mode, m -> Tooltip.create(m.getDescription())));
88+
setTooltip(typeTooltips.computeIfAbsent(mode, m -> TooltipUtils.create(m.getDescription())));
8889
}
8990
}
9091
}

src/main/java/mekanism/client/gui/GuiDimensionalStabilizer.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import mekanism.client.gui.element.button.TooltipColorButton;
1111
import mekanism.client.gui.element.tab.GuiEnergyTab;
1212
import mekanism.client.gui.element.tab.GuiVisualsTab;
13+
import mekanism.client.gui.tooltip.TooltipUtils;
1314
import mekanism.common.MekanismLang;
1415
import mekanism.common.capabilities.energy.MachineEnergyContainer;
1516
import mekanism.common.inventory.container.tile.MekanismTileContainer;
@@ -98,7 +99,7 @@ public void updateTooltip(int mouseX, int mouseY) {
9899
}
99100
if (!tooltips.equals(lastInfo)) {
100101
lastInfo = tooltips;
101-
lastTooltip = MultiLineTooltip.createMulti(tooltips);
102+
lastTooltip = TooltipUtils.create(tooltips);
102103
}
103104
setTooltip(lastTooltip);
104105
}

src/main/java/mekanism/client/gui/GuiModificationStation.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import mekanism.api.gear.IModule;
44
import mekanism.client.gui.element.bar.GuiVerticalPowerBar;
5+
import mekanism.client.gui.element.button.MekanismButton;
56
import mekanism.client.gui.element.button.TranslationButton;
67
import mekanism.client.gui.element.progress.GuiProgress;
78
import mekanism.client.gui.element.progress.ProgressType;
@@ -22,7 +23,7 @@
2223
public class GuiModificationStation extends GuiMekanismTile<TileEntityModificationStation, MekanismTileContainer<TileEntityModificationStation>> {
2324

2425
private IModule<?> selectedModule;
25-
private TranslationButton removeButton;
26+
private MekanismButton removeButton;
2627

2728
public GuiModificationStation(MekanismTileContainer<TileEntityModificationStation> container, Inventory inv, Component title) {
2829
super(container, inv, title);
@@ -40,8 +41,7 @@ protected void addGuiElements() {
4041
removeButton = addRenderableWidget(new TranslationButton(this, 34, 96, 108, 17, MekanismLang.BUTTON_REMOVE, (element, mouseX, mouseY) -> {
4142
GuiModificationStation gui = (GuiModificationStation) element.gui();
4243
return PacketUtils.sendToServer(new PacketRemoveModule(gui.tile.getBlockPos(), gui.selectedModule.getData(), Screen.hasShiftDown()));
43-
}));
44-
removeButton.setTooltip(MekanismLang.REMOVE_ALL_MODULES_TOOLTIP);
44+
})).setTooltip(MekanismLang.REMOVE_ALL_MODULES_TOOLTIP);
4545
removeButton.active = selectedModule != null;
4646

4747
addRenderableWidget(new GuiModuleScrollList(this, 34, 20, 108, 74, () -> tile.containerSlot.getStack().copy(), this::onModuleSelected));

src/main/java/mekanism/client/gui/element/GuiColorPickerSlot.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import mekanism.client.gui.GuiUtils;
77
import mekanism.client.gui.IGuiWrapper;
88
import mekanism.client.gui.element.window.GuiColorWindow;
9+
import mekanism.client.gui.tooltip.TooltipUtils;
910
import mekanism.common.MekanismLang;
1011
import mekanism.common.lib.Color;
1112
import mekanism.common.util.text.TextUtils;
@@ -38,7 +39,7 @@ public void updateTooltip(int mouseX, int mouseY) {
3839
Color color = supplier.get();
3940
if (!color.equals(lastColor)) {
4041
lastColor = color;
41-
lastTooltip = Tooltip.create(MekanismLang.GENERIC_HEX.translateColored(EnumColor.GRAY, TextUtils.hex(false, 3, color.rgb())));
42+
lastTooltip = TooltipUtils.create(MekanismLang.GENERIC_HEX.translateColored(EnumColor.GRAY, TextUtils.hex(false, 3, color.rgb())));
4243
}
4344
setTooltip(lastTooltip);
4445
}

src/main/java/mekanism/client/gui/element/GuiDropdown.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import java.util.function.Supplier;
88
import mekanism.client.gui.GuiUtils;
99
import mekanism.client.gui.IGuiWrapper;
10+
import mekanism.client.gui.tooltip.TooltipUtils;
1011
import mekanism.common.inventory.GuiComponents.IDropdownEnum;
1112
import mekanism.common.registries.MekanismSounds;
1213
import net.minecraft.client.gui.GuiGraphics;
@@ -112,7 +113,7 @@ public void updateTooltip(int mouseX, int mouseY) {
112113
if (index != -1) {
113114
Tooltip text = typeTooltips.computeIfAbsent(options[index], t -> {
114115
Component tooltip = t.getTooltip();
115-
return tooltip == null ? null : Tooltip.create(tooltip);
116+
return tooltip == null ? null : TooltipUtils.create(tooltip);
116117
});
117118
cachedTooltipRect = new ScreenRectangle(getX() + 1, getY() + 12 + index * 10, width - 2, 10);
118119
setTooltip(text);

src/main/java/mekanism/client/gui/element/GuiElement.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import mekanism.client.gui.GuiUtils.TilingDirection;
1414
import mekanism.client.gui.IGuiWrapper;
1515
import mekanism.client.gui.element.window.GuiWindow;
16+
import mekanism.client.gui.tooltip.TooltipUtils;
1617
import mekanism.client.render.IFancyFontRenderer;
1718
import mekanism.client.render.MekanismRenderer;
1819
import mekanism.common.util.MekanismUtils;
@@ -89,7 +90,7 @@ public void updateWidgetNarration(@NotNull NarrationElementOutput output) {
8990
}
9091

9192
public GuiElement setTooltip(ILangEntry langEntry) {
92-
setTooltip(Tooltip.create(langEntry.translate()));
93+
setTooltip(TooltipUtils.create(langEntry));
9394
return this;
9495
}
9596

src/main/java/mekanism/client/gui/element/GuiInnerScreen.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
import java.util.List;
55
import java.util.function.Supplier;
66
import mekanism.client.gui.IGuiWrapper;
7-
import mekanism.client.gui.MultiLineTooltip;
8-
import mekanism.client.recipe_viewer.type.IRecipeViewerRecipeType;
7+
import mekanism.client.gui.tooltip.TooltipUtils;
98
import mekanism.client.recipe_viewer.interfaces.IRecipeViewerRecipeArea;
9+
import mekanism.client.recipe_viewer.type.IRecipeViewerRecipeType;
1010
import mekanism.common.util.MekanismUtils;
1111
import mekanism.common.util.MekanismUtils.ResourceType;
1212
import net.minecraft.client.gui.GuiGraphics;
@@ -103,7 +103,7 @@ public void updateTooltip(int mouseX, int mouseY) {
103103
List<Component> list = tooltipStrings.get();
104104
if (!list.equals(lastInfo)) {
105105
lastInfo = list;
106-
lastTooltip = MultiLineTooltip.createMulti(list);
106+
lastTooltip = TooltipUtils.create(list);
107107
}
108108
} else {
109109
lastInfo = Collections.emptyList();

src/main/java/mekanism/client/gui/element/bar/GuiBar.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import mekanism.client.gui.element.GuiTexturedElement;
66
import mekanism.client.gui.element.bar.GuiBar.IBarInfoHandler;
77
import mekanism.client.gui.element.slot.GuiSlot;
8+
import mekanism.client.gui.tooltip.TooltipUtils;
89
import mekanism.common.inventory.warning.ISupportsWarning;
910
import mekanism.common.inventory.warning.WarningTracker.WarningType;
1011
import mekanism.common.util.MekanismUtils;
@@ -86,7 +87,7 @@ public void updateTooltip(int mouseX, int mouseY) {
8687
if (tooltip == null) {
8788
lastTooltip = null;
8889
} else if (!tooltip.equals(lastInfo)) {
89-
lastTooltip = Tooltip.create(tooltip);
90+
lastTooltip = TooltipUtils.create(tooltip);
9091
}
9192
lastInfo = tooltip;
9293
setTooltip(lastTooltip);

0 commit comments

Comments
 (0)