IInventory is one thing, yes, but then you have oddballs like Carpenter's Blocks storing items outside of an inventory, or multiparts which are built out of five or ten items. getDrops() often works, but not always - we also don't want to keep things like energy so you can't turn empty batteries...