diff options
| author | Unknown <shekwancheung0528@gmail.com> | 2019-02-16 17:52:40 +0800 |
|---|---|---|
| committer | Unknown <shekwancheung0528@gmail.com> | 2019-02-16 17:52:40 +0800 |
| commit | 2e0e576b64545cb45a0ab3e0d0fe81cfb7a61307 (patch) | |
| tree | 33ab48fd72c49fa1b2a78c05b29de67da7ab6064 /src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java | |
| parent | 074a627663e0150e23d47a87486afb852dd2cfdd (diff) | |
| download | RoughlyEnoughItems-2.3.0.17.tar.gz RoughlyEnoughItems-2.3.0.17.tar.bz2 RoughlyEnoughItems-2.3.0.17.zip | |
Same as v2.3 in Fabricv2.3.0.17
Diffstat (limited to 'src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java | 37 |
1 files changed, 26 insertions, 11 deletions
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java index 127341a39..656c44d15 100644 --- a/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java +++ b/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java @@ -5,6 +5,7 @@ import me.shedaniel.rei.client.ClientHelper; import me.shedaniel.rei.client.GuiHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Gui; +import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.ItemRenderer; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.init.Items; @@ -23,7 +24,7 @@ public class ItemSlotWidget extends Gui implements HighlightableWidget { private static final ResourceLocation RECIPE_GUI = new ResourceLocation("roughlyenoughitems", "textures/gui/recipecontainer.png"); private List<ItemStack> itemList = new LinkedList<>(); - private boolean drawBackground, showToolTips, clickToMoreRecipes; + private boolean drawBackground, showToolTips, clickToMoreRecipes, drawHighlightedBackground; private int x, y; public ItemSlotWidget(int x, int y, ItemStack itemStack, boolean drawBackground, boolean showToolTips) { @@ -37,6 +38,7 @@ public class ItemSlotWidget extends Gui implements HighlightableWidget { this.x = x; this.y = y; this.clickToMoreRecipes = false; + this.drawHighlightedBackground = true; } public ItemSlotWidget(int x, int y, List<ItemStack> itemList, boolean drawBackground, boolean showToolTips, boolean clickToMoreRecipes) { @@ -44,6 +46,10 @@ public class ItemSlotWidget extends Gui implements HighlightableWidget { this.clickToMoreRecipes = clickToMoreRecipes; } + public void setDrawHighlightedBackground(boolean drawHighlightedBackground) { + this.drawHighlightedBackground = drawHighlightedBackground; + } + public boolean isDrawBackground() { return drawBackground; } @@ -60,15 +66,24 @@ public class ItemSlotWidget extends Gui implements HighlightableWidget { Minecraft.getInstance().getTextureManager().bindTexture(RECIPE_GUI); drawTexturedModalRect(this.x - 1, this.y - 1, 0, 222, 18, 18); } - if (itemStack.isEmpty()) - return; - RenderHelper.enableGUIStandardItemLighting(); - ItemRenderer itemRenderer = Minecraft.getInstance().getItemRenderer(); - itemRenderer.zLevel = 200.0F; - itemRenderer.renderItemAndEffectIntoGUI(itemStack, x, y); - itemRenderer.renderItemOverlayIntoGUI(Minecraft.getInstance().fontRenderer, itemStack, x, y, getItemCountOverlay(itemStack)); - itemRenderer.zLevel = 0.0F; - if (isHighlighted(mouseX, mouseY) && showToolTips) + if (drawHighlightedBackground && isHighlighted(mouseX, mouseY)) { + GlStateManager.disableLighting(); + GlStateManager.disableDepthTest(); + GlStateManager.colorMask(true, true, true, false); + drawGradientRect(x, y, x + 16, y + 16, -2130706433, -2130706433); + GlStateManager.colorMask(true, true, true, true); + GlStateManager.enableLighting(); + GlStateManager.enableDepthTest(); + } + if (!itemStack.isEmpty()) { + RenderHelper.enableGUIStandardItemLighting(); + ItemRenderer itemRenderer = Minecraft.getInstance().getItemRenderer(); + itemRenderer.zLevel = 200.0F; + itemRenderer.renderItemAndEffectIntoGUI(itemStack, x, y); + itemRenderer.renderItemOverlayIntoGUI(Minecraft.getInstance().fontRenderer, itemStack, x, y, getItemCountOverlay(itemStack)); + itemRenderer.zLevel = 0.0F; + } + if (!itemStack.isEmpty() && isHighlighted(mouseX, mouseY) && showToolTips) drawToolTip(itemStack); } @@ -82,7 +97,7 @@ public class ItemSlotWidget extends Gui implements HighlightableWidget { Minecraft mc = Minecraft.getInstance(); List<String> toolTip = Lists.newArrayList(); try { - toolTip = GuiHelper.getLastOverlay().getItemToolTip(itemStack).stream().filter(s -> !s.equals(modString)).collect(Collectors.toList()); + toolTip = Minecraft.getInstance().currentScreen.getItemToolTip(itemStack).stream().filter(s -> !s.equals(modString)).collect(Collectors.toList()); } catch (Exception e) { toolTip.add(itemStack.getDisplayName().getFormattedText()); } |
