aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2019-02-16 17:52:40 +0800
committerUnknown <shekwancheung0528@gmail.com>2019-02-16 17:52:40 +0800
commit2e0e576b64545cb45a0ab3e0d0fe81cfb7a61307 (patch)
tree33ab48fd72c49fa1b2a78c05b29de67da7ab6064 /src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java
parent074a627663e0150e23d47a87486afb852dd2cfdd (diff)
downloadRoughlyEnoughItems-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.java37
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());
}