aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java
diff options
context:
space:
mode:
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.java35
1 files changed, 15 insertions, 20 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 e2d6a6bdb..127341a39 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java
@@ -3,7 +3,6 @@ package me.shedaniel.rei.gui.widget;
import com.google.common.collect.Lists;
import me.shedaniel.rei.client.ClientHelper;
import me.shedaniel.rei.client.GuiHelper;
-import me.shedaniel.rei.listeners.IMixinGuiContainer;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Gui;
import net.minecraft.client.renderer.ItemRenderer;
@@ -26,24 +25,22 @@ public class ItemSlotWidget extends Gui implements HighlightableWidget {
private List<ItemStack> itemList = new LinkedList<>();
private boolean drawBackground, showToolTips, clickToMoreRecipes;
private int x, y;
- private IMixinGuiContainer containerGui;
- public ItemSlotWidget(int x, int y, ItemStack itemStack, boolean drawBackground, boolean showToolTips, IMixinGuiContainer containerGui) {
- this(x, y, Arrays.asList(itemStack), drawBackground, showToolTips, containerGui);
+ public ItemSlotWidget(int x, int y, ItemStack itemStack, boolean drawBackground, boolean showToolTips) {
+ this(x, y, Arrays.asList(itemStack), drawBackground, showToolTips);
}
- public ItemSlotWidget(int x, int y, List<ItemStack> itemList, boolean drawBackground, boolean showToolTips, IMixinGuiContainer containerGui) {
+ public ItemSlotWidget(int x, int y, List<ItemStack> itemList, boolean drawBackground, boolean showToolTips) {
this.itemList = itemList;
this.drawBackground = drawBackground;
this.showToolTips = showToolTips;
this.x = x;
this.y = y;
- this.containerGui = containerGui;
this.clickToMoreRecipes = false;
}
- public ItemSlotWidget(int x, int y, List<ItemStack> itemList, boolean drawBackground, boolean showToolTips, IMixinGuiContainer containerGui, boolean clickToMoreRecipes) {
- this(x, y, itemList, drawBackground, showToolTips, containerGui);
+ public ItemSlotWidget(int x, int y, List<ItemStack> itemList, boolean drawBackground, boolean showToolTips, boolean clickToMoreRecipes) {
+ this(x, y, itemList, drawBackground, showToolTips);
this.clickToMoreRecipes = clickToMoreRecipes;
}
@@ -69,11 +66,7 @@ public class ItemSlotWidget extends Gui implements HighlightableWidget {
ItemRenderer itemRenderer = Minecraft.getInstance().getItemRenderer();
itemRenderer.zLevel = 200.0F;
itemRenderer.renderItemAndEffectIntoGUI(itemStack, x, y);
- assert containerGui != null;
- if (containerGui.getDraggedStack().isEmpty())
- itemRenderer.renderItemOverlayIntoGUI(Minecraft.getInstance().fontRenderer, itemStack, x, y - 0, getItemCountOverlay(itemStack));
- else
- itemRenderer.renderItemOverlayIntoGUI(Minecraft.getInstance().fontRenderer, itemStack, x, y - 8, getItemCountOverlay(itemStack));
+ itemRenderer.renderItemOverlayIntoGUI(Minecraft.getInstance().fontRenderer, itemStack, x, y, getItemCountOverlay(itemStack));
itemRenderer.zLevel = 0.0F;
if (isHighlighted(mouseX, mouseY) && showToolTips)
drawToolTip(itemStack);
@@ -81,16 +74,18 @@ public class ItemSlotWidget extends Gui implements HighlightableWidget {
protected void drawToolTip(ItemStack itemStack) {
List<String> toolTip = getTooltip(itemStack);
- GuiHelper.getOverlay(containerGui.getContainerGui()).addTooltip(new QueuedTooltip(ClientHelper.getMouseLocation(), toolTip));
+ GuiHelper.getLastOverlay().addTooltip(new QueuedTooltip(ClientHelper.getMouseLocation(), toolTip));
}
protected List<String> getTooltip(ItemStack itemStack) {
final String modString = "§9§o" + ClientHelper.getModFromItemStack(itemStack);
Minecraft mc = Minecraft.getInstance();
List<String> toolTip = Lists.newArrayList();
- if (containerGui != null)
- toolTip = containerGui.getContainerGui().getItemToolTip(itemStack).stream().filter(s -> !s.equals(modString)).collect(Collectors.toList());
- else toolTip.add(itemStack.getDisplayName().getFormattedText());
+ try {
+ toolTip = GuiHelper.getLastOverlay().getItemToolTip(itemStack).stream().filter(s -> !s.equals(modString)).collect(Collectors.toList());
+ } catch (Exception e) {
+ toolTip.add(itemStack.getDisplayName().getFormattedText());
+ }
toolTip.addAll(getExtraToolTips(itemStack));
toolTip.add(modString);
return toolTip;
@@ -116,7 +111,7 @@ public class ItemSlotWidget extends Gui implements HighlightableWidget {
@Override
public Rectangle getBounds() {
- return new Rectangle(this.x, this.y, 18, 18);
+ return new Rectangle(this.x - 1, this.y - 1, 18, 18);
}
@Override
@@ -125,9 +120,9 @@ public class ItemSlotWidget extends Gui implements HighlightableWidget {
return false;
if (getBounds().contains(mouseX, mouseY)) {
if (button == 0)
- return ClientHelper.executeRecipeKeyBind(GuiHelper.getOverlay(containerGui.getContainerGui()), getCurrentStack().copy(), containerGui);
+ return ClientHelper.executeRecipeKeyBind(GuiHelper.getLastOverlay(), getCurrentStack().copy());
else if (button == 1)
- return ClientHelper.executeUsageKeyBind(GuiHelper.getOverlay(containerGui.getContainerGui()), getCurrentStack().copy(), containerGui);
+ return ClientHelper.executeUsageKeyBind(GuiHelper.getLastOverlay(), getCurrentStack().copy());
}
return false;
}