As chunk regeneration restores a chunk to it's original state, a plugin could use it to compare the current and the original, then if it detects a certain radius of natural chunks, delete them. Even if it compares a single chunk every minute to keep the server load low, the end result could shave some unused parts off of the world. Optionally it could scan for non-natural occurring blocks (furnace, workbench, etc) to skip the chunk comparing. Or even tolerate some types and ignore them (dirt, empty chest). This might remove large chunks of unused world, allowing for their recreation at a later time. Sure a border plugin could keep players in a small confined space. But you only need to undo the incidental: lets see how far I can go. Of course any server admin would be wise to make a back-up before running this type of plug-in. A full scan could also move the chunks and other original related files to a back-up folder. To sum it all up: - Scan for natural chunks, start from borders (random unused arms / loops on your map will be culled) - Delete clusters/chains of empty chunks - ignore some alterations (percentage, tunnels, dirt, empty chest) - do not touch when encountering certain blocks (rails, chest, workbench, furnace) - ignore radius around certain other blocks (diamondblock, stairs) - heat map that remembers which chunks were walked in, and which ones weren't (google: heatmap)
I had a similar idea, and found this post when seeing if it was already done, but if you use something like LogBlock, that already is collecting changes, someone could just write a program to read that data and give a list of what chunks to delete, then delete them if you choose. http://forums.bukkit.org/threads/in...se-damn-griefers-935.4543/page-77#post-427762