I've played around a bit... Started out with Rasmus' develop branch, created a new branch from that and finally rebased it on top of the current develop branch. That was my starting point.
From there I first created a simple interface class for tools (currently only supporting methods for right and left clicks) and used this to create a class for the basic put-block-remove-block-tool. I used this concept to replace the switch in the tool belt (I think you had something like this planned there). It is not perfect, but it is a starting point for my prototype.
Then I created another tool which allows the selection of an arbitrary amount of blocks. I did not use this for anything specific though, but it helped me to create a simple class to render a block grid. This "monster" is very unoptimized at the moment, but it can be extended/modified very easily. I also modified some of the rendering interface stuff to support the easier addition of renderable objects at any time (like this block selection grid).
All this helped me to create the first somewhat useful tool: the rectangle selection tool. Select two blocks and all blocks intersected by the rectangle defined by those blocks gets selected while air blocks are ignored. I extended this tool to support the generation of simple blueprints and the "pasting" of a previously selected blueprint. Nothing gets saved to the disk at the moment, but this can be easily added.
So... Rasmus, please take a quick look at this concept. Maybe it is enough to get you started playing around a bit? You could evaluate combining the saving of the blueprints with Groovy and ConfigSlurper (as you mentioned in the other thread). If you give me some information on how those blueprints should be structured etc. I can continue to work on that, of course.
I've recorded a small video showing off this prototype. I'll add this here as soon as its finished uploading.
Ah and the branch is available in our repository of course. 
From there I first created a simple interface class for tools (currently only supporting methods for right and left clicks) and used this to create a class for the basic put-block-remove-block-tool. I used this concept to replace the switch in the tool belt (I think you had something like this planned there). It is not perfect, but it is a starting point for my prototype.
Then I created another tool which allows the selection of an arbitrary amount of blocks. I did not use this for anything specific though, but it helped me to create a simple class to render a block grid. This "monster" is very unoptimized at the moment, but it can be extended/modified very easily. I also modified some of the rendering interface stuff to support the easier addition of renderable objects at any time (like this block selection grid).
All this helped me to create the first somewhat useful tool: the rectangle selection tool. Select two blocks and all blocks intersected by the rectangle defined by those blocks gets selected while air blocks are ignored. I extended this tool to support the generation of simple blueprints and the "pasting" of a previously selected blueprint. Nothing gets saved to the disk at the moment, but this can be easily added.
So... Rasmus, please take a quick look at this concept. Maybe it is enough to get you started playing around a bit? You could evaluate combining the saving of the blueprints with Groovy and ConfigSlurper (as you mentioned in the other thread). If you give me some information on how those blueprints should be structured etc. I can continue to work on that, of course.
I've recorded a small video showing off this prototype. I'll add this here as soon as its finished uploading.