package joshie.harvest.knowledge.gui.stats.quests.button;
import joshie.harvest.api.quests.Quest;
import joshie.harvest.core.base.gui.ButtonBook;
import joshie.harvest.core.helpers.MCClientHelper;
import joshie.harvest.core.helpers.StackRenderHelper;
import joshie.harvest.knowledge.gui.stats.GuiStats;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import org.apache.commons.lang3.StringEscapeUtils;
import javax.annotation.Nonnull;
public class ButtonQuest extends ButtonBook<GuiStats> {
private final ItemStack stack;
private final String description;
public ButtonQuest(GuiStats gui, Quest quest, int buttonId, int x, int y) {
super(gui, buttonId, x, y, quest.getTitle());
this.gui = gui;
this.width = 120;
this.height = 16;
World world = MCClientHelper.getWorld();
EntityPlayer player = MCClientHelper.getPlayer();
this.stack = quest.getCurrentIcon(world, player);
this.description = StringEscapeUtils.unescapeJava(quest.getDescription(world, player));
}
@Override
public void drawButton(@Nonnull Minecraft mc, int mouseX, int mouseY) {
if (visible) {
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
hovered = mouseX >= xPosition && mouseY >= yPosition && mouseX < xPosition + width && mouseY < yPosition + height;
mouseDragged(mc, mouseX, mouseY);
drawForeground();
boolean flag = mc.fontRendererObj.getUnicodeFlag();
mc.fontRendererObj.setUnicodeFlag(true);
mc.fontRendererObj.drawString(TextFormatting.BOLD + displayString, xPosition + 4, yPosition - 8, 0x857754);
mc.fontRendererObj.drawSplitString(description, xPosition + 20, yPosition - 1, 100, 0x857754);
mc.fontRendererObj.setUnicodeFlag(flag);
drawRect(xPosition + 4, yPosition + 17, xPosition + 120, yPosition + 18, 0xFF857754);
GlStateManager.color(1.0F, 1.0F, 1.0F);
}
}
private void drawForeground() {
StackRenderHelper.drawStack(stack, xPosition + 2, yPosition + 1, 1F);
}
@Override
public boolean mousePressed(Minecraft mc, int mouseX, int mouseY) {
return false;
}
}