52 lines
1.4 KiB
Java
52 lines
1.4 KiB
Java
package forestry.api.genetics;
|
|
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.world.World;
|
|
|
|
public interface IFlowerProvider {
|
|
/**
|
|
* @param world
|
|
* @param individual
|
|
* @param x
|
|
* @param y
|
|
* @param z
|
|
* @return True if the block at the passed coordinates is a valid flower for the species.
|
|
*/
|
|
boolean isAcceptedFlower(World world, IIndividual individual, int x, int y, int z);
|
|
|
|
boolean isAcceptedPollinatable(World world, IPollinatable pollinatable);
|
|
|
|
/**
|
|
* @param world
|
|
* @param individual
|
|
* @param x
|
|
* @param y
|
|
* @param z
|
|
* @return True if a flower was planted.
|
|
*/
|
|
boolean growFlower(World world, IIndividual individual, int x, int y, int z);
|
|
|
|
/**
|
|
* @return Short, human-readable identifier used in the beealyzer.
|
|
*/
|
|
String getDescription();
|
|
|
|
/**
|
|
* Allows the flower provider to affect the produce at the given location.
|
|
* @param world
|
|
* @param individual
|
|
* @param x
|
|
* @param y
|
|
* @param z
|
|
* @param products
|
|
* @return Array of itemstacks being the (modified or unmodified) produce.
|
|
*/
|
|
ItemStack[] affectProducts(World world, IIndividual individual, int x, int y, int z, ItemStack[] products);
|
|
|
|
/**
|
|
* @return Array of itemstacks representing valid flowers for the flower provider. The first in the array is for use as an icon Return null or an empty
|
|
* array if the flower does not have an itemstack
|
|
*/
|
|
ItemStack[] getItemStacks();
|
|
}
|