Highways & Byways

Highways & Byways generates a seed-driven, fully configurable road network — highways, roads, and dirt trails with bridges and tunnels

Highways & Byways

A living road network for your world.

Ever wished Minecraft villages felt connected, like part of a real world instead of scattered islands in a sea of grass? Highways & Byways lays down a seed-driven road network as your world generates — sweeping highways, village roads, and dirt trails that wind naturally across the terrain, cut through hills, bridge rivers, and tunnel under mountains.

No commands needed. No world reset required. Just explore, and the roads will be there.

Features

  • 🛣️ Tiered road network — wide arterial highways form an endless backbone that never dead-ends, meeting at junctions and grade-separated flyovers. Roads branch off to villages and pillager outposts. Dirt trails wind out to every other surface structure — temples, huts, ruins, and more.
  • 🌄 Terrain-aware construction — roads follow smooth spline curves, cut and fill the land to sit naturally, keep slopes drivable (tunable, ~45° max), and blend shoulders into the surrounding ground instead of just flattening a strip.
  • 🌉 Bridges & tunnels — rivers and ravines get pillared bridges with decks and railings; hills get lined, arched tunnels with framed portals.
  • 🎨 17 material palettes — configure width and material per tier: stone, deepslate, blackstone, sandstone, prismarine, nether brick, and more.
  • 🧭 Manual road building — plan and bake your own roads by hand with /splineroad, or grow a patch of network around you on demand.
  • 🧩 Modded structure support — works with modded villages and structures out of the box, and exposes a full datapack addon API so pack authors can hook their own content in.
  • 🏔️ Terrain-mod compatible — since roads are generated dynamically as chunks load and adapt to whatever's actually there, Highways & Byways works right alongside worldgen mods like Terralith and Tectonic, cutting, filling, bridging, and tunneling through their custom terrain just like vanilla land.
  • ⚙️ Deterministic & configurable — the whole network generates consistently from the world seed as chunks load, with in-game config for worldgen roads, ocean highways, bridge/tunnel behavior, grade limits, and per-tier width/material.

For Modpack & Datapack Authors

Highways & Byways is extensible through datapacks — no Java required. You can register your structures for road service, and place roadside structures or road events along the generated network. Everything is deterministic and seed-driven, so your additions generate consistently and survive chunk borders like vanilla structures.

1. Road service for structures (tags)

Which structures the network builds roads to is controlled by two structure tags. Add your structure's id (or a structure tag) to a datapack copy of these files:

  • data/splineroads/tags/worldgen/structure/human_structures.json — gets full stone roads (defaults: #minecraft:village, minecraft:pillager_outpost).
  • data/splineroads/tags/worldgen/structure/ignored_structures.json — the network ignores it (defaults: the ruined portal variants, which are usually buried).

Any surface structure in neither tag automatically gets a dirt road. So to give your modded town stone roads:

// data/yourpack/tags/worldgen/structure/splineroads/human_structures.json  (append, don't replace)
{ "replace": false, "values": [ "yourmod:trading_post" ] }

To make the network leave a structure alone entirely, add it to ignored_structures the same way.

2. Roadside structures & road events

Drop JSON files in data/<yourpack>/splineroads/roadside/<name>.json. Each file is one entry.

Fields

field type default meaning
tiers list of "highway","road","dirt" which road tiers may spawn it
spacing int 512 average blocks along the road between spawn attempts
chance float 0–1 0.25 probability per attempt
offset number 0 lateral blocks from the road center (+ = right). 0 sits on the road; a small value is curbside; larger is off the road
both_sides bool false also place a mirror copy at -offset (e.g. lamp posts on both edges)
face_road bool true orient a template so it faces along the road's travel direction
biomes biome id or #tag (any) only spawn in these biomes
template structure id a structure NBT to place (data/<ns>/structure/<path>.nbt)
blocks list OR simple inline blocks (see below)

Provide either template or blocks. Whatever you place is stood on the actual solid surface at that column (road deck or ground) — it never floats; if there's no solid ground there (e.g. off the edge of a bridge over water) it's skipped.

Local coordinate space (for blocks and template authoring)

  • +X runs along the road's travel direction
  • +Z points to the road's right-hand side (relative to the offset anchor)
  • y = 0 sits on the surface at the column

Inline block example — a fallen tree that blocks dirt roads in forests:

{
  "tiers": ["dirt"],
  "spacing": 320,
  "chance": 0.35,
  "offset": 0.0,
  "biomes": "#minecraft:is_forest",
  "blocks": [
    { "at": [0, 0, -2], "block": "minecraft:oak_log", "props": { "axis": "z" } },
    { "at": [0, 0,  0], "block": "minecraft:oak_log", "props": { "axis": "z" } },
    { "at": [0, 0,  2], "block": "minecraft:oak_log", "props": { "axis": "z" } }
  ]
}

Template example — a gas station beside highways:

{
  "tiers": ["highway"],
  "spacing": 700,
  "chance": 0.5,
  "offset": 14.0,
  "template": "yourmod:gas_station"
}

Build the structure in-game with a Structure Block, save it, and ship the resulting .nbt at data/yourmod/structure/gas_station.nbt. Templates are placed clipped to each chunk, so any size is safe. Templates rotate in 90° steps to face the road; inline blocks follow the exact curve.

3. Materials & config

Global toggles live in the mod config (splineroads-common.toml): worldgenRoads, oceanHighways, per-tier material and width, bridge/tunnel behaviour, grade, and shoulder width. builtinRoadsideFeatures disables the mod's own roadside features (lamps, fallen trees) without affecting datapack/addon entries.

Commands

/splineroad point [x y z] | width <w> | material <id> | undo | status | cancel | build | generate [count] [radius] | debug

Plan and bake roads by hand, or grow a patch of network around your current position.

Configuration

In-game via Mods → Highways & Byways → Config, or edit config/splineroads-common.toml directly. Toggle worldgen roads, ocean highways, bridge/tunnel behavior, grade limits, shoulder width, and per-tier material/width — and disable the mod's own roadside features (lamps, fallen trees) independently of any datapack additions.

Work in Progress

Highways & Byways is still actively being developed. The road network is generally solid, but you may occasionally run into spots where generation looks a bit off — an awkward slope, a rough transition, or a bridge/tunnel that doesn't quite line up. Bug reports and screenshots are very welcome and help prioritize fixes.

The Highways & Byways Team

RisingBuilder tier frameprofile avatar
  • 10
    Followers
  • 22
    Projects
  • 923.8K
    Downloads

More from SappyEddieView all