aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/gui/renderers/SimpleRecipeRenderer.java
diff options
context:
space:
mode:
authorDanielshe <shekwancheung0528@gmail.com>2019-08-29 23:24:43 +0800
committerDanielshe <shekwancheung0528@gmail.com>2019-08-29 23:24:43 +0800
commit47ce58d320feedce57182ae0b88196bce518a57a (patch)
treed5ea5b0e4d5aa6590929e2a3c37c9d642f831aba /src/main/java/me/shedaniel/rei/gui/renderers/SimpleRecipeRenderer.java
parentb960e33306056c126c3816ec471c58c3b5a7be7f (diff)
downloadRoughlyEnoughItems-47ce58d320feedce57182ae0b88196bce518a57a.tar.gz
RoughlyEnoughItems-47ce58d320feedce57182ae0b88196bce518a57a.tar.bz2
RoughlyEnoughItems-47ce58d320feedce57182ae0b88196bce518a57a.zip
We are out of beta
- Fix #149 - Close #148 - SlotWidget API improvement
Diffstat (limited to 'src/main/java/me/shedaniel/rei/gui/renderers/SimpleRecipeRenderer.java')
-rw-r--r--src/main/java/me/shedaniel/rei/gui/renderers/SimpleRecipeRenderer.java18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/main/java/me/shedaniel/rei/gui/renderers/SimpleRecipeRenderer.java b/src/main/java/me/shedaniel/rei/gui/renderers/SimpleRecipeRenderer.java
index 9c5ad4ebc..1aa45aa3f 100644
--- a/src/main/java/me/shedaniel/rei/gui/renderers/SimpleRecipeRenderer.java
+++ b/src/main/java/me/shedaniel/rei/gui/renderers/SimpleRecipeRenderer.java
@@ -8,6 +8,7 @@ package me.shedaniel.rei.gui.renderers;
import com.google.common.collect.Lists;
import me.shedaniel.rei.api.Renderer;
import me.shedaniel.rei.gui.VillagerRecipeViewingScreen;
+import me.shedaniel.rei.gui.widget.QueuedTooltip;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.render.GuiLighting;
import net.minecraft.item.ItemStack;
@@ -15,6 +16,7 @@ import net.minecraft.util.Identifier;
import net.minecraft.util.Pair;
import net.minecraft.util.math.MathHelper;
+import javax.annotation.Nullable;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
@@ -40,6 +42,7 @@ public class SimpleRecipeRenderer extends RecipeRenderer {
private static final Identifier CHEST_GUI_TEXTURE = new Identifier("roughlyenoughitems", "textures/gui/recipecontainer.png");
private List<ItemStackRenderer> inputRenderer;
private ItemStackRenderer outputRenderer;
+ private QueuedTooltip lastTooltip;
public SimpleRecipeRenderer(Supplier<List<List<ItemStack>>> input, Supplier<List<ItemStack>> output) {
List<Pair<List<ItemStack>, AtomicInteger>> newList = Lists.newArrayList();
@@ -77,12 +80,15 @@ public class SimpleRecipeRenderer extends RecipeRenderer {
@Override
public void render(int x, int y, double mouseX, double mouseY, float delta) {
+ lastTooltip = null;
int xx = x + 4, yy = y + 2;
int j = 0;
int itemsPerLine = getItemsPerLine();
for (ItemStackRenderer itemStackRenderer : inputRenderer) {
itemStackRenderer.setBlitOffset(getBlitOffset() + 50);
- itemStackRenderer.drawTooltip = MinecraftClient.getInstance().currentScreen instanceof VillagerRecipeViewingScreen;
+ if (lastTooltip == null && MinecraftClient.getInstance().currentScreen instanceof VillagerRecipeViewingScreen && mouseX >= xx && mouseX <= xx + 16 && mouseY >= yy && mouseY <= yy + 16) {
+ lastTooltip = itemStackRenderer.getQueuedTooltip(delta);
+ }
itemStackRenderer.render(xx + 8, yy + 6, mouseX, mouseY, delta);
xx += 18;
j++;
@@ -99,8 +105,16 @@ public class SimpleRecipeRenderer extends RecipeRenderer {
blit(xx, yy, 0, 28, 18, 18);
xx += 18;
outputRenderer.setBlitOffset(getBlitOffset() + 50);
- outputRenderer.drawTooltip = MinecraftClient.getInstance().currentScreen instanceof VillagerRecipeViewingScreen;
outputRenderer.render(xx + 8, yy + 6, mouseX, mouseY, delta);
+ if (lastTooltip == null && MinecraftClient.getInstance().currentScreen instanceof VillagerRecipeViewingScreen && mouseX >= xx && mouseX <= xx + 16 && mouseY >= yy && mouseY <= yy + 16) {
+ lastTooltip = outputRenderer.getQueuedTooltip(delta);
+ }
+ }
+
+ @Nullable
+ @Override
+ public QueuedTooltip getQueuedTooltip(float delta) {
+ return lastTooltip;
}
@Override