
The white top of the line shows the time in the world update part of the code. This includes preparing the objects to be drawn, sending them to the GPU and the GPU rendering the frame.

The red or green part of the line shows the time elapsed in the rendering part of the code, where all objects are drawn on the screen. The line is green if the FPS is above 60 or red otherwise. The height of the line is the time needed to show the frame. So be patient and if you can, go and donate to the projects which make Minecraft modding possible.Įvery vertical line in the lagometer is one frame. As the MCP project shows after every release.

Sometimes the only way to find what a new field does is to run Minecraft, change it's value in the debugger and see what happens. For this they have to be analyzed, where and how they are used and so on. This all is only to bring the source to compilable state, equivalent to the last decompiled version. Even trivial changes like changing field visibility or adding method parameters require manual intervention. Minecraft 1.2 has 959 classes and many of them have to be manually analyzed, fixed and rechecked. Some bigger classes like Block or World have received a lot of changes in 1.2 (new world format, new blocks, etc.).

This means finding at which place the new elements are inserted, shifting the rest of the elements and decompiling again to see if the fix is working. When new fields or methods are added, the obfuscation schema is shifting and has to be manually corrected.

Last week I was experimenting with decompiling the latest snapshot (12w08a) and the results were mixed.ĭecompiling the snapshot and bringing it to a compilable state is a lot of work. The new MCP is changing the method parameters and local variable names, so almost everything had to be merged manually.
