Well, you never declare generateIn anywhere...
You do however have a variable called blockspawn, of which you need to make a Predicate<IBlockState> and pass that instead of generateIn. You can use BlockMatcher.forBlock(Block) to create a Predicate<IBlocKState>.