Exemplo n.º 1
0
 @Override
 public void grow(World world, BlockPos pos, IBlockState id) {
   BlockPos coord;
   for (int attempt = 0; attempt < growthAttempt; attempt++) {
     coord = Utils.findRandomNeighbour(pos, growthRadius);
     if (id.getBlock().canPlaceBlockAt(world, coord)
         && !world.getBlockState(coord).getBlock().getMaterial().isLiquid()) {
       if (id.getBlock() instanceof BlockDoublePlant) {
         if (world.getBlockState(pos.down()).equals(id)) {
           pos = pos.down();
         }
         ((BlockDoublePlant) id)
             .placeAt(world, coord, ((BlockDoublePlant) id).getVariant(world, pos), 3);
         return;
       }
       world.setBlockState(coord, id);
       return;
     }
   }
 }