hiding option, readme

This commit is contained in:
2025-11-04 22:35:21 -07:00
parent cf5df577f5
commit f879f9afa8
3 changed files with 53 additions and 10 deletions

37
ReadMe.md Normal file
View File

@@ -0,0 +1,37 @@
# 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.
- TODO: Make drag and drop loading of a JSON file possible. :D
- TODO: Make it not error with no map file.
## 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]
]
}
```

View File

@@ -5,13 +5,15 @@
"TestC": [300, 0, -200, true],
"TestE": [1200, 0, 200, "Displayed Name"],
"TestFarLeft": [-200, 5000, 50],
"TestFarBottomRight": [1200, 0, 2000, true]
"TestFarBottomRight": [1200, 0, 2000, true],
"Hidden Node": [0, 0, 0, false]
},
"edges": [
["TestA", "TestB"],
["TestA", "TestC"],
["TestB", "TestC"],
["TestC", "TestE"],
["TestE", "TestFarLeft"]
["TestE", "TestFarLeft"],
["Hidden Node", "TestC", false]
]
}

View File

@@ -57,6 +57,7 @@ function love.draw()
error("Edge " .. index .. " names nonexistent node(s): " .. edge[1] .. "->" .. node_a .. ", " .. edge[2] .. "->" .. node_b)
end
if not (edge[3] == false) then
love.graphics.setColor(0.33, 0.33, 0.33, 1)
love.graphics.line(node_a[1], node_a[3], node_b[1], node_b[3])
@@ -67,11 +68,14 @@ function love.draw()
love.graphics.setColor(0.67, 0.67, 0.67, 1)
love.graphics.print(distance .. "m", center_x, center_z - font:getHeight() / 2, 0, 1 / scale, 1 / scale)
end
end
-- draw nodes and label them
love.graphics.setColor(1, 1, 1, 1)
for name, node in pairs(nodes) do
if not (node[4] == false) then
love.graphics.circle("fill", node[1], node[3], node_radius / scale)
end
if node[4] then
if type(node[4]) == "string" then