aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2019-01-11 18:14:42 +0800
committerUnknown <shekwancheung0528@gmail.com>2019-01-11 18:14:42 +0800
commit39186205227594eecb9c29157c5eb5fd9b293f11 (patch)
treee50f48a106d535c418b89ddfc67f2d1f3013be69 /src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java
parent77ff77003ff31dabda47388ca2d9727a185b90f8 (diff)
downloadRoughlyEnoughItems-39186205227594eecb9c29157c5eb5fd9b293f11.tar.gz
RoughlyEnoughItems-39186205227594eecb9c29157c5eb5fd9b293f11.tar.bz2
RoughlyEnoughItems-39186205227594eecb9c29157c5eb5fd9b293f11.zip
Furnace Recipe + Scrolling in Recipe Window
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.java25
1 files changed, 22 insertions, 3 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 01eee72b2..a3ed1c4ed 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java
@@ -1,10 +1,10 @@
package me.shedaniel.rei.gui.widget;
import com.google.common.collect.Lists;
+import me.shedaniel.rei.RoughlyEnoughItemsCore;
import me.shedaniel.rei.client.ClientHelper;
import me.shedaniel.rei.listeners.IMixinContainerGui;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.ContainerGui;
import net.minecraft.client.gui.Drawable;
import net.minecraft.client.render.GuiLighting;
import net.minecraft.client.render.item.ItemRenderer;
@@ -24,7 +24,7 @@ public class ItemSlotWidget extends Drawable implements HighlightableWidget {
private static final Identifier RECIPE_GUI = new Identifier("roughlyenoughitems", "textures/gui/recipecontainer.png");
private List<ItemStack> itemList = new LinkedList<>();
- private boolean drawBackground, showToolTips;
+ private boolean drawBackground, showToolTips, clickToMoreRecipes;
private int x, y;
private IMixinContainerGui containerGui;
@@ -39,6 +39,12 @@ public class ItemSlotWidget extends Drawable implements HighlightableWidget {
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, IMixinContainerGui containerGui, boolean clickToMoreRecipes) {
+ this(x, y, itemList, drawBackground, showToolTips, containerGui);
+ this.clickToMoreRecipes = clickToMoreRecipes;
}
public boolean isDrawBackground() {
@@ -93,7 +99,7 @@ public class ItemSlotWidget extends Drawable implements HighlightableWidget {
protected ItemStack getCurrentStack() {
if (itemList.size() == 0)
return new ItemStack(Items.AIR);
- return itemList.get(MathHelper.clamp((int) (System.currentTimeMillis() / 500) % itemList.size(), 0, itemList.size() - 1));
+ return itemList.get(MathHelper.floor((System.currentTimeMillis() / 500 % (double) itemList.size()) / 1f));
}
public void setItemList(List<ItemStack> itemList) {
@@ -105,4 +111,17 @@ public class ItemSlotWidget extends Drawable implements HighlightableWidget {
return new Rectangle(this.x, this.y, 18, 18);
}
+ @Override
+ public boolean onMouseClick(int button, double mouseX, double mouseY) {
+ if (!clickToMoreRecipes)
+ return false;
+ if (getBounds().contains(mouseX, mouseY)) {
+ if (button == 0)
+ return ClientHelper.executeRecipeKeyBind(containerGui.getOverlay(), getCurrentStack().copy(), containerGui);
+ else if (button == 1)
+ return ClientHelper.executeUsageKeyBind(containerGui.getOverlay(), getCurrentStack().copy(), containerGui);
+ }
+ return false;
+ }
+
}