package joshie.harvest.quests.player.friendship;
import joshie.harvest.api.HFApi;
import joshie.harvest.api.cooking.Recipe;
import joshie.harvest.api.quests.HFQuest;
import joshie.harvest.api.quests.Quest;
import joshie.harvest.cooking.CookingHelper;
import joshie.harvest.npcs.HFNPCs;
import joshie.harvest.quests.Quests;
import joshie.harvest.quests.base.QuestFriendshipStore;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Set;
import static joshie.harvest.core.registry.ShippingRegistry.SELL_VALUE;
@HFQuest("friendship.liara.meals")
public class QuestLiara15KMeals extends QuestFriendshipStore {
public QuestLiara15KMeals() {
super(HFNPCs.CAFE_OWNER, 15000);
}
@Override
public boolean canStartQuest(Set<Quest> active, Set<Quest> finished) {
return finished.contains(Quests.LIARA_12K);
}
@Override
protected Quest getQuest() {
return Quests.SELL_MEALS;
}
@Override
@SuppressWarnings("ConstantConditions")
protected List<ItemStack> getRewardStacks(EntityPlayer player) {
List<ItemStack> stacks = new ArrayList<>();
for (int i = 0; i < 3; i++) {
Random rand = new Random(HFApi.calendar.getDate(player.worldObj).hashCode() + i);
List<Recipe> list = new ArrayList<>(Recipe.REGISTRY.values());
ItemStack stack = null;
while (stack == null || !stack.hasTagCompound()) {
stack = CookingHelper.makeRecipe(list.get(rand.nextInt(list.size())));
}
stack.getTagCompound().setLong(SELL_VALUE, 0L);
stacks.add(stack);
}
return stacks;
}
}