package joshie.harvest.fishing; import joshie.harvest.api.fishing.FishingManager; import joshie.harvest.core.util.annotations.HFApiImplementation; import joshie.harvest.core.util.holders.HolderRegistry; import joshie.harvest.core.util.holders.HolderRegistrySet; import joshie.harvest.knowledge.gui.stats.CollectionHelper; import net.minecraft.item.ItemStack; @HFApiImplementation public class FishingAPI implements FishingManager { public static final FishingAPI INSTANCE = new FishingAPI(); private final HolderRegistrySet baits = new HolderRegistrySet(); final HolderRegistry<Integer> breeding = new HolderRegistry<>(); @Override public void registerForFishingCollection(Object object) { CollectionHelper.FISH.register(object); } @Override public void registerBait(ItemStack stack) { baits.register(stack); } @Override public void registerAsBreedable(ItemStack stack, int days) { breeding.register(stack, days); } public boolean isBait(ItemStack stack) { return baits.contains(stack); } public int getDaysFor(ItemStack stack) { Integer days = breeding.getValueOf(stack); return days == null ? -1 : days; } }