package net.minecraft.world.gen.structure;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import net.minecraft.entity.monster.EntityBlaze;
import net.minecraft.entity.monster.EntityMagmaCube;
import net.minecraft.entity.monster.EntityPigZombie;
import net.minecraft.entity.monster.EntitySkeleton;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
public class MapGenNetherBridge extends MapGenStructure
{
private List spawnList = new ArrayList();
private static final String __OBFID = "CL_00000451";
public MapGenNetherBridge()
{
this.spawnList.add(new BiomeGenBase.SpawnListEntry(EntityBlaze.class, 10, 2, 3));
this.spawnList.add(new BiomeGenBase.SpawnListEntry(EntityPigZombie.class, 5, 4, 4));
this.spawnList.add(new BiomeGenBase.SpawnListEntry(EntitySkeleton.class, 10, 4, 4));
this.spawnList.add(new BiomeGenBase.SpawnListEntry(EntityMagmaCube.class, 3, 4, 4));
}
public String getStructureName()
{
return "Fortress";
}
public List getSpawnList()
{
return this.spawnList;
}
protected boolean canSpawnStructureAtCoords(int p_75047_1_, int p_75047_2_)
{
int k = p_75047_1_ >> 4;
int l = p_75047_2_ >> 4;
this.rand.setSeed((long)(k ^ l << 4) ^ this.worldObj.getSeed());
this.rand.nextInt();
return this.rand.nextInt(3) != 0 ? false : (p_75047_1_ != (k << 4) + 4 + this.rand.nextInt(8) ? false : p_75047_2_ == (l << 4) + 4 + this.rand.nextInt(8));
}
protected StructureStart getStructureStart(int p_75049_1_, int p_75049_2_)
{
return new MapGenNetherBridge.Start(this.worldObj, this.rand, p_75049_1_, p_75049_2_);
}
public static class Start extends StructureStart
{
private static final String __OBFID = "CL_00000452";
public Start() {}
public Start(World p_i2040_1_, Random p_i2040_2_, int p_i2040_3_, int p_i2040_4_)
{
super(p_i2040_3_, p_i2040_4_);
StructureNetherBridgePieces.Start start = new StructureNetherBridgePieces.Start(p_i2040_2_, (p_i2040_3_ << 4) + 2, (p_i2040_4_ << 4) + 2);
this.components.add(start);
start.buildComponent(start, this.components, p_i2040_2_);
ArrayList arraylist = start.field_74967_d;
while (!arraylist.isEmpty())
{
int k = p_i2040_2_.nextInt(arraylist.size());
StructureComponent structurecomponent = (StructureComponent)arraylist.remove(k);
structurecomponent.buildComponent(start, this.components, p_i2040_2_);
}
this.updateBoundingBox();
this.setRandomHeight(p_i2040_1_, p_i2040_2_, 48, 70);
}
}
}