diff options
| author | Unknown <shekwancheung0528@gmail.com> | 2019-05-09 22:38:34 +0800 |
|---|---|---|
| committer | Unknown <shekwancheung0528@gmail.com> | 2019-05-09 22:38:34 +0800 |
| commit | c1b0219e8d5458ddf1eccc194d34893f698b7d88 (patch) | |
| tree | a0ed116ad122b66721c5fe9345925e04f3c73a47 /src/main/java/me/shedaniel/rei/gui/renderables/ItemStackRenderer.java | |
| parent | 6017255b2b2704031a784eafd2bd720f1e7b8fc2 (diff) | |
| download | RoughlyEnoughItems-c1b0219e8d5458ddf1eccc194d34893f698b7d88.tar.gz RoughlyEnoughItems-c1b0219e8d5458ddf1eccc194d34893f698b7d88.tar.bz2 RoughlyEnoughItems-c1b0219e8d5458ddf1eccc194d34893f698b7d88.zip | |
VillagerRecipeViewingScreen done
Diffstat (limited to 'src/main/java/me/shedaniel/rei/gui/renderables/ItemStackRenderer.java')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/gui/renderables/ItemStackRenderer.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/main/java/me/shedaniel/rei/gui/renderables/ItemStackRenderer.java b/src/main/java/me/shedaniel/rei/gui/renderables/ItemStackRenderer.java index 139e88a19..a64196311 100644 --- a/src/main/java/me/shedaniel/rei/gui/renderables/ItemStackRenderer.java +++ b/src/main/java/me/shedaniel/rei/gui/renderables/ItemStackRenderer.java @@ -1,16 +1,25 @@ package me.shedaniel.rei.gui.renderables; +import com.google.common.collect.Lists; import com.mojang.blaze3d.platform.GlStateManager; +import me.shedaniel.rei.api.ClientHelper; import me.shedaniel.rei.api.Renderer; +import me.shedaniel.rei.client.ScreenHelper; +import me.shedaniel.rei.gui.widget.ItemListOverlay; +import me.shedaniel.rei.gui.widget.QueuedTooltip; import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.GuiLighting; import net.minecraft.client.render.item.ItemRenderer; import net.minecraft.item.ItemStack; import net.minecraft.util.Identifier; +import java.util.Collections; +import java.util.List; + public abstract class ItemStackRenderer extends Renderer { public static final Identifier CHEST_GUI_TEXTURE = new Identifier("roughlyenoughitems", "textures/gui/recipecontainer.png"); + public boolean drawTooltip = false; @Override public void render(int x, int y, double mouseX, double mouseY, float delta) { @@ -27,6 +36,32 @@ public abstract class ItemStackRenderer extends Renderer { itemRenderer.renderGuiItemOverlay(MinecraftClient.getInstance().textRenderer, getItemStack(), l, i1); itemRenderer.zOffset = 0.0F; this.blitOffset = 0; + if (drawTooltip && mouseX >= x - 8 && mouseX <= x + 8 && mouseY >= y - 6 && mouseY <= y + 10) + queueTooltip(getItemStack(), delta); + this.drawTooltip = false; + } + + protected void queueTooltip(ItemStack itemStack, float delta) { + ScreenHelper.getLastOverlay().addTooltip(QueuedTooltip.create(getTooltip(itemStack))); + } + + protected List<String> getTooltip(ItemStack itemStack) { + final String modString = ClientHelper.getInstance().getFormattedModFromItem(itemStack.getItem()); + List<String> toolTip = Lists.newArrayList(ItemListOverlay.tryGetItemStackToolTip(itemStack, true)); + toolTip.addAll(getExtraToolTips(itemStack)); + boolean alreadyHasMod = false; + for(String s : toolTip) + if (s.equalsIgnoreCase(modString)) { + alreadyHasMod = true; + break; + } + if (!alreadyHasMod) + toolTip.add(modString); + return toolTip; + } + + protected List<String> getExtraToolTips(ItemStack stack) { + return Collections.emptyList(); } public abstract ItemStack getItemStack(); |
