-
Notifications
You must be signed in to change notification settings - Fork 152
Expand file tree
/
Copy pathItemTabInfo.java
More file actions
41 lines (35 loc) · 1.72 KB
/
ItemTabInfo.java
File metadata and controls
41 lines (35 loc) · 1.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package gregtech.api.gui.widgets.tab;
import com.google.common.collect.Lists;
import gregtech.api.gui.resources.TextureArea;
import gregtech.api.util.LocalisationUtils;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.ScaledResolution;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.client.config.GuiUtils;
public class ItemTabInfo implements ITabInfo {
private final String nameLocale;
private final ItemStack iconStack;
public ItemTabInfo(String nameLocale, ItemStack iconStack) {
this.nameLocale = nameLocale;
this.iconStack = iconStack;
}
@Override
public void renderTab(TextureArea tabTexture, int posX, int posY, int xSize, int ySize, boolean isSelected) {
tabTexture.draw(posX, posY, xSize, ySize);
GlStateManager.enableRescaleNormal();
RenderHelper.enableGUIStandardItemLighting();
Minecraft.getMinecraft().getRenderItem().renderItemIntoGUI(iconStack, posX + xSize / 2 - 8, posY + ySize / 2 - 8);
RenderHelper.disableStandardItemLighting();
GlStateManager.disableRescaleNormal();
}
@Override
public void renderHoverText(int posX, int posY, int xSize, int ySize, int guiWidth, int guiHeight, boolean isSelected, int mouseX, int mouseY) {
String localizedText = LocalisationUtils.format(nameLocale);
Minecraft mc = Minecraft.getMinecraft();
ScaledResolution resolution = new ScaledResolution(mc);
GuiUtils.drawHoveringText(Lists.newArrayList(localizedText), mouseX, mouseY,
resolution.getScaledWidth(), resolution.getScaledHeight(), -1, mc.fontRenderer);
}
}