Files
MagicBees/magicbees_src/magicbees/bees/AlleleEffectTransmuting.java
T

55 lines
1.9 KiB
Java
Raw Normal View History

package magicbees.bees;
import java.util.Locale;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraftforge.common.BiomeDictionary;
import net.minecraftforge.oredict.OreDictionary;
import forestry.api.apiculture.IBeeGenome;
import forestry.api.apiculture.IBeeHousing;
import forestry.api.genetics.IEffectData;
public class AlleleEffectTransmuting extends AlleleEffect
{
public AlleleEffectTransmuting(String id, boolean isDominant)
{
2013-09-09 23:23:00 -07:00
super(id, isDominant, 200);
}
@Override
public IEffectData validateStorage(IEffectData storedData)
{
if (storedData == null || !(storedData instanceof magicbees.bees.EffectData))
{
storedData = new magicbees.bees.EffectData(1, 0, 0);
}
return storedData;
}
@Override
protected IEffectData doEffectThrottled(IBeeGenome genome, IEffectData storedData, IBeeHousing housing)
{
World world = housing.getWorld();
// Get random coords within territory
int xCoord = (int)(housing.getTerritoryModifier(genome, 1f) * genome.getTerritory()[0]);
xCoord = housing.getXCoord() + world.rand.nextInt(xCoord) - xCoord / 2;
int yCoord = (int)(housing.getTerritoryModifier(genome, 1f) * genome.getTerritory()[1]);
yCoord = housing.getYCoord() + world.rand.nextInt(yCoord) - yCoord / 2;
int zCoord = (int)(housing.getTerritoryModifier(genome, 1f) * genome.getTerritory()[0]);
zCoord = housing.getZCoord() + world.rand.nextInt(zCoord) - zCoord / 2;
2013-09-09 23:23:00 -07:00
BiomeGenBase biome = world.getBiomeGenForCoords(xCoord, zCoord);
TransmutationEffectController.instance.attemptTransmutations(world, biome,
new ItemStack(world.getBlockId(xCoord, yCoord, zCoord), 1, world.getBlockMetadata(xCoord, yCoord, zCoord)),
xCoord, yCoord, zCoord);
storedData.setInteger(0, 0);
return storedData;
}
}