Is it possible in any way (any realistic way) to be able to distinguish a naturally occuring, spawned by the map generator block from one placed by a player? Extend this idea to sand/gravel being dropped into a final spot instead of placing.
I can only imagine keeping a database of every ‘touched’ block location- if its been broken or placed, that coordinate is now ‘non-native’ (even if you break a dirt and replace it with dirt again) – or going more specific, with block-activity at that location, the first touch a dirt break… once a dirt-place occurs, then wipe the location from the db as it is ‘like default’ restored.
Does sponge and its data system provide the potential for something a bit more elegant, or would it be just as bad or worse data-storage related?