There are two types of debug. First you can use the debug mode of Eclipse (along with breakpoints as mentioned). The problem with this method is that anything that takes a long time or takes specific gameplay can be difficult to capture because if the breakpoint happens every tick you won't be able to play the game.
So the alternative is to simply use console (or logger) print statements. In each of your functions put a print statement that (a) proves which code path is executing (b) prints out any important field values.
Both of these methods essentially "trace" the code execution. Since computers are purely logical, by careful tracing you can always debug easily. You should see right away whether it is generating different ores than you expect, you should be able to trace that back to what biome it thinks it is in, and so forth.
The key point is that programmers don't really debug by reading code (especially other people's code), rather they trace the execution and also create alternative versions of the code to help isolate the problem. It will really help your modding (and general programming) ability to get used to tracing your code.