package joshie.harvest.fishing.render;
import joshie.harvest.core.helpers.StackRenderHelper;
import joshie.harvest.core.util.annotations.HFEvents;
import joshie.harvest.fishing.HFFishing;
import joshie.harvest.fishing.item.ItemJunk.Junk;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.event.RenderTooltipEvent;
import net.minecraftforge.fml.client.config.GuiUtils;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.relauncher.Side;
@HFEvents(Side.CLIENT)
@SuppressWarnings("unused, ConstantConditions")
public class RenderBait {
@SubscribeEvent
public void onTooltipRender(RenderTooltipEvent.PostText event) {
if (event.getStack() == null || Minecraft.getMinecraft().currentScreen == null) return; //Do nothing if stack is null
ItemStack stack = event.getStack();
if (stack.getItem() == HFFishing.FISHING_ROD) {
int amount = HFFishing.FISHING_ROD.getBaitAmount(stack);
if (amount > 0) {
GuiScreen gui = Minecraft.getMinecraft().currentScreen;
GlStateManager.disableRescaleNormal();
RenderHelper.disableStandardItemLighting();
GlStateManager.disableLighting();
GlStateManager.disableDepth();
int k = 8;
int i1 = event.getX() + 75;
int j1 = event.getY() + 18 + (11 * (event.getLines().size() - 1));
int k1 = 7;
if (j1 + k1 + 6 > gui.height) {
j1 = gui.height - k1 - 6;
}
int zLevel = (int) 500.0F;
int l1 = -267386864;
GuiUtils.drawGradientRect(zLevel, i1 - 3, j1 - 4, i1 + k + 3, j1 - 3, l1, l1);
GuiUtils.drawGradientRect(zLevel, i1 - 3, j1 + k1 + 3, i1 + k + 3, j1 + k1 + 4, l1, l1);
GuiUtils.drawGradientRect(zLevel, i1 - 3, j1 - 3, i1 + k + 3, j1 + k1 + 3, l1, l1);
GuiUtils.drawGradientRect(zLevel, i1 - 4, j1 - 3, i1 - 3, j1 + k1 + 3, l1, l1);
GuiUtils.drawGradientRect(zLevel, i1 + k + 3, j1 - 3, i1 + k + 4, j1 + k1 + 3, l1, l1);
int i2 = 1347420415;
int j2 = (i2 & 16711422) >> 1 | i2 & -16777216;
GuiUtils.drawGradientRect(zLevel, i1 - 3, j1 - 3 + 1, i1 - 3 + 1, j1 + k1 + 3 - 1, i2, j2);
GuiUtils.drawGradientRect(zLevel, i1 + k + 2, j1 - 3 + 1, i1 + k + 3, j1 + k1 + 3 - 1, i2, j2);
GuiUtils.drawGradientRect(zLevel, i1 - 3, j1 - 3, i1 + k + 3, j1 - 3 + 1, i2, i2);
GuiUtils.drawGradientRect(zLevel, i1 - 3, j1 + k1 + 2, i1 + k + 3, j1 + k1 + 3, j2, j2);
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
ItemStack bait = amount > 1 ? HFFishing.JUNK.getStackFromEnum(Junk.BAIT, amount) : HFFishing.JUNK.getStackFromEnum(Junk.BAIT, 1);
GlStateManager.pushMatrix();
GlStateManager.disableBlend();
StackRenderHelper.drawStack(bait, i1, j1, 0.5F);
GlStateManager.enableBlend();
GlStateManager.popMatrix();
GlStateManager.enableLighting();
GlStateManager.enableDepth();
RenderHelper.enableStandardItemLighting();
GlStateManager.enableRescaleNormal();
}
}
}
}