{"id":23138379,"url":"https://github.com/encodeous/journeyroute","last_synced_at":"2026-06-20T06:32:00.929Z","repository":{"id":64919868,"uuid":"484569753","full_name":"encodeous/journeyroute","owner":"encodeous","description":"Dynamic world routing with path optimizations","archived":false,"fork":false,"pushed_at":"2022-12-17T23:58:51.000Z","size":309,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-30T03:57:04.230Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/encodeous.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-04-22T20:57:52.000Z","updated_at":"2022-06-09T14:20:49.000Z","dependencies_parsed_at":"2022-12-18T11:41:57.811Z","dependency_job_id":null,"html_url":"https://github.com/encodeous/journeyroute","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/encodeous/journeyroute","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/encodeous%2Fjourneyroute","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/encodeous%2Fjourneyroute/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/encodeous%2Fjourneyroute/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/encodeous%2Fjourneyroute/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/encodeous","download_url":"https://codeload.github.com/encodeous/journeyroute/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/encodeous%2Fjourneyroute/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34560265,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-17T13:10:46.473Z","updated_at":"2026-06-20T06:32:00.906Z","avatar_url":"https://github.com/encodeous.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JourneyRoute\n\n## `What is JourneyRoute?`\n\nWatch the JourneyRoute trailer! \u003chttps://youtu.be/d2jtADDBxpM\u003e\n\nJourneyRoute is a path-finding mod for Minecraft. With JourneyRoute, you will never get lost down a mineshaft! As you travel in a world, it will build a network of all the places you have been, and is able to generate routes between locations. *The more you explore, the better the network will become, thus the paths that JourneyRoute generate improve over time!*\n\n## `Usage`\n\nTo use JourneyRoute, simply copy the jar file into the `mods` folder. Make sure the following requirements are also met:\n\n### Requirements\n\n- Fabric Mod Loader (See \u003chttps://fabricmc.net/wiki/install\u003e)\n- Minecraft 1.18+\n- JourneyMap (See \u003chttps://www.curseforge.com/minecraft/mc-mods/journeymap/files/all?filter-game-version=2020709689%3A7499\u003e for downloads)\n- LibGui (See \u003chttps://github.com/CottonMC/LibGui/releases\u003e for downloads)\n\nTo install JourneyRoute, download the latest release from \u003chttps://github.com/encodeous/journeyroute/releases/download/latest/journeyroute-1.0.0.jar\u003e and copy it into the `mods` folder.\n\n## `Is JourneyRoute Unfair?`\n\nJourneyRoute only generates routes based on blocks that you have traversed on, thus it is not able discover paths for you. *Think of JourneyRoute as an assistant that helps players remember where they've been.* Despite this, however, JourneyRoute may be considered unfair on some multiplayer servers, and thus should only be used if it is allowed by server rules.\n\n## `Research`\n\nJourneyRoute would not have been not possible without the work of other researchers. The following papers and algorithms have been used to implement features of JourneyRoute.\n\n### Ramer-Douglas-Peucker Polyline Simplification\n\nSource: \u003chttps://utpjournals.press/doi/10.3138/FM57-6770-U75U-7727\u003e\n\nJourneyRoute uses RDP polyline simplification to reduce the number of rendered vectors in the path preview. This drastically improves frame-rates and makes the rendered lines more visually appealing. A similar process is applied more aggressively for the 2d JourneyMap path preview.\n\n### Chaikin's Corner-Cutting Algorithm (Polyline smoothing)\n\nSource: \u003chttps://www.cs.unc.edu/~dm/UNC/COMP258/LECTURES/Chaikins-Algorithm.pdf\u003e\n\nJourneyRoute uses Chaikin's algorithm to present routes in a more visually appealing manner. This is used purely for aesthetic purposes. Through the use of this algorithm, routes rendered in-game have smooth curves that are more visible compared to jagged lines. By applying multiple iterations of Chaikin's algorithm, the desired smoothness / performance ratio is reached.\n\n### A* Heuristic Minimum Cost Path Algorithm\n\nSource: \u003chttps://ieeexplore.ieee.org/document/4082128\u003e\n\nJourneyRoute uses the A* algorithm to efficiently search through blocks stored by its internal data structures. By applying dynamic weighting based on a block's visit history, paths that are visited more frequently are prioritized. This algorithm is further enhanced to promote paths that decrease in elevation, and minimizes the amount of air-blocks traveled. By applying higher weighting to paths that increase in elevation without support blocks (i.e a path that is only traversable with flight), JourneyRoute promotes the traversability of routes without the necessity of flight.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fencodeous%2Fjourneyroute","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fencodeous%2Fjourneyroute","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fencodeous%2Fjourneyroute/lists"}