I just pushed a huge commit to Chunky — 222 changed files with 7257 additions and 2022 deletions! Here’s the short list of changes:

Added launcher allows specifying minecraft directory and Java runtime can launch any locally available version of Chunky has a debug console has an online updater still allows headless mode

Added First-Time Setup Dialog

Added custom Json library generated with JastAdd

Split Chunky into separate eclipse projects added separate launcher project added separate common library project

Update text field of adjuster on clamp

Use JSON to store Chunky settings

Highlight blocks targeted in render preview

Implemented stained glass block

Refactored rendering added WorkerState class to keep thread-local worker state

Scene Selector now shows canvas size, current SPP and total render time

Added seed display in World Selector

Added ESC shortcut to close dialogs

Fixed error in scene name truncation

Fixed test renderer to work with new camera

Scenes now stored in Json format (SDF 2)

Changed sample buffer into a flat array

Made dump frequency editable

Implemented save snapshot checkbox

Added Acacia and Dark Oak

Added packed ice

Normally I would have publish one change at a time, but there were some big changes I started working on that were not finished until now that worked as show stoppers. The reason is simply my desire to not leave the public repository in a blatantly broken state – you should be able to check out any commit and know that it has no major bugs.

Anyway, that’s a big list of changes and some of them are not backward compatible with previous Chunky versions so I’ve decided that this will go into version 1.2. One important thing that has changed is the Scene Description Format (SDF) which is now based on JSON. SDF used to be called “Chunk View Format” and was based on NBT – the same data format used for Minecraft levels. The problem with NBT is that it is a binary format, which makes NBT files difficult to edit since you need a special tool, rather than just a text editor. I want SDF files to be easily editable so that people can simply tweak something in their scene by editing the SDF file for it. To make this even more obvious I decided to use the ‘.json’ extension for SDF files.

Here is a short snippet from a file using the new Scene Description Format:

{ "sdfVersion": 2, "name": "test_1.7.4", "width": 400, "height": 400, "exposure": 1.0, "postprocess": 1, "renderTime": 14823, ...

Another nice thing about JSON is that the JSON format is very widely used and many scripting languages can handle JSON without much hassle. I hope that this will make it simpler for people to script their scenes and do for example animation just using a script that runs Chunky as a batch process.

I have some things left to do before I will start making release candidates. I want to add more MC 1.7.2 features such as stained glass panes and the new biome colors. I also intend to change the way chunks are represented internally in Chunky. I want to move from the Octree data structure currently used to something more like the structure which Minecraft worlds are saved in. I’ll write more about the Octree stuff in another blog post.