promotional bannermobile promotional banner

How To Go

Road marking and real-time navigation for Minecraft.
f092b2e362e51b053d1a5301aa51195b.jpg

f092b2e362e51b053d1a5301aa51195b.jpg

Description

HowToGo | 问道

Road marking and real-time navigation for Minecraft

Draw roads on Xaero's World Map, then navigate the way a maps app works: pick a destination, pick a travel mode, pick a route preference, look at the route before you set off — with optional voice announcements.

  • Mod ID: howtogo
  • Supported Versions: Minecraft 1.21.1 / NeoForge 21.1.x
  • Side: Client-side only (does not need to be installed on a server)
  • Latest Version: 0.1.0

Required Mods

Mod Necessity Description
Xaero's World Map Required All roads and routes are rendered on it. If missing, the mod will log an error and disable the rendering layer.
XaeroLib Required Provided with World Map, no extra installation needed.
Xaero's Minimap Optional Reads waypoint markers on the minimap as destinations.
Create Optional Automatically reads track information and maps tracks to Rails.

Incompatible Mods

None found yet.


Features

Drawing and Maintaining Roads

  • Draw polyline roads directly on the world map, with six levels: Highway / Road / Path / Rail / Waterway / Ice Road (different colors and line widths).
  • Snapping: Automatically snaps to existing nodes or road segments when close; hold Alt for free placement.
  • Naming: Once named, the entire road (including all segments) shares the same name; each road displays its label only once on the map.
  • Points of Interest (POI): Mark any location as a point of interest, serving as a navigation destination.
  • Undo / Redo: Up to 64 steps.
  • Road network topology self-consistency: Dropping a point in the middle of a road segment will truly split that segment and create a node at the intersection.

Create Mechanical Railways (Automatic Recognition)

When Create is installed, railways will be automatically recognized and drawn on the world map without manual drawing:

  • Data is sourced from Create's own track diagrams. It prioritizes reading Create's client-side track network (CreateClient.RAILWAYS), which provides Create's own node coordinates and Bezier curves, resulting in smooth curves rather than stepped ones. If this is not found (Create not installed, class renamed, or diagram not yet synchronized), it falls back to scanning create:track blocks and connecting them based on their shape axis. Only one of these sources will be used for the current layer; they are not counted twice.
  • Recognition is based on block registry names, not any Create classes. Therefore, there is no Create dependency in build.gradle, and Create renaming or version changes won't cause compilation failures; the log prefix [HowToGo] Create track layer: will indicate which source is currently being used.
  • Railways are read-only, but can be named. Create owns the geometry of the track: moving nodes, splitting, deleting, or changing levels are not supported because they will be overwritten on the next read (within 1 second). Naming is the only modifiable aspect, and it is stored in a separate file (see data files below), not within the road network.
    • Naming and selection apply to the entire railway line: Shift-clicking selects and highlights the entire line, and pressing N to name it assigns the same name to the entire line (consistent with manually drawn roads). Names appear as light blue labels on the map, scaling with zoom.
    • Names are not tied to segment IDs (which are reordered upon reconstruction); instead, they are tied to the coordinates of the two endpoints of the segment. Therefore, they are not lost upon reconstruction, reloading, or switching recognition sources.
  • Road drawing can snap to railways: In edit mode, when there are no manually drawn roads near the cursor, snapping will attach to a railway, allowing you to connect the endpoint of a road precisely to a track. Snapping to railways only uses the position (yellow snap ring) and does not split or connect the railway itself, as it is not geometry owned by the editor.
  • Stations are treated as POIs: Create stations are marked on the world map as place names (same color as POIs) and appear in the destination list under the "Create Stations" data source, allowing them to be directly used as navigation destinations. Station names are taken from Create (player-given names for stations); if names cannot be retrieved when falling back to block scanning, they will be displayed as "Station x, z" using coordinates.
  • Can be disabled: Setting create_train_tracks = false will disable the entire layer; scan radius and speed can also be adjusted (see configuration table).

Navigator (Item)

  • Right-click to open the "Select Destination" interface; hovering with the mouse displays the current trip (shows "Idle" when not navigating).

  • Crafting (ordered, all nine slots filled): Iron Ingots in the corners, Paper on the sides, Compass in the center.

    Iron Ingot   Paper   Iron Ingot
    Paper   Compass   Paper
    Iron Ingot   Paper   Iron Ingot
    
  • The recipe will automatically unlock and appear in the recipe book once the compass is obtained (handled by data/howtogo/advancement/recipes/navigator.json).

Navigation

  • Travel Modes: Walking / Driving / Public Transport. Each mode has different road levels it can traverse, so the same start and end points will yield different routes:
    • Walking: Highway, Road, Path, Ice Road
    • Driving: Highway, Road
    • Public Transport: Rail, Waterway, Ice Road (boating on ice is the fastest route on the map)
  • Route Preferences: Fastest Time ↔ Shortest Distance; can avoid specified road levels (e.g., not wanting to use waterways); can prioritize main roads (paths have a ×1.6 cost and are only used when necessary).
  • Estimated Arrival Time is calculated based on "Travel Mode + Road Level," not a single speed: Road 9, Rail/Waterway 8, Ice Road 40, Walking 4.0~5.6 blocks/sec.
  • Preview Before Departing: After selecting the destination, mode, and preferences, the route will first be drawn on the map in the selection interface. Confirm it before pressing "Navigate Here."
  • Routes Do Not Take Unnecessary Detours: If the selected mode is slower than direct travel, or if there is no solution in the current road network for that mode, the reason will be explained, and it will default to walking navigation instead of providing an absurd detour or a straight line.
  • No Straight Lines Drawn: The initial and final connection segments have a distance limit (64 blocks for walking/public transport, 32 blocks for driving). Exceeding this will result in "No Route Found" without drawing a straight line across the map.
  • Turn Prompts: The panel and map display distance and turns; broadcast distances are scaled by road type (50m for walking, 100m for road driving, 300m for highway driving, 300m for rail, 500m for ice road).
  • Turn Judgment Requires Facing Direction: When aligned with an intersection, a turn is only counted if you are roughly facing that direction (≤45°). Straight passage through an intersection will not be misidentified as a turn.

How To Go Team

profile avatar
  • 1
    Followers
  • 3
    Projects
  • 2.7K
    Downloads

More from Dong_awa

  • Broadcast Radio project image

    Broadcast Radio

    It brings a radio communication system to Minecraft, filling the Minecraft world with a realistic radio communication experience.

    • 730
    • July 21, 2026
  • Aeronautical Radio project image

    Aeronautical Radio

    Added a series of radio related content, such as sending and receiving information on the same radio frequency.

    • 1.9K
    • August 2, 2025
  • Broadcast Radio project image

    Broadcast Radio

    It brings a radio communication system to Minecraft, filling the Minecraft world with a realistic radio communication experience.

    • 730
    • July 21, 2026
  • Aeronautical Radio project image

    Aeronautical Radio

    Added a series of radio related content, such as sending and receiving information on the same radio frequency.

    • 1.9K
    • August 2, 2025