package joshie.harvest.knowledge.gui.stats;
import joshie.harvest.api.cooking.Recipe;
import joshie.harvest.api.core.Ore;
import joshie.harvest.core.util.holders.HolderRegistrySet;
import joshie.harvest.fishing.HFFishing;
import joshie.harvest.fishing.item.ItemJunk.Junk;
import joshie.harvest.mining.HFMining;
import net.minecraft.item.ItemStack;
import static joshie.harvest.api.core.MatchType.PREFIX;
public class CollectionHelper {
public static final HolderRegistrySet FISH = new HolderRegistrySet();
public static final HolderRegistrySet ORE = new HolderRegistrySet();
static {
FISH.register(Ore.of("fish"));
for (Junk junk: Junk.values()) {
if (junk != Junk.BAIT) FISH.register(HFFishing.JUNK.getStackFromEnum(junk));
}
ORE.register(HFMining.MATERIALS);
ORE.register(Ore.of("ore").setType(PREFIX));
ORE.register(Ore.of("gem").setType(PREFIX));
}
public static boolean isInFishCollection(ItemStack stack) {
return FISH.contains(stack);
}
public static boolean isInMiningCollection(ItemStack stack) {
return ORE.contains(stack);
}
public static boolean isInCookingCollection(ItemStack stack) {
for (Recipe recipe: Recipe.REGISTRY.values()) {
if (stack.isItemEqual(recipe.getStack())) return true;
}
return false;
}
public static boolean isInShippingCollection(ItemStack stack) {
return !isInFishCollection(stack) && !isInMiningCollection(stack) && !isInCookingCollection(stack);
}
}