/// <summary>
        /// Generates structures in specified chunk next to existing structures. Does *not* generate StructureStarts.
        /// </summary>
        public virtual bool GenerateStructuresInChunk(World par1World, Random par2Random, int par3, int par4)
        {
            int  i    = (par3 << 4) + 8;
            int  j    = (par4 << 4) + 8;
            bool flag = false;
            IEnumerator <StructureStart> iterator = CoordMap.Values.GetEnumerator();

            do
            {
                if (!iterator.MoveNext())
                {
                    break;
                }

                StructureStart structurestart = iterator.Current;

                if (structurestart.IsSizeableStructure() && structurestart.GetBoundingBox().IntersectsWith(i, j, i + 15, j + 15))
                {
                    structurestart.GenerateStructure(par1World, par2Random, new StructureBoundingBox(i, j, i + 15, j + 15));
                    flag = true;
                }
            }while (true);

            return(flag);
        }
        public virtual bool Func_40483_a(int par1, int par2, int par3)
        {
            IEnumerator <StructureStart> iterator = CoordMap.Values.GetEnumerator();

label0:

            do
            {
                if (iterator.MoveNext())
                {
                    StructureStart structurestart = iterator.Current;

                    if (!structurestart.IsSizeableStructure() || !structurestart.GetBoundingBox().IntersectsWith(par1, par3, par1, par3))
                    {
                        continue;
                    }

                    IEnumerator <StructureComponent> iterator1 = structurestart.GetComponents().GetEnumerator();
                    StructureComponent structurecomponent;

                    do
                    {
                        if (!iterator1.MoveNext())
                        {
                            goto label0;
                        }

                        structurecomponent = iterator1.Current;
                    }while (!structurecomponent.GetBoundingBox().IsVecInside(par1, par2, par3));

                    break;
                }
                else
                {
                    return(false);
                }
            }while (true);

            return(true);
        }