I very much enjoy the ability to add custom data to entities, tile entities, etc., but what I have always missed was a consistent way of assigning custom data to blocks. I’ve used workarounds such as placing an invisible armor stand at the location of the block and assigning custom data to that armor stand, but this solution brings obvious downsides.
It would be more than convenient if there was a standard way to assign custom data to any blocks (not just tile entities) via the Sponge API. I propose the following: Since there is a way to store data about the history of blocks (who placed / destroyed it), why not use this way of storage for custom data? Note that this way of storage would leave the data of tile entities unchanged. Also note that I know close to nothing how the “block history” is currently managed in the internals, so this might not be possible without major refactorings.
Edit: Also, I don’t think this is the “most overlooked aspect”, but I thought I needed to get this idea out there, sorry for kind of hijacking the thread.