package net.minecraft.world.gen.structure;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Random;
import net.minecraft.world.World;
class StructureVillageStart extends StructureStart
{
/** well ... thats what it does */
private boolean hasMoreThanTwoComponents = false;
public StructureVillageStart(World par1World, Random par2Random, int par3, int par4, int par5)
{
ArrayList arraylist = StructureVillagePieces.getStructureVillageWeightedPieceList(par2Random, par5);
ComponentVillageStartPiece componentvillagestartpiece = new ComponentVillageStartPiece(par1World.getWorldChunkManager(), 0, par2Random, (par3 << 4) + 2, (par4 << 4) + 2, arraylist, par5);
this.components.add(componentvillagestartpiece);
componentvillagestartpiece.buildComponent(componentvillagestartpiece, this.components, par2Random);
ArrayList arraylist1 = componentvillagestartpiece.field_74930_j;
ArrayList arraylist2 = componentvillagestartpiece.field_74932_i;
int l;
while (!arraylist1.isEmpty() || !arraylist2.isEmpty())
{
StructureComponent structurecomponent;
if (arraylist1.isEmpty())
{
l = par2Random.nextInt(arraylist2.size());
structurecomponent = (StructureComponent)arraylist2.remove(l);
structurecomponent.buildComponent(componentvillagestartpiece, this.components, par2Random);
}
else
{
l = par2Random.nextInt(arraylist1.size());
structurecomponent = (StructureComponent)arraylist1.remove(l);
structurecomponent.buildComponent(componentvillagestartpiece, this.components, par2Random);
}
}
this.updateBoundingBox();
l = 0;
Iterator iterator = this.components.iterator();
while (iterator.hasNext())
{
StructureComponent structurecomponent1 = (StructureComponent)iterator.next();
if (!(structurecomponent1 instanceof ComponentVillageRoadPiece))
{
++l;
}
}
this.hasMoreThanTwoComponents = l > 2;
}
/**
* currently only defined for Villages, returns true if Village has more than 2 non-road components
*/
public boolean isSizeableStructure()
{
return this.hasMoreThanTwoComponents;
}
}