package joshie.harvest.api.shops;
import joshie.harvest.api.calendar.Weekday;
import joshie.harvest.api.core.ISpecialRules;
import net.minecraft.entity.EntityAgeable;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;
import javax.annotation.Nullable;
public interface OpeningHandler {
/** If the Shop is currently open
* @param world the world object
* @param npc the npc entity
* @param player the player entity
* @param shop the shop
* @return true if open */
boolean isOpen(World world, EntityAgeable npc, @Nullable EntityPlayer player, Shop shop);
/** Add an opening time
* @param day day of the week
* @param opening hours opened in 24 hour format ie 6000 for a 6am start
* @param closing hours closed at in 24 hour format ie 17000 for a 5pm finish
* @param rules an optional field, only ever pass one */
void addOpening(Weekday day, int opening, int closing, ISpecialRules... rules);
/** Allows this shop to open on holidays */
OpeningHandler setOpensOnHolidays();
}