what i meant is that i wouldn't store the voxels in a big array for the whole world but in many separate 16x16x16 arrays with the chunks. at the beginning the world gets filled with a certain amount of chunks around the player and if the player moves more chunks get added dynamically. the landscape gets generated procedurally on the fly (but i don't have a clue about this yet) and if the player changes something then some flag gets set for the chunk. if you want to save the level then only the parameters for the procedural world generation and the chunks with manual changes need to be saved.