    001    package net.minecraft.world.gen.feature;
    002
    003    import java.util.Random;
    004    import net.minecraft.block.Block;
    005    import net.minecraft.util.Direction;
    006    import net.minecraft.util.Facing;
    007    import net.minecraft.world.World;
    008
    009    public class WorldGenVines extends WorldGenerator
    010    {
    011        public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5)
    012        {
    013            int var6 = par3;
    014
    015            for (int var7 = par5; par4 < 128; ++par4)
    016            {
    017                if (par1World.isAirBlock(par3, par4, par5))
    018                {
    019                    for (int var8 = 2; var8 <= 5; ++var8)
    020                    {
    021                        if (Block.vine.canPlaceBlockOnSide(par1World, par3, par4, par5, var8))
    022                        {
    023                            par1World.setBlockAndMetadata(par3, par4, par5, Block.vine.blockID, 1 << Direction.vineGrowth[Facing.faceToSide[var8]]);
    024                            break;
    025                        }
    026                    }
    027                }
    028                else
    029                {
    030                    par3 = var6 + par2Random.nextInt(4) - par2Random.nextInt(4);
    031                    par5 = var7 + par2Random.nextInt(4) - par2Random.nextInt(4);
    032                }
    033            }
    034
    035            return true;
    036        }
    037    }