From 33ed36eff27c1a533dacb2fa73510687f119c12b Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 8 May 2019 01:24:22 +0800 Subject: more internal changes Fix #56 --- .../shedaniel/rei/gui/widget/ItemSlotWidget.java | 153 ++------------------- 1 file changed, 10 insertions(+), 143 deletions(-) (limited to 'src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java') 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 5081cc00a..7509c45df 100644 --- a/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java +++ b/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java @@ -1,158 +1,25 @@ package me.shedaniel.rei.gui.widget; -import com.google.common.collect.Lists; -import com.mojang.blaze3d.platform.GlStateManager; -import me.shedaniel.cloth.api.ClientUtils; -import me.shedaniel.rei.RoughlyEnoughItemsCore; -import me.shedaniel.rei.api.ClientHelper; -import me.shedaniel.rei.client.ScreenHelper; -import net.minecraft.client.gui.Element; -import net.minecraft.client.render.GuiLighting; -import net.minecraft.client.render.item.ItemRenderer; +import me.shedaniel.rei.api.Renderer; import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; -import net.minecraft.util.Identifier; -import net.minecraft.util.math.MathHelper; -import java.awt.*; -import java.util.Collections; -import java.util.LinkedList; +import java.util.Collection; import java.util.List; -public class ItemSlotWidget extends HighlightableWidget { - - private static final Identifier RECIPE_GUI = new Identifier("roughlyenoughitems", "textures/gui/recipecontainer.png"); - private List itemList = new LinkedList<>(); - private boolean drawBackground, showToolTips, clickToMoreRecipes, drawHighlightedBackground; - private int x, y; - +public class ItemSlotWidget extends SlotWidget { public ItemSlotWidget(int x, int y, ItemStack itemStack, boolean drawBackground, boolean showToolTips) { - this(x, y, Collections.singletonList(itemStack), drawBackground, showToolTips); - } - - public ItemSlotWidget(int x, int y, List itemList, boolean drawBackground, boolean showToolTips) { - this.itemList = itemList; - this.drawBackground = drawBackground; - this.showToolTips = showToolTips; - this.x = x; - this.y = y; - this.clickToMoreRecipes = false; - this.drawHighlightedBackground = true; - } - - public ItemSlotWidget(int x, int y, List itemList, boolean drawBackground, boolean showToolTips, boolean clickToMoreRecipes) { - this(x, y, itemList, drawBackground, showToolTips); - this.clickToMoreRecipes = clickToMoreRecipes; - } - - @Override - public List children() { - return Collections.emptyList(); - } - - public void setDrawHighlightedBackground(boolean drawHighlightedBackground) { - this.drawHighlightedBackground = drawHighlightedBackground; - } - - public boolean isDrawBackground() { - return drawBackground; - } - - @Override - public void render(int mouseX, int mouseY, float delta) { - ItemStack itemStack = getCurrentStack().copy(); - if (drawBackground) { - minecraft.getTextureManager().bindTexture(RECIPE_GUI); - blit(this.x - 1, this.y - 1, 0, 222, 18, 18); - } - boolean highlighted = isHighlighted(mouseX, mouseY); - if (drawHighlightedBackground && highlighted) { - GlStateManager.disableLighting(); - GlStateManager.disableDepthTest(); - GlStateManager.colorMask(true, true, true, false); - fillGradient(x, y, x + 16, y + 16, -2130706433, -2130706433); - GlStateManager.colorMask(true, true, true, true); - GlStateManager.enableLighting(); - GlStateManager.enableDepthTest(); - } - if (!itemStack.isEmpty()) { - if (RoughlyEnoughItemsCore.getConfigManager().getConfig().aprilFoolsFish2019 && !highlighted) - itemStack = Items.TROPICAL_FISH.getDefaultStack(); - GuiLighting.enableForItems(); - ItemRenderer itemRenderer = minecraft.getItemRenderer(); - itemRenderer.zOffset = 200.0F; - itemRenderer.renderGuiItem(itemStack, x, y); - itemRenderer.renderGuiItemOverlay(font, itemStack, x, y, getItemCountOverlay(itemStack)); - itemRenderer.zOffset = 0.0F; - } - if (!itemStack.isEmpty() && highlighted && showToolTips) - queueTooltip(itemStack, delta); + super(x, y, itemStack, drawBackground, showToolTips); } - protected void queueTooltip(ItemStack itemStack, float delta) { - ScreenHelper.getLastOverlay().addTooltip(QueuedTooltip.create(getTooltip(itemStack))); + public ItemSlotWidget(int x, int y, Collection itemList, boolean drawBackground, boolean showToolTips) { + super(x, y, itemList, drawBackground, showToolTips); } - protected List getTooltip(ItemStack itemStack) { - final String modString = ClientHelper.getInstance().getFormattedModFromItem(itemStack.getItem()); - List 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; + public ItemSlotWidget(int x, int y, List renderers, boolean drawBackground, boolean showToolTips) { + super(x, y, renderers, drawBackground, showToolTips); } - protected List getExtraToolTips(ItemStack stack) { - return Collections.emptyList(); - } - - protected String getItemCountOverlay(ItemStack currentStack) { - return ""; - } - - public ItemStack getCurrentStack() { - if (itemList.size() == 0) - return new ItemStack(Items.AIR); - return itemList.get(MathHelper.floor((System.currentTimeMillis() / 500 % (double) itemList.size()) / 1f)); - } - - public void setItemList(List itemList) { - this.itemList = itemList; - } - - @Override - public Rectangle getBounds() { - return new Rectangle(this.x - 1, this.y - 1, 18, 18); - } - - @Override - public boolean mouseClicked(double mouseX, double mouseY, int button) { - if (!clickToMoreRecipes) - return false; - if (getBounds().contains(mouseX, mouseY)) - if (button == 0) - return ClientHelper.getInstance().executeRecipeKeyBind(getCurrentStack()); - else if (button == 1) - return ClientHelper.getInstance().executeUsageKeyBind(getCurrentStack()); - return false; - } - - @Override - public boolean keyPressed(int int_1, int int_2, int int_3) { - if (!clickToMoreRecipes) - return false; - if (getBounds().contains(ClientUtils.getMouseLocation())) - if (ClientHelper.getInstance().getRecipeKeyBinding().matchesKey(int_1, int_2)) - return ClientHelper.getInstance().executeRecipeKeyBind(getCurrentStack()); - else if (ClientHelper.getInstance().getUsageKeyBinding().matchesKey(int_1, int_2)) - return ClientHelper.getInstance().executeUsageKeyBind(getCurrentStack()); - return false; + public ItemSlotWidget(int x, int y, List itemList, boolean drawBackground, boolean showToolTips, boolean clickToMoreRecipes) { + super(x, y, itemList, drawBackground, showToolTips, clickToMoreRecipes); } - } -- cgit