Read the configuration of the blocks from an input file. Replace the current world with the read configuration. Specific command needs to be implemented allowing this to happen at any point;
Allow for block movements (command needed);
Allow for blocks being cleared (command needed);
Allow for blocks being filled with a specified volume. Blocks should be cleared up in order to be filled (command needed);
Allow for UNDO and REDO of commands;
Limit the space on the floor and the stack's height;
Store the history of operations in a HSQL database;
Display the historical operations between two dates (command needed).
I have been programming for over 10 years and Java is one of my main programming languages, and I believe I can help you with this. I would like to know more details about the project. Questions are in the PM. I guarantee good clean commented code.