| /******************************************************************************* |
| * Copyright 2011-2014 SirSengir |
| * |
| * This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details. |
| ******************************************************************************/ |
| package forestry.api.lepidopterology; |
| |
| import java.util.EnumSet; |
| import java.util.Map; |
| |
| import net.minecraft.item.ItemStack; |
| |
| import net.minecraftforge.common.BiomeDictionary; |
| |
| import forestry.api.genetics.IAlleleSpecies; |
| |
| public interface IAlleleButterflySpecies extends IAlleleSpecies { |
| |
| /** |
| * @return the IBeeRoot |
| */ |
| IButterflyRoot getRoot(); |
| |
| /** |
| * @return Path of the texture to use for entity rendering. |
| */ |
| String getEntityTexture(); |
| |
| /** |
| * Allows butterflies to restrict random spawns beyond the restrictions set by getTemperature() and getHumidity(). |
| * |
| * @return EnumSet of biome tags this butterfly species can be spawned in. |
| */ |
| EnumSet<BiomeDictionary.Type> getSpawnBiomes(); |
| |
| /** |
| * @return true if a prospective spawn biome must not match a biome tag outside of getSpawnBiomes. |
| */ |
| boolean strictSpawnMatch(); |
| |
| /** |
| * @return Float between 0 and 1 representing the rarity of the species, will affect spawn rate. |
| */ |
| float getRarity(); |
| |
| /** |
| * @return Float representing the distance below which this butterfly will take flight if it detects a player which is not sneaking. |
| */ |
| float getFlightDistance(); |
| |
| /** |
| * @return true if this species is only active at night. |
| */ |
| boolean isNocturnal(); |
| |
| Map<ItemStack, Float> getButterflyLoot(); |
| |
| Map<ItemStack, Float> getCaterpillarLoot(); |
| } |