diff --git a/common/buildcraft/builders/gui/GuiBuilder.java b/common/buildcraft/builders/gui/GuiBuilder.java index ad1fa0ac..06014130 100644 --- a/common/buildcraft/builders/gui/GuiBuilder.java +++ b/common/buildcraft/builders/gui/GuiBuilder.java @@ -60,7 +60,7 @@ public class GuiBuilder extends GuiAdvancedInterface { fontRendererObj.drawString(StringUtils.localize("gui.needed"), 178, 7, 0x404040); fontRendererObj.drawString(StringUtils.localize("gui.building.fluids"), 178, 133, 0x404040); - drawForegroundSelection(par1, par2); + drawTooltipForSlotAt(par1, par2); } @Override diff --git a/common/buildcraft/builders/urbanism/GuiUrbanist.java b/common/buildcraft/builders/urbanism/GuiUrbanist.java index 333875c7..bb354d15 100755 --- a/common/buildcraft/builders/urbanism/GuiUrbanist.java +++ b/common/buildcraft/builders/urbanism/GuiUrbanist.java @@ -114,7 +114,7 @@ public class GuiUrbanist extends GuiAdvancedInterface { protected void drawGuiContainerForegroundLayer(int par1, int par2) { super.drawGuiContainerForegroundLayer(par1, par2); - drawForegroundSelection(par1, par2); + drawTooltipForSlotAt(par1, par2); if (selectedTool != -1) { tools [selectedTool].drawGuiContainerForegroundLayer(this, par1, par2); diff --git a/common/buildcraft/core/gui/AdvancedSlot.java b/common/buildcraft/core/gui/AdvancedSlot.java index 540c894a..577c8b77 100755 --- a/common/buildcraft/core/gui/AdvancedSlot.java +++ b/common/buildcraft/core/gui/AdvancedSlot.java @@ -32,10 +32,26 @@ public abstract class AdvancedSlot { } public String getDescription() { - if (getItemStack() != null) { - return getItemStack().getItem().getItemStackDisplayName(getItemStack()); + return null; + } + + public final void drawTooltip(GuiAdvancedInterface gui, int x, int y) { + String s = getDescription(); + + if (s != null) { + gui.drawTooltip(s, x, y); } else { - return ""; + ItemStack stack = getItemStack(); + + if (stack != null) { + int cornerX = (gui.width - gui.getXSize()) / 2; + int cornerY = (gui.height - gui.getYSize()) / 2; + + int xS = x - cornerX; + int yS = y - cornerY; + + gui.renderToolTip(stack, xS, yS); + } } } diff --git a/common/buildcraft/core/gui/GuiAdvancedInterface.java b/common/buildcraft/core/gui/GuiAdvancedInterface.java index 5bc72660..d5aa387b 100644 --- a/common/buildcraft/core/gui/GuiAdvancedInterface.java +++ b/common/buildcraft/core/gui/GuiAdvancedInterface.java @@ -14,6 +14,7 @@ import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; public abstract class GuiAdvancedInterface extends GuiBuildCraft { @@ -56,9 +57,7 @@ public abstract class GuiAdvancedInterface extends GuiBuildCraft { GL11.glPopMatrix(); } - protected void drawForegroundSelection(int mouseX, int mouseY) { - String s = ""; - + public void drawTooltipForSlotAt(int mouseX, int mouseY) { int cornerX = (width - xSize) / 2; int cornerY = (height - ySize) / 2; @@ -68,14 +67,19 @@ public abstract class GuiAdvancedInterface extends GuiBuildCraft { AdvancedSlot slot = slots[position]; if (slot != null) { - s = slot.getDescription(); + slot.drawTooltip(this, mouseX, mouseY); } } + } - if (s.length() > 0) { + public void drawTooltip(String caption, int mouseX, int mouseY) { + int cornerX = (width - xSize) / 2; + int cornerY = (height - ySize) / 2; + + if (caption.length() > 0) { int i2 = mouseX - cornerX; int k2 = mouseY - cornerY; - drawCreativeTabHoveringText(s, i2, k2); + drawCreativeTabHoveringText(caption, i2, k2); RenderHelper.enableGUIStandardItemLighting(); } } @@ -91,4 +95,9 @@ public abstract class GuiAdvancedInterface extends GuiBuildCraft { public int getYSize () { return ySize; } + + @Override + public void renderToolTip(ItemStack stack, int x, int y) { + super.renderToolTip(stack, x, y); + } } diff --git a/common/buildcraft/factory/gui/GuiRefinery.java b/common/buildcraft/factory/gui/GuiRefinery.java index 5d8168e3..8c881567 100644 --- a/common/buildcraft/factory/gui/GuiRefinery.java +++ b/common/buildcraft/factory/gui/GuiRefinery.java @@ -53,7 +53,7 @@ public class GuiRefinery extends GuiAdvancedInterface { fontRendererObj.drawString("<-", 106, 59, 0x404040); fontRendererObj.drawString(StringUtils.localize("gui.inventory"), 8, (ySize - 96) + 2, 0x404040); - drawForegroundSelection(par1, par2); + drawTooltipForSlotAt(par1, par2); } @Override diff --git a/common/buildcraft/silicon/gui/GuiAssemblyTable.java b/common/buildcraft/silicon/gui/GuiAssemblyTable.java index 1340f597..b3538ea9 100644 --- a/common/buildcraft/silicon/gui/GuiAssemblyTable.java +++ b/common/buildcraft/silicon/gui/GuiAssemblyTable.java @@ -131,7 +131,7 @@ public class GuiAssemblyTable extends GuiAdvancedInterface { String title = StringUtils.localize("tile.assemblyTableBlock.name"); fontRendererObj.drawString(title, getCenteredOffset(title), 15, 0x404040); fontRendererObj.drawString(StringUtils.localize("gui.inventory"), 8, ySize - 97, 0x404040); - drawForegroundSelection(par1, par2); + drawTooltipForSlotAt(par1, par2); } @Override diff --git a/common/buildcraft/silicon/gui/GuiRedstoneBoard.java b/common/buildcraft/silicon/gui/GuiRedstoneBoard.java index 668cc761..709b8078 100755 --- a/common/buildcraft/silicon/gui/GuiRedstoneBoard.java +++ b/common/buildcraft/silicon/gui/GuiRedstoneBoard.java @@ -80,7 +80,7 @@ public class GuiRedstoneBoard extends GuiAdvancedInterface { protected void drawGuiContainerForegroundLayer(int par1, int par2) { super.drawGuiContainerForegroundLayer(par1, par2); - drawForegroundSelection(par1, par2); + drawTooltipForSlotAt(par1, par2); } @Override diff --git a/common/buildcraft/transport/gui/GuiGateInterface.java b/common/buildcraft/transport/gui/GuiGateInterface.java index 7a75ee84..81f27935 100644 --- a/common/buildcraft/transport/gui/GuiGateInterface.java +++ b/common/buildcraft/transport/gui/GuiGateInterface.java @@ -318,7 +318,7 @@ public class GuiGateInterface extends GuiAdvancedInterface { fontRendererObj.drawString(name, getCenteredOffset(name), 10, 0x404040); fontRendererObj.drawString(StringUtils.localize("gui.inventory"), 8, ySize - 97, 0x404040); - drawForegroundSelection(par1, par2); + drawTooltipForSlotAt(par1, par2); } @Override