package joshie.harvest.shops.purchasable;
import joshie.harvest.api.HFApi;
import joshie.harvest.core.HFTrackers;
import joshie.harvest.core.helpers.MCClientHelper;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import javax.annotation.Nonnull;
public class PurchasableWeekend extends Purchasable {
private final ItemStack[] required;
public PurchasableWeekend(long cost, ItemStack stack, ItemStack... required) {
super(cost, stack);
this.required = required;
}
private boolean hasRequiredItem(EntityPlayer player) {
if (required == null || required.length == 0) return true;
else {
for (ItemStack stack: required) {
if (!HFTrackers.getPlayerTrackerFromPlayer(player).getTracking().hasObtainedItem(stack)) return false;
}
return true;
}
}
@Override
public boolean canDo(@Nonnull World world, @Nonnull EntityPlayer player, int amount) {
return amount == 1 && HFApi.calendar.getDate(world).getWeekday().isWeekend() && hasRequiredItem(player);
}
@Override
public void onPurchased(EntityPlayer player) {
HFTrackers.getPlayerTrackerFromPlayer(player).getTracking().addAsObtained(stack);
if (player.worldObj.isRemote) MCClientHelper.initGui();
super.onPurchased(player);
}
}