World6-travelmap
I made a little program for displaying a simplistic graph of nodes and edges to make a travel network with calculated distances... specifically for my Minecraft World.
Data must be in a map.json file. nodes is an object with named arrays of info.
Each node is an x, y, and z position. The optional 4th item is true to
display the node's name, a string to display that as the node name, or false
to completely hide a node. edges is an array of arrays of two names of nodes.
An optional 3rd item can be set to false to hide an edge, or a string for a
custom label. edges can be nonexistent.
Pan with WASD or arrow keys.
Zoom with +/- keys.
r to reload the default map.
You can drag and drop a JSON file to load it.
Both nodes and edges can have an extra object with metadata, some of which is
used by this program. An array called offset will adjust the positioning of
labels. An array called color will set the color via 0 to 1 RGBA values.
Added areas which are exactly like nodes except that they always draw a white
label and can have a custom radius specified. Drawn between edges and nodes.
Use transparency. 25% works well.
- TODO Options: box instead of circle, line instead of fill, ovals
Example JSON
{
"nodes": {
"TestA": [100, 0, 100],
"TestB": [150, 0, 200],
"TestC": [300, 0, -200, true],
"TestE": [1200, 0, 200, "Displayed Name"],
"TestFarLeft": [-200, 5000, 50],
"TestFarBottomRight": [1200, 0, 2000, true],
"Hidden Node": [0, 0, 0, false]
},
"edges": [
["TestA", "TestB"],
["TestA", "TestC"],
["TestB", "TestC"],
["TestC", "TestE"],
["TestE", "TestFarLeft"],
["Hidden Node", "TestC", false]
]
}