package net.minecraft.world.gen.feature;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.world.World;
public class WorldGenHellLava extends WorldGenerator
{
/** Stores the ID for WorldGenHellLava */
private int hellLavaID;
private boolean field_94524_b = false;
public WorldGenHellLava(int par1, boolean par2)
{
this.hellLavaID = par1;
this.field_94524_b = par2;
}
public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5)
{
if (par1World.getBlockId(par3, par4 + 1, par5) != Block.netherrack.blockID)
{
return false;
}
else if (par1World.getBlockId(par3, par4, par5) != 0 && par1World.getBlockId(par3, par4, par5) != Block.netherrack.blockID)
{
return false;
}
else
{
int l = 0;
if (par1World.getBlockId(par3 - 1, par4, par5) == Block.netherrack.blockID)
{
++l;
}
if (par1World.getBlockId(par3 + 1, par4, par5) == Block.netherrack.blockID)
{
++l;
}
if (par1World.getBlockId(par3, par4, par5 - 1) == Block.netherrack.blockID)
{
++l;
}
if (par1World.getBlockId(par3, par4, par5 + 1) == Block.netherrack.blockID)
{
++l;
}
if (par1World.getBlockId(par3, par4 - 1, par5) == Block.netherrack.blockID)
{
++l;
}
int i1 = 0;
if (par1World.isAirBlock(par3 - 1, par4, par5))
{
++i1;
}
if (par1World.isAirBlock(par3 + 1, par4, par5))
{
++i1;
}
if (par1World.isAirBlock(par3, par4, par5 - 1))
{
++i1;
}
if (par1World.isAirBlock(par3, par4, par5 + 1))
{
++i1;
}
if (par1World.isAirBlock(par3, par4 - 1, par5))
{
++i1;
}
if (!this.field_94524_b && l == 4 && i1 == 1 || l == 5)
{
par1World.setBlock(par3, par4, par5, this.hellLavaID, 0, 2);
par1World.scheduledUpdatesAreImmediate = true;
Block.blocksList[this.hellLavaID].updateTick(par1World, par3, par4, par5, par2Random);
par1World.scheduledUpdatesAreImmediate = false;
}
return true;
}
}
}