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 var6 = StructureVillagePieces.getStructureVillageWeightedPieceList(par2Random, par5); ComponentVillageStartPiece var7 = new ComponentVillageStartPiece(par1World.getWorldChunkManager(), 0, par2Random, (par3 << 4) + 2, (par4 << 4) + 2, var6, par5); this.components.add(var7); var7.buildComponent(var7, this.components, par2Random); ArrayList var8 = var7.field_74930_j; ArrayList var9 = var7.field_74932_i; int var10; while (!var8.isEmpty() || !var9.isEmpty()) { StructureComponent var11; if (var8.isEmpty()) { var10 = par2Random.nextInt(var9.size()); var11 = (StructureComponent)var9.remove(var10); var11.buildComponent(var7, this.components, par2Random); } else { var10 = par2Random.nextInt(var8.size()); var11 = (StructureComponent)var8.remove(var10); var11.buildComponent(var7, this.components, par2Random); } } this.updateBoundingBox(); var10 = 0; Iterator var13 = this.components.iterator(); while (var13.hasNext()) { StructureComponent var12 = (StructureComponent)var13.next(); if (!(var12 instanceof ComponentVillageRoadPiece)) { ++var10; } } this.hasMoreThanTwoComponents = var10 > 2; } /** * currently only defined for Villages, returns true if Village has more than 2 non-road components */ public boolean isSizeableStructure() { return this.hasMoreThanTwoComponents; } }