initial area
a day late to commit .. or 2 ? but whatever
This commit is contained in:
60
ReadMe.md
Normal file
60
ReadMe.md
Normal file
@@ -0,0 +1,60 @@
|
||||
# Immortality-Bae-travelmap
|
||||
Immortality-Bae is a private family server.
|
||||
|
||||
## 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.
|
||||
- `box` can be an array of width/height to draw a rectangular shape instead
|
||||
- `radius` can be an array of x/z radii to draw an ellipse instead of a circle
|
||||
- `mode` can be "line" to draw an outline instead of filling
|
||||
- `image` can be a file path, in which case `size` must be an array of desired
|
||||
width/height
|
||||
- (path relative to the JSON file? or relative to the executable?)
|
||||
|
||||
Images are only loaded if they will be displayed.
|
||||
|
||||
## Example JSON
|
||||
|
||||
```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]
|
||||
]
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user