From cb25b28fbfae0da3f6881e5e797f0ba36263db70 Mon Sep 17 00:00:00 2001 From: Evan Pratten Date: Fri, 2 Feb 2024 13:17:02 -0500 Subject: [PATCH] Add station info --- static/map-data/icons/house.png | Bin 0 -> 727 bytes static/map-data/icons/subway.png | Bin 0 -> 4998 bytes static/map-data/icons/world.png | Bin 0 -> 910 bytes .../mc-sdf-org/generate_tile_list.py | 32 -- static/map-data/minecraft/mc-sdf-org/map.js | 179 +++--- .../minecraft/mc-sdf-org/markers.json | 539 ++++++++++++++++++ .../minecraft/mc-sdf-org/waypoints.json | 0 7 files changed, 609 insertions(+), 141 deletions(-) create mode 100644 static/map-data/icons/house.png create mode 100644 static/map-data/icons/subway.png create mode 100644 static/map-data/icons/world.png delete mode 100644 static/map-data/minecraft/mc-sdf-org/generate_tile_list.py create mode 100644 static/map-data/minecraft/mc-sdf-org/markers.json delete mode 100644 static/map-data/minecraft/mc-sdf-org/waypoints.json diff --git a/static/map-data/icons/house.png b/static/map-data/icons/house.png new file mode 100644 index 0000000000000000000000000000000000000000..da024e5ad48ea2d6949c58e26dec214719219781 GIT binary patch literal 727 zcmV;|0x127P)Oc{#|VS_=ii(Oca z4V)THou7XC{q?@DA`=ZdaQM!5&U1dgbDocAng&7$T1m(c4JzPy12XY0JcV-Jrz7&m z>!a7)EY5Ou_=f~Xp;=D2Vd=kw;1y_MMf15_R#YU_wH;@uce{rWQNb(cvcSInVGNCh zz-EgS91z1UsGeVt)yAInw{jWoUYirC4WRR+6X)-SAqwkU9S>&FWgEh$tKCra?Pxgx zEr7Y{C=S}4u-^(o+*-rAr)eIGJrZH}e?Uy}LYcYTdIC1~{(+0I-k3lkyMdCB#q!E; zsu`3Dn-Fp-oEn=%r|km9J#@J>A#9T`J@j$l4E%2w@N;#MUPTY1(Fk*!o`b}S0!fmf zsVa_ipT_v@0U)`E`yq|+PxzBZq{|Z+&gIvkXasBT?_hH&4qffKD(z>n4&t!)H5kTV z4ZVssdyaDz!dbR-MoNO&LjG41c$sjFpOF$@|?%pmiR*{ zm*^sk0Nt`g$y3QEu{=G(gU7wkxv#qHA{dtCG+aSd%5+qjszS*E$U+iryQ&i~oB3D_ z3`4O^XH*oqszl~sNyxxt-oskf19N{*ukcRLC&C~!&C)PoB6)PKhsVnj%_MXEEeV$VhIP)8L`^; z5HFVWb+&MPp9AvO70LyPVukqzBGrE99;$ose?obS1k3#^zyL|pISzYTjoknM002ov JPDHLkV1g@@Q*QtO literal 0 HcmV?d00001 diff --git a/static/map-data/icons/subway.png b/static/map-data/icons/subway.png new file mode 100644 index 0000000000000000000000000000000000000000..eac0008519a09c01885fa8d8705a0dfdbca3be3d GIT binary patch literal 4998 zcmeHKc~nzp77qbTger?Dpr|2I#mY-wR+0x1kg!AvAR=G^@AOVjH(ov+M z0y;=XQCxr-6sS&*9j#a@Sa$_ckrr^Lty4wR;sRy91XMiJbLM!?^goll?SA+E?stE8 zIe8nRBg4koO|~PENaG~o;uvssG#}J4;5_}w5DG4jb7B*S7}QA9>9tBc9itK1I*f*y za3zUk>QFCCbUsO=4)nW-$mBiKzV}D2OnLg;_T#ecW5SZA)soSnRb98RwTsDBN&5=c z*u~ejySTWu9^Le9@-ZvQ_JLa;?LHbFHCgF&DPX{9W@Wp}e*1+>MD^!$&t6=n5evp2 zn(p4UqZ)C#MHSCV-RraE)4s1h!`3f3+urC>TYmqH@o$H-v|9=cF6= z0}tla@>s~a+JkLv_O_=_{dD5Ul=&%z$l38%ywep?6ZWVA=E>72<>FGm!D&tf1r49P zJX+xs5wTb#aUH1B@pAfC(|WU;`>rQSNhGV!@ZjKRNpSG%;6cbcRu+lEPX@ZJ>#i)I zPqg*RM-3uv8a}rQ+c^dTdcnWUM?VO)gZ>1LoTKn-Bn?#t4*VQm1PSh)G1Z;3DAO zEN0Sa78N2*L{E@L(}J~njK*bf888%L!n4@)xpp*vy+Vn^h(kvpz>|ocN)S4P$ut^` z3?ql3)vK5+p-{+#*-SPY0veDZTSK5GNMo2`h8V^WV+Oe%*Aci@Lo;KdGHoUyqSL`T z?e+fDI;r#xyv8uX0^oybLUl|Q17@n#%+VGGA|wldjBMx+Eex@srXY@vZ`5WAKv|q<=Q3hI4DI(U&GtJwRh(&a>e?*~`;|j!b%Ti!m9+$_0lnOou zaak+@BvcAzkS~XWa$uH%&*yPQK}j?Q0@cVdGZX-4-~b2a!Yr7>Lm`DPPY7{2N-iWs zeNjlxm9y9a4(bbYu~86FdK^?Gnm&40W+(-KVxt0~TrP(p0bizoxB`p^31Oixgvxj_ zjK$*ceNmnTN+Cx=wR$xQ(uu246~@$QRF(xZ;Yd)lL_}vZ;J1?Kbd*p60}(v}*JPUB zF2v$$Y!QK)*<|^`e1VX|h6OAE3+4`oZNZDf^afCgW=s~$;P5Tx=CmLn7(gs)u2TSD zk%L%}U_FKsT79fmn=Yc8A!ugHH_KAcP70Jj#VCORP?*g{U^e*0vcMTeU>*eXz|C8I ztpZnO|1WKG^U(ZrIlzjOH&}Id^iLHnuRGWegW3- zk~|gFs4y@+M#}ZI9RGt-kfQ=vhGI$xV{?=sf4*Eupip8EhXpH?s8Gp;W%75?4O%5( zMDT_K!0%ZUi^Nb>jPcy#lU+hf2ghxbiEe? z@1^{qy8dr;*}Z+8!ZhGtkP*BrH9fC%x*@7@JX~_KDeY~m!NXF{Iml#MS#tide zW!fK*1%wnrA`PMZL?%0tsLyymw~$EIWQjN^R&Y*w`JBch#I5=9>cyGQh^R~Ljr?+| zyN#O{|F2F|VUt&bSN;Mo8tpH(4&VCG0(;5%t|_?*_4I;3nUj-yk)Y^yyU)J`N$Kg< z4b7bL75z^S7L04To4E7B3rWuef8q*9bOhaDnR*#;k1^d_BiOcU>S*g6FGd^Kd;6?X}Bj->8$@$CId3!UKy(s^2^8KDl zZ|dhYD@?KVWw&2G^V_krtf#IpIVstTdT6erjq~@?GlflGZa(yN{rQ2X9tSTU`tpdF z9)o0*?wX{TQ0Y|mnRn^ntSs5)1UvTCJuP#0FAR{~saecOHWkhb+PknV&CjFx2k$8{ zb`^V4b2g?6DQ2Ccmv>ik=G(IT1#ce+03CGD+VcHi{Kt735KPKOF& zZI!6_?vjUPiK*G;9S^;a@9UyWD%Ff#^!sJt@`K;Tfz71^3MAhl`ltm6!@Uz?5 zQ*6iPoofDacISbOb+$!n&-$;&Q%g!zlRnS8Jh$VSdv9LJkX4+0N@w)}eJf}Xk|ZQj KTstpi?SBB=?p=QX literal 0 HcmV?d00001 diff --git a/static/map-data/icons/world.png b/static/map-data/icons/world.png new file mode 100644 index 0000000000000000000000000000000000000000..8ec6efe8db788df7a44723bf685b770ed9eccd28 GIT binary patch literal 910 zcmV;919AL`P)kybVpoxM9$LykQ6L^m&OS!QF|JZU4w_2fM9#q#ZMW4{t`#3H@oXV~&mAD^ObHufGFb=8C|6^jqZ(B#XY2TR28u&x=w)WcWDKx3*DU zbefcwM@A2jwLGdOg0pf2g>?Kx-(bt$;_`C*lE}@q=^5_kG4&muso%q?p>DQReMWJ9 z6A3j$N%#sUFLYuh7Eb(|CDrRXdnWIy+C*L;C{%TETm{_f6}5{yWhtB3$wK zPnTcj%FyfF{AgQ^Xrw8xk*2iaUpkW0<0La_Qo1cdRZ*>kfGiPRd{E>|&IZPsxp4Ua z>hPHk&u=9HZxxm8JG4K);i<3f{1U7{0j8vgjuQ%rnzTOB&aZ#A5|1@vUOU~f^uwpe zgirF0Ve%ltHdnrP?0u!EY_}vye!~|;&M7Y&c5?3I?2)}+h&yAR^Z%xC)v6X&>Q!jf knP?{#SHfOB&i@E70Q(eglU)(D^Z)<=07*qoM6N<$g0&O7BLDyZ literal 0 HcmV?d00001 diff --git a/static/map-data/minecraft/mc-sdf-org/generate_tile_list.py b/static/map-data/minecraft/mc-sdf-org/generate_tile_list.py deleted file mode 100644 index 609af44..0000000 --- a/static/map-data/minecraft/mc-sdf-org/generate_tile_list.py +++ /dev/null @@ -1,32 +0,0 @@ -import re -import json -import argparse -from pathlib import Path - -ap = argparse.ArgumentParser() -ap.add_argument("type", type=str, help="Type of the map", choices=["surface", "caves", "draconic-surface"]) -args = ap.parse_args() - -TILES_DIR = Path(__file__).parent / "tiles" / args.type -tiles = list(TILES_DIR.glob("*.png")) - -TILE_PARTS_RE = re.compile(r"([\d\-]+)_([\d\-]+)_x([\d\-]+)_z([\d\-]+).png") - -for tile in tiles: - tile_name = tile.name - match = TILE_PARTS_RE.match(tile_name) - - if match: - chunk_x, chunk_z, x, z = match.groups() - - print( - json.dumps( - { - "chunk_x": int(chunk_x), - "chunk_z": int(chunk_z), - "x": int(x), - "z": int(z), - "image": tile_name - } - ) + "," - ) \ No newline at end of file diff --git a/static/map-data/minecraft/mc-sdf-org/map.js b/static/map-data/minecraft/mc-sdf-org/map.js index b4dbc3c..e0d506b 100644 --- a/static/map-data/minecraft/mc-sdf-org/map.js +++ b/static/map-data/minecraft/mc-sdf-org/map.js @@ -1,103 +1,5 @@ const TILE_SIZE = 1024; -const WAYPOINTS = { - subway_stations: [ - { x: -252, z: -433, name: "Northern & Bee Station" }, - { x: -220, z: -186, name: "Monument Place Station" }, - { x: -236, z: -181, name: "[ZOG] Zombie Grinder Station" }, - { x: -204, z: 578, name: "[PMI] Prismarine Inn Station" }, - { x: -322, z: 364, name: "[DSW] Dismal Swamp Station" }, - { x: -322, z: 41, name: "[APY] Apiary Station" }, - { x: -316, z: 43, name: "[APY] Apiary Station" }, - { x: -270, z: 5, name: "Southwest Blvd" }, - { x: -263, z: -45, name: "Southlands" }, - { x: -263, z: -85, name: "Three Sisters" }, - { x: -268, z: -127, name: "Small Hall Station" }, - { x: -256, z: -151, name: "Monument Place Station" }, - { x: -256, z: -180, name: "Zombie Grinder Station" }, - { x: -242, z: -227, name: "DOJO St Station" }, - { x: -202, z: -229, name: "New Cornick House Station" }, - { x: -184, z: -243, name: "Wintergarden Station" }, - { x: 225, z: -293, name: "[PRU] Pine Ruins Station" }, - { x: 143, z: -291, name: "[CSD] Canalside Station" }, - { x: -213, z: -264, name: "Spawn Central Station" }, - { x: -510, z: 137, name: "[SWL] Southwest Landing Station" }, - { x: -326, z: 41, name: "[APY] Apiary Station" }, - { x: -229, z: -181, name: "[ZOG] Zombie Grinder Station" }, - { x: -27, z: 63, name: "[WCP] Whitecaps Station" }, - { x: -27, z: 7, name: "[MTV] Mountain Village Station" }, - { x: -31, z: -237, name: "[ESJ] Eastside Transfer" }, - { x: -245, z: -49, name: "[SOU] Southlands Terminal" }, - { x: -218, z: -137, name: "Monument Place Station" }, - { x: -213, z: -252, name: "Spawn Central Station" }, - { x: -899, z: -607, name: "Mountain Station" }, - { x: -900, z: -4187, name: "Mensa Club Station" }, - { x: -900, z: -2320, name: "Un-Named Interchange" }, - { x: -1630, z: -2316, name: "Farmington Station" }, - { x: -2143, z: -2315, name: "Village Layover Station" }, - { x: -2135, z: -1015, name: "Twin Peaks Station" }, - { x: -2143, z: -1523, name: "Witchy Swamp Station" }, - { x: -2726, z: -186, name: "Ocean Overlook Station" }, - { x: -2111, z: -186, name: "Un-Named Interchange" }, - { x: 927, z: 1223, name: "End Portal Station" }, - { x: -1048, z: -94, name: "Craniumslows Station" }, - { x: -1048, z: -186, name: "Un-Named Interchange" }, - { x: -1375, z: -188, name: "Un-Named Interchange" }, - { x: -1372, z: 507, name: "Sheep Station" }, - { x: -1372, z: 659, name: "Cow Station" }, - { x: -1033, z: 1087, name: "Un-Named Interchange" }, - { x: -1372, z: 1088, name: "South Station" }, - { x: -1568, z: 909, name: "1567 Station" }, - { x: -1372, z: 908, name: "Magenta Station" }, - { x: -980, z: 907, name: "Un-Named Interchange" }, - { x: -891, z: -187, name: "Un-Named Interchange" }, - { x: -700, z: -185, name: "Dark Oak Station" }, - { x: -536, z: -187, name: "Cat Ave Station" }, - { x: -220, z: 1176, name: "End of Line" }, - { x: -220, z: 6, name: "Unknown Station" }, - { x: -219, z: -254, name: "Spawn Glider Port Station" }, - { x: -219, z: -375, name: "Bell Bridge / Changa Station" }, - { x: -219, z: -481, name: "Eccentric Genius Station" }, - { x: -219, z: -552, name: "Xiled Station" }, - { x: -219, z: -650, name: "Nopantsistan Station" }, - { x: -220, z: -1797, name: "[HLV] Highland Village Station" }, - { x: -187, z: -1254, name: "[MSW] Mid-Swamp Station" }, - { x: -187, z: -782, name: "[JOT] Jotaku Station" }, - { x: -197, z: -719, name: "[NSX] Northside Transfer Station" }, - { x: -217, z: -275, name: "Spawn Central Station" }, - { x: -245, z: -366, name: "[NRV] North River Station" }, - { x: -245, z: -258, name: "[CMK] Central Market Station" }, - { x: -219, z: -137, name: "Monument Place Station" }, - { x: -220, z: -137, name: "Monument Place Station" }, - { x: -120, z: -481, name: "Survey Hall Station" }, - { x: -143, z: -304, name: "Inventory Station" }, - { x: -115, z: -256, name: "Spawn Square Station" }, - { x: 63, z: -215, name: "Tek Square Station" }, - { x: -36, z: -225, name: "Manor Ave Station" }, - { x: -141, z: -225, name: "Spawn Square Station" }, - { x: -221, z: -226, name: "DOJO St Station" }, - { x: -389, z: -222, name: "Mob St Station" }, - { x: -491, z: -222, name: "[CAT] Cat Ave Station" }, - { x: -624, z: 310, name: "Garfield Station" }, - { x: -616, z: -222, name: "Castle Square Station" }, - { x: -187, z: -373, name: "[CHA] Changa Station" }, - { x: -187, z: -477, name: "[ECG] Eccentric Genius" }, - { x: -187, z: -575, name: "[XIL] Xiled Station" }, - { x: -187, z: -662, name: "[NOP] Nopantsistan Station" }, - { x: -187, z: -720, name: "[NSX] Northside Transfer" }, - { x: -245, z: -665, name: "[NPN] Nopantsistan Station" }, - { x: -245, z: -543, name: "[LAY] Laydros Station" }, - { x: -900, z: -1992, name: "Red Station" }, - { x: -72, z: -1946, name: "[NSC] North Shore City Terminal" }, - { x: -183, z: -1949, name: "[NSJ] North Shore Junction" }, - { x: -187, z: -1736, name: "[HLV] Highland Village Station" }, - { x: -187, z: -1519, name: "[NDK] North Docks Station" }, - { x: -187, z: -839, name: "[BOH] Boathouse Station" }, - { x: -189, z: -321, name: "[RST] Riverside Station" }, - { x: -213, z: -258, name: "Spawn Central Station" }, - ] -} - // Set up the map var map = L.map('map', { @@ -106,7 +8,7 @@ var map = L.map('map', { maxZoom: 3, backgroundColor: '#000000', }); -map.attributionControl.addAttribution('With help from: DraconicNEO'); +map.attributionControl.addAttribution('With help from: DraconicNEO'); // Create storage for the tile layers var layers = { @@ -134,8 +36,52 @@ fetch('/map-data/minecraft/mc-sdf-org/tiles/surface/tiles.json') }); }); +// Create overlay layers +var overlayLayers = { + "Subway Stations": L.layerGroup().addTo(map), + "Subway Lines": L.layerGroup().addTo(map), +} +var clickable_areas = L.layerGroup().addTo(map); + +// Add markers +fetch('/map-data/minecraft/mc-sdf-org/markers.json') + .then(response => response.json()) + .then(markers => { + // Subway Stations + markers.waypoints.subway_stations.forEach(waypoint => { + var marker = L.marker([waypoint.z * -1, waypoint.x], { icon: L.icon({ iconUrl: '/map-data/icons/subway.png', iconSize: [16, 16], }) }).addTo(overlayLayers["Subway Stations"]); + marker.bindPopup(waypoint.name); + }); + + // Subway Lines + markers.lines.subway_lines.forEach(line => { + // Iterate over each point pair + line.point_pairs.forEach(pair => { + var map_line_obj = L.polyline([ + [pair.from.z * -1, pair.from.x], + [pair.to.z * -1, pair.to.x], + ], { + color: line.color, + opacity: 0.5, + + }).addTo(overlayLayers["Subway Lines"]); + map_line_obj.bindPopup(line.name); + }); + }); + + // Areas + markers.areas.forEach(area => { + var bounds = [ + [area.top_left.z * -1, area.top_left.x], + [area.bottom_right.z * -1, area.bottom_right.x], + ]; + var area_obj = L.rectangle(bounds, {color:"#00000000", fillOpacity: 0.2 }).addTo(clickable_areas); + area_obj.bindPopup(area.name); + }); + }); + // Add the layers to the map -L.control.layers(layers).addTo(map); +L.control.layers(layers, overlayLayers).addTo(map); // Make the viewport look at the center of the map map.fitBounds([ @@ -145,19 +91,34 @@ map.fitBounds([ // Add a CSS rule to pixelate the image only when zoomed in map.on('zoomend', function (e) { + let element = document.querySelector('#leaflet-pixelator'); if (map.getZoom() >= 2) { - if (document.querySelector('#leaflet-pixelator')) return; + if (element) return; document.head.insertAdjacentHTML('beforeend', ''); } else { - document.querySelector('#leaflet-pixelator').remove(); + if (element) { + element.remove(); + } } }); +// Create a mouse position display +var mousePosition = L.control({ position: 'bottomleft' }); +mousePosition.onAdd = function (map) { + this._div = L.DomUtil.create('div', 'mouse-position'); + this._div.style.padding = '5px'; + this._div.style.backgroundColor = 'rgba(255, 255, 255, 0.5)'; + this._div.style.border = '1px solid #000000'; + this._div.style.borderRadius = '5px'; + this._div.style.display = 'none'; + return this._div; +}; +mousePosition.addTo(map); - -// // Add waypoints -// var subway_stations = L.layerGroup(); -// WAYPOINTS.subway_stations.forEach(waypoint => { -// var marker = L.marker([waypoint.z * -1, waypoint.x]).addTo(subway_stations); -// marker.bindPopup(waypoint.name); -// }); +// Update the mouse position display +map.on('mousemove', function (e) { + var x = Math.floor(e.latlng.lng); + var z = Math.floor(e.latlng.lat * -1); + mousePosition._div.innerHTML = `X: ${x}, Z: ${z}`; + mousePosition._div.style.display = ''; +}); diff --git a/static/map-data/minecraft/mc-sdf-org/markers.json b/static/map-data/minecraft/mc-sdf-org/markers.json new file mode 100644 index 0000000..1552b02 --- /dev/null +++ b/static/map-data/minecraft/mc-sdf-org/markers.json @@ -0,0 +1,539 @@ +{ + "waypoints": { + "subway_stations": [ + { + "x": -252, + "z": -433, + "name": "Northern & Bee Station" + }, + { + "x": -220, + "z": -186, + "name": "Monument Place Station" + }, + { + "x": -236, + "z": -181, + "name": "[ZOG] Zombie Grinder Station" + }, + { + "x": -204, + "z": 578, + "name": "[PMI] Prismarine Inn Station" + }, + { + "x": -322, + "z": 364, + "name": "[DSW] Dismal Swamp Station" + }, + { + "x": -322, + "z": 41, + "name": "[APY] Apiary Station" + }, + { + "x": -316, + "z": 43, + "name": "[APY] Apiary Station" + }, + { + "x": -270, + "z": 5, + "name": "Southwest Blvd" + }, + { + "x": -263, + "z": -45, + "name": "Southlands" + }, + { + "x": -263, + "z": -85, + "name": "Three Sisters" + }, + { + "x": -268, + "z": -127, + "name": "Small Hall Station" + }, + { + "x": -256, + "z": -151, + "name": "Monument Place Station" + }, + { + "x": -256, + "z": -180, + "name": "Zombie Grinder Station" + }, + { + "x": -242, + "z": -227, + "name": "DOJO St Station" + }, + { + "x": -202, + "z": -229, + "name": "New Cornick House Station" + }, + { + "x": -184, + "z": -243, + "name": "Wintergarden Station" + }, + { + "x": 225, + "z": -293, + "name": "[PRU] Pine Ruins Station" + }, + { + "x": 143, + "z": -291, + "name": "[CSD] Canalside Station" + }, + { + "x": -213, + "z": -264, + "name": "Spawn Central Station" + }, + { + "x": -510, + "z": 137, + "name": "[SWL] Southwest Landing Station" + }, + { + "x": -326, + "z": 41, + "name": "[APY] Apiary Station" + }, + { + "x": -229, + "z": -181, + "name": "[ZOG] Zombie Grinder Station" + }, + { + "x": -27, + "z": 63, + "name": "[WCP] Whitecaps Station" + }, + { + "x": -27, + "z": 7, + "name": "[MTV] Mountain Village Station" + }, + { + "x": -31, + "z": -237, + "name": "[ESJ] Eastside Transfer" + }, + { + "x": -245, + "z": -49, + "name": "[SOU] Southlands Terminal" + }, + { + "x": -218, + "z": -137, + "name": "Monument Place Station" + }, + { + "x": -213, + "z": -252, + "name": "Spawn Central Station" + }, + { + "x": -899, + "z": -607, + "name": "Mountain Station" + }, + { + "x": -900, + "z": -4187, + "name": "Mensa Club Station" + }, + { + "x": -1630, + "z": -2316, + "name": "Farmington Station" + }, + { + "x": -2143, + "z": -2315, + "name": "Village Layover Station" + }, + { + "x": -2135, + "z": -1015, + "name": "Twin Peaks Station" + }, + { + "x": -2143, + "z": -1523, + "name": "Witchy Swamp Station" + }, + { + "x": -2726, + "z": -186, + "name": "Ocean Overlook Station" + }, + { + "x": 927, + "z": 1223, + "name": "End Portal Station" + }, + { + "x": -1048, + "z": -94, + "name": "Craniumslows Station" + }, + { + "x": -1372, + "z": 507, + "name": "Sheep Station" + }, + { + "x": -1372, + "z": 659, + "name": "Cow Station" + }, + { + "x": -1372, + "z": 1088, + "name": "South Station" + }, + { + "x": -1568, + "z": 909, + "name": "1567 Station" + }, + { + "x": -1372, + "z": 908, + "name": "Magenta Station" + }, + { + "x": -700, + "z": -185, + "name": "Dark Oak Station" + }, + { + "x": -536, + "z": -187, + "name": "Cat Ave Station" + }, + { + "x": -220, + "z": 1176, + "name": "End of Line" + }, + { + "x": -220, + "z": 6, + "name": "Unknown Station" + }, + { + "x": -219, + "z": -254, + "name": "Spawn Glider Port Station" + }, + { + "x": -219, + "z": -375, + "name": "Bell Bridge / Changa Station" + }, + { + "x": -219, + "z": -481, + "name": "Eccentric Genius Station" + }, + { + "x": -219, + "z": -552, + "name": "Xiled Station" + }, + { + "x": -219, + "z": -650, + "name": "Nopantsistan Station" + }, + { + "x": -220, + "z": -1797, + "name": "[HLV] Highland Village Station" + }, + { + "x": -187, + "z": -1254, + "name": "[MSW] Mid-Swamp Station" + }, + { + "x": -187, + "z": -782, + "name": "[JOT] Jotaku Station" + }, + { + "x": -197, + "z": -719, + "name": "[NSX] Northside Transfer Station" + }, + { + "x": -217, + "z": -275, + "name": "Spawn Central Station" + }, + { + "x": -245, + "z": -366, + "name": "[NRV] North River Station" + }, + { + "x": -245, + "z": -258, + "name": "[CMK] Central Market Station" + }, + { + "x": -219, + "z": -137, + "name": "Monument Place Station" + }, + { + "x": -220, + "z": -137, + "name": "Monument Place Station" + }, + { + "x": -120, + "z": -481, + "name": "Survey Hall Station" + }, + { + "x": -143, + "z": -304, + "name": "Inventory Station" + }, + { + "x": -115, + "z": -256, + "name": "Spawn Square Station" + }, + { + "x": 63, + "z": -215, + "name": "Tek Square Station" + }, + { + "x": -36, + "z": -225, + "name": "Manor Ave Station" + }, + { + "x": -141, + "z": -225, + "name": "Spawn Square Station" + }, + { + "x": -221, + "z": -226, + "name": "DOJO St Station" + }, + { + "x": -389, + "z": -222, + "name": "Mob St Station" + }, + { + "x": -491, + "z": -222, + "name": "[CAT] Cat Ave Station" + }, + { + "x": -624, + "z": 310, + "name": "Garfield Station" + }, + { + "x": -616, + "z": -222, + "name": "Castle Square Station" + }, + { + "x": -187, + "z": -373, + "name": "[CHA] Changa Station" + }, + { + "x": -187, + "z": -477, + "name": "[ECG] Eccentric Genius" + }, + { + "x": -187, + "z": -575, + "name": "[XIL] Xiled Station" + }, + { + "x": -187, + "z": -662, + "name": "[NOP] Nopantsistan Station" + }, + { + "x": -187, + "z": -720, + "name": "[NSX] Northside Transfer" + }, + { + "x": -245, + "z": -665, + "name": "[NPN] Nopantsistan Station" + }, + { + "x": -245, + "z": -543, + "name": "[LAY] Laydros Station" + }, + { + "x": -900, + "z": -1992, + "name": "Red Station" + }, + { + "x": -72, + "z": -1946, + "name": "[NSC] North Shore City Terminal" + }, + { + "x": -183, + "z": -1949, + "name": "[NSJ] North Shore Junction" + }, + { + "x": -187, + "z": -1736, + "name": "[HLV] Highland Village Station" + }, + { + "x": -187, + "z": -1519, + "name": "[NDK] North Docks Station" + }, + { + "x": -187, + "z": -839, + "name": "[BOH] Boathouse Station" + }, + { + "x": -189, + "z": -321, + "name": "[RST] Riverside Station" + }, + { + "x": -213, + "z": -258, + "name": "Spawn Central Station" + } + ] + }, + "lines": { + "subway_lines": [ + { + "name": "Skytrain", + "color": "red", + "point_pairs": [ + { + "from": { + "x": 927, + "z": 1223 + }, + "to": { + "x": 927, + "z": -186 + } + }, + { + "from": { + "x": 927, + "z": -186 + }, + "to": { + "x": -4395, + "z": -186 + } + }, + { + "from": { + "x": -890, + "z": -186 + }, + "to": { + "x": -890, + "z": -322 + } + }, + { + "from": { + "x": -890, + "z": -322 + }, + "to": { + "x": -899, + "z": -322 + } + }, + { + "from": { + "x": -899, + "z": -322 + }, + "to": { + "x": -899, + "z": -4187 + } + }, + { + "from": { + "x": -1048, + "z": -186 + }, + "to": { + "x": -1048, + "z": -95 + } + }, + { + "from": { + "x": -1371, + "z": -186 + }, + "to": { + "x": -1371, + "z": 1087 + } + }, + { + "from": { + "x": -1371, + "z": 1087 + }, + "to": { + "x": -1033, + "z": 1087 + } + } + ] + } + ] + }, + "areas": [ + { + "name": "Spawn", + "top_left": { + "x": -147, + "z": -266 + }, + "bottom_right": { + "x": -126, + "z": -245 + } + } + ] +} \ No newline at end of file diff --git a/static/map-data/minecraft/mc-sdf-org/waypoints.json b/static/map-data/minecraft/mc-sdf-org/waypoints.json deleted file mode 100644 index e69de29..0000000