protected void func_35298_a(World world, StructureBoundingBox structureboundingbox, java.util.Random random, int i, int j, int k, int l)
        {
            int i1 = func_35306_a(i, k);
            int j1 = func_35300_a(j);
            int k1 = func_35296_b(i, k);

            if (structureboundingbox.isInBbVolume(i1, j1, k1))
            {
                BlockHelper.PlaceDoor(world, i1, j1, k1, l, (byte)Blocks.DoorWooden);
            }
        }
        protected void func_35314_b(World world, int i, int j, int k, StructureBoundingBox structureboundingbox)
        {
            int l  = func_35306_a(i, k);
            int i1 = func_35300_a(j);
            int j1 = func_35296_b(i, k);

            if (!structureboundingbox.isInBbVolume(l, i1, j1))
            {
                return;
            }
            for (; !world.IsAirBlock(l, i1, j1) && i1 < world.worldYMask; i1++)
            {
                world.SetBlock(l, i1, j1, 0, 0);
            }
        }
        protected void func_35303_b(World world, int i, int j, int k, int l, int i1, StructureBoundingBox structureboundingbox)
        {
            int j1 = func_35306_a(k, i1);
            int k1 = func_35300_a(l);
            int l1 = func_35296_b(k, i1);

            if (!structureboundingbox.isInBbVolume(j1, k1, l1))
            {
                return;
            }
            for (; (world.IsAirBlock(j1, k1, l1) || BlockData.IsLiquid(world.GetBlock(j1, k1, l1))) && k1 > 1; k1--)
            {
                world.SetBlock(j1, k1, l1, (byte)i, (byte)j);
            }
        }
        protected int func_35297_a(World world, int i, int j, int k, StructureBoundingBox structureboundingbox)
        {
            int l  = func_35306_a(i, k);
            int i1 = func_35300_a(j);
            int j1 = func_35296_b(i, k);

            if (!structureboundingbox.isInBbVolume(l, i1, j1))
            {
                return(0);
            }
            else
            {
                return(world.GetBlock(l, i1, j1));
            }
        }
        protected void func_35309_a(World world, int i, int j, int k, int l, int i1, StructureBoundingBox structureboundingbox)
        {
            int j1 = func_35306_a(k, i1);
            int k1 = func_35300_a(l);
            int l1 = func_35296_b(k, i1);

            if (!structureboundingbox.isInBbVolume(j1, k1, l1))
            {
                return;
            }
            else
            {
                world.SetBlock(j1, k1, l1, (byte)i, (byte)j);
                return;
            }
        }
        protected void func_35299_a(World world, StructureBoundingBox structureboundingbox, java.util.Random random, int i, int j, int k, StructurePieceTreasure[] astructurepiecetreasure,
                                    int l)
        {
            int i1 = func_35306_a(i, k);
            int j1 = func_35300_a(j);
            int k1 = func_35296_b(i, k);

            if (structureboundingbox.isInBbVolume(i1, j1, k1) && world.GetBlock(i1, j1, k1) != (byte)Blocks.Chest)
            {
                world.SetBlock(i1, j1, k1, (byte)Blocks.Chest);
                Container tileentitychest = world.GetBlockContainer(i1, j1, k1);
                if (tileentitychest != null && tileentitychest is ContainerChest)
                {
                    func_35311_a(random, astructurepiecetreasure, (ContainerChest)tileentitychest, l);
                }
            }
        }
 protected void func_35309_a(World world, int i, int j, int k, int l, int i1, StructureBoundingBox structureboundingbox)
 {
     int j1 = func_35306_a(k, i1);
     int k1 = func_35300_a(l);
     int l1 = func_35296_b(k, i1);
     if(!structureboundingbox.isInBbVolume(j1, k1, l1))
     {
         return;
     } else
     {
         world.SetBlock(j1, k1, l1, (byte)i, (byte)j);
         return;
     }
 }
 protected void func_35314_b(World world, int i, int j, int k, StructureBoundingBox structureboundingbox)
 {
     int l = func_35306_a(i, k);
     int i1 = func_35300_a(j);
     int j1 = func_35296_b(i, k);
     if(!structureboundingbox.isInBbVolume(l, i1, j1))
     {
         return;
     }
     for(; !world.IsAirBlock(l, i1, j1) && i1 < world.worldYMask; i1++)
     {
         world.SetBlock(l, i1, j1, 0, 0);
     }
 }
 protected void func_35303_b(World world, int i, int j, int k, int l, int i1, StructureBoundingBox structureboundingbox)
 {
     int j1 = func_35306_a(k, i1);
     int k1 = func_35300_a(l);
     int l1 = func_35296_b(k, i1);
     if(!structureboundingbox.isInBbVolume(j1, k1, l1))
     {
         return;
     }
     for(; (world.IsAirBlock(j1, k1, l1) || BlockData.IsLiquid(world.GetBlock(j1, k1, l1))) && k1 > 1; k1--)
     {
         world.SetBlock(j1, k1, l1, (byte)i, (byte)j);
     }
 }
 protected void func_35299_a(World world, StructureBoundingBox structureboundingbox, java.util.Random random, int i, int j, int k, StructurePieceTreasure[] astructurepiecetreasure, 
         int l)
 {
     int i1 = func_35306_a(i, k);
     int j1 = func_35300_a(j);
     int k1 = func_35296_b(i, k);
     if(structureboundingbox.isInBbVolume(i1, j1, k1) && world.GetBlock(i1, j1, k1) != (byte)Blocks.Chest)
     {
         world.SetBlock(i1, j1, k1, (byte)Blocks.Chest);
         Container tileentitychest = world.GetBlockContainer(i1, j1, k1);
         if (tileentitychest != null && tileentitychest is ContainerChest)
         {
             func_35311_a(random, astructurepiecetreasure, (ContainerChest)tileentitychest, l);
         }
     }
 }
 protected void func_35298_a(World world, StructureBoundingBox structureboundingbox, java.util.Random random, int i, int j, int k, int l)
 {
     int i1 = func_35306_a(i, k);
     int j1 = func_35300_a(j);
     int k1 = func_35296_b(i, k);
     if(structureboundingbox.isInBbVolume(i1, j1, k1))
     {
         BlockHelper.PlaceDoor(world, i1, j1, k1, l, (byte)Blocks.DoorWooden);
     }
 }
 protected int func_35297_a(World world, int i, int j, int k, StructureBoundingBox structureboundingbox)
 {
     int l = func_35306_a(i, k);
     int i1 = func_35300_a(j);
     int j1 = func_35296_b(i, k);
     if(!structureboundingbox.isInBbVolume(l, i1, j1))
     {
         return 0;
     } else
     {
         return world.GetBlock(l, i1, j1);
     }
 }
 protected void func_35299_a(World world, StructureBoundingBox structureboundingbox, java.util.Random random, int i, int j, int k, StructurePieceTreasure[] astructurepiecetreasure, 
         int l)
 {
     int i1 = func_35306_a(i, k);
     int j1 = func_35300_a(j);
     int k1 = func_35296_b(i, k);
     if(structureboundingbox.isInBbVolume(i1, j1, k1) && world.GetBlock(i1, j1, k1) != (byte)Blocks.Chest)
     {
         world.SetBlock(i1, j1, k1, (byte)Blocks.Chest);
         // TODO
         /*TileEntityChest tileentitychest = (TileEntityChest)world.getBlockTileEntity(i1, j1, k1);
         if(tileentitychest != null)
         {
             func_35311_a(random, astructurepiecetreasure, tileentitychest, l);
         }*/
     }
 }