package joshie.harvest.quests.base; import joshie.harvest.api.HFApi; import joshie.harvest.api.npc.NPC; import joshie.harvest.api.npc.NPCEntity; import joshie.harvest.api.quests.Quest; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import java.util.List; public abstract class QuestFriendshipStore extends QuestFriendship { public QuestFriendshipStore(NPC npc, int relationship) { super(npc, relationship); } protected abstract Quest getQuest(); @SideOnly(Side.CLIENT) @Override public String getLocalizedScript(EntityPlayer player, NPCEntity entity) { if (HFApi.player.getRelationsForPlayer(player).getRelationship(entity.getNPC()) >= relationship) { return HFApi.quests.getCurrentQuests(player).contains(getQuest()) ? getLocalized("item"): getLocalized("text"); } else return null; } @Override public void onQuestCompleted(EntityPlayer player) { if (HFApi.quests.getCurrentQuests(player).contains(getQuest())) { List<ItemStack> stacks = getRewardStacks(player); if (stacks != null) { for (ItemStack stack : stacks) { rewardItem(player, stack); } } } else HFApi.quests.completeQuestConditionally(getQuest(), player); } }