package joshie.harvest.knowledge.gui.stats.quests.page;
import joshie.harvest.api.quests.Quest;
import joshie.harvest.core.base.gui.BookPage;
import joshie.harvest.core.helpers.MCClientHelper;
import joshie.harvest.knowledge.gui.stats.GuiStats;
import joshie.harvest.knowledge.gui.stats.button.ButtonNext;
import joshie.harvest.knowledge.gui.stats.button.ButtonPrevious;
import joshie.harvest.knowledge.gui.stats.quests.button.ButtonQuest;
import joshie.harvest.knowledge.gui.stats.quests.button.ButtonQuestNull;
import joshie.harvest.quests.QuestHelper;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiLabel;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import java.util.Iterator;
import java.util.List;
public class PageQuests extends BookPage<GuiStats> {
public static final BookPage INSTANCE = new PageQuests();
private PageQuests() {
super("quests", "quests", new ItemStack(Items.FEATHER));
}
@Override
public void initGui(GuiStats gui, List<GuiButton> buttonList, List<GuiLabel> labelList) {
super.initGui(gui, buttonList, labelList);
World world = MCClientHelper.getWorld();
EntityPlayer player = MCClientHelper.getPlayer();
List<Quest> list = QuestHelper.INSTANCE.getCurrentQuests(player);
Iterator<Quest> it = list.iterator();
while (it.hasNext()) {
Quest quest = it.next();
if (quest.getDescription(world, player) == null) it.remove();
}
int x = 0, y = 0;
for (int i = start * 12; i < 12 + start * 12 && i < list.size(); i++) {
Quest quest = list.get(i);
buttonList.add(new ButtonQuest(gui, quest, buttonList.size(), 16 + x * 144, 26 + y * 25));
y++;
if (y >= 6) {
y = 0;
x++;
}
}
if (buttonList.size() == 0) buttonList.add(new ButtonQuestNull(gui, buttonList.size(), 16 + x * 144, 26 + y * 25));
if (start < list.size() / 12) buttonList.add(new ButtonNext(gui, buttonList.size(), 273, 172));
if (start != 0) buttonList.add(new ButtonPrevious(gui, buttonList.size(), 20, 172));
}
}