Files
MagicBees/thaumicbees_src/thaumicbees/bees/FlowerProviderThaumcraftFlower.java
T
2013-04-15 00:17:50 -07:00

79 lines
2.0 KiB
Java

package thaumicbees.bees;
import cpw.mods.fml.common.registry.LanguageRegistry;
import thaumicbees.main.Config;
import thaumicbees.main.utils.LocalizationManager;
import thaumicbees.main.utils.compat.ThaumcraftHelper;
import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import forestry.api.apiculture.IBeeGenome;
import forestry.api.apiculture.IFlowerProvider;
import forestry.api.genetics.IPollinatable;
public class FlowerProviderThaumcraftFlower implements IFlowerProvider
{
private ItemStack[] flowers = {new ItemStack(Config.tcPlant, 1, 2), new ItemStack(Config.tcPlant, 1, 3) };
@Override
public boolean isAcceptedFlower(World world, IBeeGenome genome, int x, int y, int z)
{
boolean flag = false;
if (world.getBlockId(x, y, z) == Config.tcPlant.blockID)
{
int meta = world.getBlockMetadata(x, y, z);
if (meta == 2 || meta == 3)
{
flag = true;
}
}
return flag;
}
@Override
public boolean growFlower(World world, IBeeGenome genome, int x, int y, int z)
{
boolean flag = false;
int blockDown = world.getBlockId(x, y - 1, z);
if (world.isAirBlock(x, y, z))
{
if (blockDown == Block.dirt.blockID || blockDown == Block.grass.blockID)
{
world.setBlockMetadataWithNotify(x, y, z, Config.tcPlant.blockID, ThaumcraftHelper.BlockPlant.SHIMMERLEAF.ordinal());
flag = true;
}
else if (blockDown == Block.sand.blockID)
{
world.setBlockMetadataWithNotify(x, y, z, Config.tcPlant.blockID, ThaumcraftHelper.BlockPlant.CINDERPEARL.ordinal());
flag = true;
}
}
return flag;
}
@Override
public String getDescription()
{
return LocalizationManager.getLocalizedString("tb.bees.flower.magic");
}
@Override
public ItemStack[] affectProducts(World world, IBeeGenome genome, int x, int y, int z, ItemStack[] products)
{
return products;
}
@Override
public ItemStack[] getItemStacks()
{
return this.flowers;
}
//@Override
public boolean isAcceptedPollinatable(World world, IPollinatable pollinatable)
{
return false;
}
}