package joshie.harvest.quests.town.trade; import joshie.harvest.api.HFApi; import joshie.harvest.api.calendar.CalendarDate; import joshie.harvest.api.quests.HFQuest; import joshie.harvest.api.quests.Quest; import joshie.harvest.core.helpers.InventoryHelper; import joshie.harvest.quests.base.QuestDummyTown; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumHand; import java.util.Random; import java.util.Set; @HFQuest("trader.flowers") public class QuestFlowerBuyingDo extends QuestDummyTown { private CalendarDate lastCheck; private int value; @Override public boolean canStartQuest(Set<Quest> active, Set<Quest> finished) { return false; } private int getValue(CalendarDate date, Random rand) { if (lastCheck != null && date.equals(lastCheck)) return value; else { lastCheck = date.copy(); value = 1 + rand.nextInt(25); return value; } } @Override public void onQuestCompleted(EntityPlayer player) { EnumHand hand = player.getHeldItemOffhand() != null ? EnumHand.OFF_HAND : player.getHeldItemMainhand() != null ? EnumHand.MAIN_HAND : null; if (hand != null) { ItemStack held = player.getHeldItem(hand); if (held != null && InventoryHelper.startsWith(held, "flower") && held.stackSize >= 1) { held.splitStack(1); //Reduce the stack size by one if (held.stackSize <= 0) { player.setHeldItem(hand, null); } rewardGold(player, getValue(HFApi.calendar.getDate(player.worldObj), player.worldObj.rand)); } } } }