Been developing this tool off and on since 2014 and it's to a point now I feel it's good enough to share.
jTrades is a Java Jar 3rd party tool for the Java version of Minecraft. It generates topological type maps of the discovered world and then maps entities on it. Entities include all mobs, containers, items, XP orbs, villagers, etc. It will also list out what containers are holding and what villagers are trading.
Tested in 1.12.2, but it continues to work for older parts of my world that have not yet been upgraded to the newer naming convention. I've only been able to test on Windows 7 and 10 with Java 8.
Lots of help and instructions in the readme file.
Download and unzip in any location. Run the Jar file.