COWMODSКаталог модов
Routes

ВЕРСИИ (25)

beta

Routes 2.0.0-beta.2 (NeoForge)

2.0.0-beta.2+neoforge
17 окт. 2026 г.304Minecraft: 1.21.1neoforge
Скачать
Что нового
A second beta of Routes 2.0: roads are planned in a fraction of the time, a reopened world remembers its towns and roads, and the land around a new spawn gets its roads. 🧪 > ⚠️ **This is a beta.** It has not had its full in-game test pass yet. Back up your world before you > update, and tell us on Discord or GitHub if anything looks wrong. ### ⚠️ Changed - **The settings that shape the road network are fixed for each world.** Changing one mid-world (the longest road, roads per town, town and city sizes, ring roads, curviness, slope, road width, straight bridges, which structures get connected, or the landmark settings) gave the land generated afterwards a second network whose roads stopped short of the old ones. A world now keeps the values it was created with: `/routes config set` saves the new value for the worlds you create next and says so, and `/routes config list` marks these settings. A world you already have keeps the values it uses today. - **New worlds pregenerate 512 chunks around spawn by default, down from 1024**: enough for the spawn town and its first road out, in about two thirds of the time. Worlds you already have keep their value. - **"Generate routes" off means no roads planned ahead and no spawn moved into a town.** The spawn stays where the game puts it, and creating the world skips the town search. ### 🚀 Faster worlds - **A reopened world remembers its towns and its roads.** The town survey and the plan of every road already drawn are saved inside the world and read back as it opens, so reopening no longer pays for them again. Both are thrown away and rebuilt on their own when a mod, a datapack or the world's road settings change; deleting the files only costs time. - **Roads are planned much sooner.** Landmarks along the way are looked up once and several at a time, the towns at a road's ends are sized while the road is planned, and the ground under it is read on several threads at once. On a test walk through new land, roads finished planning in about half the time. The roads are exactly the same. - **Finding the towns of a new area is faster.** A town is confirmed from its first building and laid out in full only when a road depends on its size or its edge. - **Routes looks for towns only where you are about to go**, not in a wide square around every player. - **Shaping the ground under a road takes over a thousand times less work per road chunk**, and the ground comes out the same, block for block. - **Background road work no longer piles up or waits on itself.** Each survey or plan is queued once, and a town search that another mod makes fail is not repeated by every chunk around it. - **Work Routes used to repeat is now done once**: which structures count as towns and landmarks, where two roads cross, whether each fork stands on solid footing, and whether a tree would stand on a road, which no longer gets slower as the world grows. - **The zone banner no longer gets slower with every area you discover.** - **New road paint lands on your map without redoing the whole map**: about half a millisecond per update on a map with 50,000 painted chunks, down from 12 ms with spikes past 30. - **The server keeps its road map in a quarter of the memory**, and long sessions forget only the oldest ground heights instead of measuring everything again. - **Walking along a numbered route no longer re-queues all of its signs**: they are written once, when the route gets its number. ### 🐛 Fixes - **Roads, signs and terrain shaping reach the land around a new world's spawn.** The chunks Minecraft generates before the world opens were made before Routes was ready, so a road crossing them stopped at their edge and started again on the other side. - **A dedicated server pregenerates a new world's spawn from the first join**, using its own config file, instead of waiting for an operator to run `/routes config set`. - **A road between far-apart towns no longer stops in the middle of nowhere** where a long chain of towns was linked two different ways. Worlds you already have keep their roads. - **Cancelling Create New World no longer leaves its ROUTES choices behind** for the next world or server you open. - **Your world's road map file saves the same way every time**, so backups stop seeing a new `routes_gen2_map.dat` on every save. ### 🔧 For server owners - **The road network is now tested automatically across twenty worlds**, including worlds whose towns sit far apart. - **Each planned road logs what its time went to**, and the headless benchmark times the town survey in parts and runs a first join's spawn pregeneration with nobody joining. - **A leftover manual Discord workflow is gone**, and with it one more copy of the bot's key.
beta

Routes 2.0.0-beta.2 (Fabric)

2.0.0-beta.2+fabric
17 окт. 2026 г.229Minecraft: 1.21.1fabric
Скачать
Что нового
A second beta of Routes 2.0: roads are planned in a fraction of the time, a reopened world remembers its towns and roads, and the land around a new spawn gets its roads. 🧪 > ⚠️ **This is a beta.** It has not had its full in-game test pass yet. Back up your world before you > update, and tell us on Discord or GitHub if anything looks wrong. ### ⚠️ Changed - **The settings that shape the road network are fixed for each world.** Changing one mid-world (the longest road, roads per town, town and city sizes, ring roads, curviness, slope, road width, straight bridges, which structures get connected, or the landmark settings) gave the land generated afterwards a second network whose roads stopped short of the old ones. A world now keeps the values it was created with: `/routes config set` saves the new value for the worlds you create next and says so, and `/routes config list` marks these settings. A world you already have keeps the values it uses today. - **New worlds pregenerate 512 chunks around spawn by default, down from 1024**: enough for the spawn town and its first road out, in about two thirds of the time. Worlds you already have keep their value. - **"Generate routes" off means no roads planned ahead and no spawn moved into a town.** The spawn stays where the game puts it, and creating the world skips the town search. ### 🚀 Faster worlds - **A reopened world remembers its towns and its roads.** The town survey and the plan of every road already drawn are saved inside the world and read back as it opens, so reopening no longer pays for them again. Both are thrown away and rebuilt on their own when a mod, a datapack or the world's road settings change; deleting the files only costs time. - **Roads are planned much sooner.** Landmarks along the way are looked up once and several at a time, the towns at a road's ends are sized while the road is planned, and the ground under it is read on several threads at once. On a test walk through new land, roads finished planning in about half the time. The roads are exactly the same. - **Finding the towns of a new area is faster.** A town is confirmed from its first building and laid out in full only when a road depends on its size or its edge. - **Routes looks for towns only where you are about to go**, not in a wide square around every player. - **Shaping the ground under a road takes over a thousand times less work per road chunk**, and the ground comes out the same, block for block. - **Background road work no longer piles up or waits on itself.** Each survey or plan is queued once, and a town search that another mod makes fail is not repeated by every chunk around it. - **Work Routes used to repeat is now done once**: which structures count as towns and landmarks, where two roads cross, whether each fork stands on solid footing, and whether a tree would stand on a road, which no longer gets slower as the world grows. - **The zone banner no longer gets slower with every area you discover.** - **New road paint lands on your map without redoing the whole map**: about half a millisecond per update on a map with 50,000 painted chunks, down from 12 ms with spikes past 30. - **The server keeps its road map in a quarter of the memory**, and long sessions forget only the oldest ground heights instead of measuring everything again. - **Walking along a numbered route no longer re-queues all of its signs**: they are written once, when the route gets its number. ### 🐛 Fixes - **Roads, signs and terrain shaping reach the land around a new world's spawn.** The chunks Minecraft generates before the world opens were made before Routes was ready, so a road crossing them stopped at their edge and started again on the other side. - **A dedicated server pregenerates a new world's spawn from the first join**, using its own config file, instead of waiting for an operator to run `/routes config set`. - **A road between far-apart towns no longer stops in the middle of nowhere** where a long chain of towns was linked two different ways. Worlds you already have keep their roads. - **Cancelling Create New World no longer leaves its ROUTES choices behind** for the next world or server you open. - **Your world's road map file saves the same way every time**, so backups stop seeing a new `routes_gen2_map.dat` on every save. ### 🔧 For server owners - **The road network is now tested automatically across twenty worlds**, including worlds whose towns sit far apart. - **Each planned road logs what its time went to**, and the headless benchmark times the town survey in parts and runs a first join's spawn pregeneration with nobody joining. - **A leftover manual Discord workflow is gone**, and with it one more copy of the bot's key.
beta

Routes 2.0.0-beta.1 (NeoForge)

2.0.0-beta.1+neoforge
10 окт. 2026 г.172Minecraft: 1.21.1neoforge
Скачать
Что нового
A beta of Routes 2.0: new worlds open much sooner, nothing stalls the server while land is being built, and the old road generator is retired. 🧪 > ⚠️ **This is a beta.** It has not had its full in-game test pass yet. Back up your world before you > update, and tell us on Discord or GitHub if anything looks wrong. ### ⚠️ Breaking - **The classic road generator is gone.** A world made with it is frozen: it loads and plays as before, keeps every road, its map paint, zone banners and Nuzlocke zones, and never grows a new road. It is never converted, never gets the new roads laid over its own, and no longer pre-generates its spawn. The **Native route generation** switch is removed. - **Eight commands that only worked on frozen worlds** (`scan`, `connect`, `addcity`, `delcity`, `weave`, `repaint`, `reset`, `debug structures`) now answer with one line that names their replacement, if there is one. - **`/cobblemonroutes` is gone; `/routes` is the only command.** Update command blocks and macros. - Add-ons built for an older Routes keep working: the safe-landing and ground-height lookups they use stay as deprecated forwards until the next major. ### 🚀 Faster worlds - **The land around your spawn is ready when you arrive.** Routes surveys the towns around your spawn on the loading screen (*Routes: surveying the towns around your spawn*), once per world, so the chunks around you load four to five times faster after you join. - **With *spawn in city* on, your town is no longer built before the world opens.** In the automatic speed test the wait went from 139–364 s to 60–103 s. You still wake up in the town. - **Spawn pregeneration generates what it promises**, and its progress bar moves at the pace of the work; the chunks of the road ahead are pre-loaded the same way. A new singleplayer world pregenerates its spawn even if you never open the ROUTES tab. - **Towns are found faster**: the village checks run side by side and find exactly the same towns. - The *spawn in a city* step gives up after three starts instead of freezing the server on every one. ### 🐛 Fixes - **No more stutters while a new world is being built.** Road signs, map markers and the zone banner made the whole server wait for land still being generated. They now wait their turn in the background, and signs that were left blank get their text as soon as their ground loads. - **Joining a server with a huge road map no longer disconnects you.** - **Creating a world after leaving another one no longer crashes** with *Failed to load registries*. - **Another mod's world generator failing no longer stops your world from opening**: Routes skips the town spawn and names the error in the log. - **Two kinds of settlement can no longer swap towns** when they are looked up at the same moment. - **Route markers and a route's first signs stand where the road leaves town**, on the real surface, and stay there after you rejoin. - **The loading-screen road waits for your spawn**, held just short of full with *Routes: placing your spawn* and a running count of seconds. - Tunnels are carved clear through ore and dripstone, tunnel lighting follows its setting, and signposts keep their posts where two roads overlap. - `/routes config set` refuses a value it does not know, and Mod Menu names every Routes setting, in English and Spanish. ### ✨ New - **Descriptive names are back**: *Route 3: Steep Pass* on signposts, waypoints and the zone banner, and *A3-Frostpine* for enclosed areas. Each has a setting to turn it off, and applies to roads and areas numbered from now on. - **JourneyMap support**: the same chunk paint and waypoints you get on Xaero's maps. - **Routes ships its own list of towns, landmarks and structures to ignore**, so a pack like the Cobblemon Official Modpack gets roads to its gym entrances with no config, and a data pack can extend it. - **`/routes rename`** renames a town, signs and welcome board included. - **`/routes status`, `list`, `nearest`, `zone` and `tp` work on the new roads**, showing what you have discovered. ### 🔧 For server owners - New read-only diagnostics: `/routes debug workers`, `/routes debug bore`, `/routes debug forks`, and a *no town in common* line in `/routes debug edges`. - Failures that used to vanish while building roads are now logged and counted. - Every change to Routes is now built for both loaders and tested automatically, and a headless speed test, a road fingerprint and a road-quality audit catch a version that moves or worsens your roads before it ships.
beta

Routes 2.0.0-beta.1 (Fabric)

2.0.0-beta.1+fabric
10 окт. 2026 г.182Minecraft: 1.21.1fabric
Скачать
Что нового
A beta of Routes 2.0: new worlds open much sooner, nothing stalls the server while land is being built, and the old road generator is retired. 🧪 > ⚠️ **This is a beta.** It has not had its full in-game test pass yet. Back up your world before you > update, and tell us on Discord or GitHub if anything looks wrong. ### ⚠️ Breaking - **The classic road generator is gone.** A world made with it is frozen: it loads and plays as before, keeps every road, its map paint, zone banners and Nuzlocke zones, and never grows a new road. It is never converted, never gets the new roads laid over its own, and no longer pre-generates its spawn. The **Native route generation** switch is removed. - **Eight commands that only worked on frozen worlds** (`scan`, `connect`, `addcity`, `delcity`, `weave`, `repaint`, `reset`, `debug structures`) now answer with one line that names their replacement, if there is one. - **`/cobblemonroutes` is gone; `/routes` is the only command.** Update command blocks and macros. - Add-ons built for an older Routes keep working: the safe-landing and ground-height lookups they use stay as deprecated forwards until the next major. ### 🚀 Faster worlds - **The land around your spawn is ready when you arrive.** Routes surveys the towns around your spawn on the loading screen (*Routes: surveying the towns around your spawn*), once per world, so the chunks around you load four to five times faster after you join. - **With *spawn in city* on, your town is no longer built before the world opens.** In the automatic speed test the wait went from 139–364 s to 60–103 s. You still wake up in the town. - **Spawn pregeneration generates what it promises**, and its progress bar moves at the pace of the work; the chunks of the road ahead are pre-loaded the same way. A new singleplayer world pregenerates its spawn even if you never open the ROUTES tab. - **Towns are found faster**: the village checks run side by side and find exactly the same towns. - The *spawn in a city* step gives up after three starts instead of freezing the server on every one. ### 🐛 Fixes - **No more stutters while a new world is being built.** Road signs, map markers and the zone banner made the whole server wait for land still being generated. They now wait their turn in the background, and signs that were left blank get their text as soon as their ground loads. - **Joining a server with a huge road map no longer disconnects you.** - **Creating a world after leaving another one no longer crashes** with *Failed to load registries*. - **Another mod's world generator failing no longer stops your world from opening**: Routes skips the town spawn and names the error in the log. - **Two kinds of settlement can no longer swap towns** when they are looked up at the same moment. - **Route markers and a route's first signs stand where the road leaves town**, on the real surface, and stay there after you rejoin. - **The loading-screen road waits for your spawn**, held just short of full with *Routes: placing your spawn* and a running count of seconds. - Tunnels are carved clear through ore and dripstone, tunnel lighting follows its setting, and signposts keep their posts where two roads overlap. - `/routes config set` refuses a value it does not know, and Mod Menu names every Routes setting, in English and Spanish. ### ✨ New - **Descriptive names are back**: *Route 3: Steep Pass* on signposts, waypoints and the zone banner, and *A3-Frostpine* for enclosed areas. Each has a setting to turn it off, and applies to roads and areas numbered from now on. - **JourneyMap support**: the same chunk paint and waypoints you get on Xaero's maps. - **Routes ships its own list of towns, landmarks and structures to ignore**, so a pack like the Cobblemon Official Modpack gets roads to its gym entrances with no config, and a data pack can extend it. - **`/routes rename`** renames a town, signs and welcome board included. - **`/routes status`, `list`, `nearest`, `zone` and `tp` work on the new roads**, showing what you have discovered. ### 🔧 For server owners - New read-only diagnostics: `/routes debug workers`, `/routes debug bore`, `/routes debug forks`, and a *no town in common* line in `/routes debug edges`. - Failures that used to vanish while building roads are now logged and counted. - Every change to Routes is now built for both loaders and tested automatically, and a headless speed test, a road fingerprint and a road-quality audit catch a version that moves or worsens your roads before it ships.
release

Routes 1.2.119 (NeoForge)

1.2.119+neoforge
17 сент. 2026 г.492Minecraft: 1.21.1neoforge
Скачать
Что нового
Landmarks, towns of every size, a map you set by command, and roads that look laid. 🗺️ ### Towns, landmarks and the network - **Settlements come in three sizes, village, town and city, and bigger ones carry more roads.** With the default of four, a village gets one or two roads, a town two or three, a city three or four, and no town is left unreachable. New options on the ROUTES tab: **Bigger towns, more roads**, **Town size** and **City size**; `/routes debug settlements` shows how the towns around you fall into the three. It changes which roads exist, so it applies to worlds created from this version on. - **Every structure is a settlement, a landmark or ignored.** The create-world checklist is now **Towns & landmarks**: every row reads Settlement, Landmark or Ignored, starts on the automatic answer, and cycles with a click. `/routes structures` groups its file the same way. Unticking Villages now really keeps them off the network, and the Fossils row, which connected nothing on Cobblemon 1.8, is gone. - **Roads respect landmarks.** A road steers around a landmark instead of cutting through it, bends a little to pass beside the one nearest its way, and a signpost on the landmark's side says what it is, in English or Spanish; a structure from another mod is named from its id. New options: **Roads go around landmarks**, **Landmark pull** (0 to 10, default 3), **Landmark reach** (default 96 blocks) and **Landmark signs**. They apply to worlds created with this version and to ground not generated yet. - **Roads wander a quarter less** at every Route curviness setting; the setting itself means what it always meant. - **For add-on authors:** rest stops, signposts and junction plazas respect an add-on's keep-out claim, as roads already did. An add-on can ask where a water crossing's marker rocks stand and whether a point on a road is a bridge deck. ### Managing the network - **New command: `/routes remove`** (operator) takes away the town or the road you are standing on, and names the road it withdrew. Where two roads cross your chunk it lists them and removes nothing. **`/routes settlement reconnect`** puts a withdrawn road back. - **`/routes settlement disconnect` works on generated roads**, so one road can go without deleting a town. **`/routes settlement restore`** brings back a town you removed, with its name and roads, and **`/routes delcity`** removes the town next to you, telling you which one and how far away it was. - As with every removal, ground that has already generated keeps its road; only new chunks change. ### On the road - **The road surface comes in patches**, like laid paving, instead of changing at every block, and the things along a road (marker rocks, channel floors, signposts, junctions) keep one kind over a stretch instead of cycling at every step. - **Tunnels are 9 wide and 8 tall by default**, with new **Tunnel width** and **Tunnel height** options. A tunnel that crosses a cavern has walls, not just a roof, and its lanterns only hang where there is rock to hang them from. - **A bridge over water runs straight from bank to bank**, with a new **Straight bridges** option, on by default. A short stream crossing keeps its deck instead of leaving a hole in the road. - **Roads meet the water at the shore's own height.** The ramp that used to be dug into the bank is gone, and a road steps onto a swimmable crossing at the water's level. Bridges keep their ramps. - **Water crossings can be followed at night**: each marker stone stands on a short pillar of the same stone, with a sea lantern under it on a lit crossing. A signpost at a water crossing is always a board on a post, never a sign hanging over the water. - **Every real drop of two blocks or more gets a ladder**, measured on the road as it is built. - **Rest stops fit the ground they stand on.** A campfire stop's cleared patch matches the place: trodden podzol on grass, the ground itself on sand, gravel or snow. A picnic-table stop stands on the grass itself, and its bread is in the table, with no basket beside it. ### The map - **Xaero's world map is Xaero's own again.** The Routes panel drawn over it is gone, and with it the on-demand Load chunks feature. The head start around spawn in a new world stays. - **`/routesmap` opens a small screen with every map setting**: the chunk paint toggle, the waypoint grouping, and an intensity and a colour for towns, roads and areas, applied as you change them. Its subcommands do the same from chat, and `/routesmap list` prints a summary. It needs no operator rights and works on any server. Turning the paint off and on is instant. - **A key shows and hides the chunk paint.** Bind **Show / hide chunk paint** under **Routes** in Controls; it ships unbound. - **A road reads as one band about three chunks wide** on the map. Zone commands repaint the minimap right away, not only the world map. With waypoints grouped per category, the Settlements set is selected on your first join, so the markers show without hunting for them. - **The map draws faster.** Working out a chunk's colour is about five times faster and allocates nothing, and panning over wild country far from any road is up to twenty times faster. ### Fixes and housekeeping - **Spawn is no longer moved onto a rock in the open sea** when every town nearby is underwater. - **Routes refuses to install on a Minecraft version other than 1.21.1**, instead of crashing on 1.21.11. - **The store page is rewritten**: no deleted buttons, no stale roadmap, and it says plainly that Cobblemon is not required. - The license inside the jar names all seven mods, and the development build only deploys to test profiles that exist.
release

Routes 1.2.119 (Fabric)

1.2.119+fabric
17 сент. 2026 г.1,1 тыс.Minecraft: 1.21.1fabric
Скачать
Что нового
Landmarks, towns of every size, a map you set by command, and roads that look laid. 🗺️ ### Towns, landmarks and the network - **Settlements come in three sizes, village, town and city, and bigger ones carry more roads.** With the default of four, a village gets one or two roads, a town two or three, a city three or four, and no town is left unreachable. New options on the ROUTES tab: **Bigger towns, more roads**, **Town size** and **City size**; `/routes debug settlements` shows how the towns around you fall into the three. It changes which roads exist, so it applies to worlds created from this version on. - **Every structure is a settlement, a landmark or ignored.** The create-world checklist is now **Towns & landmarks**: every row reads Settlement, Landmark or Ignored, starts on the automatic answer, and cycles with a click. `/routes structures` groups its file the same way. Unticking Villages now really keeps them off the network, and the Fossils row, which connected nothing on Cobblemon 1.8, is gone. - **Roads respect landmarks.** A road steers around a landmark instead of cutting through it, bends a little to pass beside the one nearest its way, and a signpost on the landmark's side says what it is, in English or Spanish; a structure from another mod is named from its id. New options: **Roads go around landmarks**, **Landmark pull** (0 to 10, default 3), **Landmark reach** (default 96 blocks) and **Landmark signs**. They apply to worlds created with this version and to ground not generated yet. - **Roads wander a quarter less** at every Route curviness setting; the setting itself means what it always meant. - **For add-on authors:** rest stops, signposts and junction plazas respect an add-on's keep-out claim, as roads already did. An add-on can ask where a water crossing's marker rocks stand and whether a point on a road is a bridge deck. ### Managing the network - **New command: `/routes remove`** (operator) takes away the town or the road you are standing on, and names the road it withdrew. Where two roads cross your chunk it lists them and removes nothing. **`/routes settlement reconnect`** puts a withdrawn road back. - **`/routes settlement disconnect` works on generated roads**, so one road can go without deleting a town. **`/routes settlement restore`** brings back a town you removed, with its name and roads, and **`/routes delcity`** removes the town next to you, telling you which one and how far away it was. - As with every removal, ground that has already generated keeps its road; only new chunks change. ### On the road - **The road surface comes in patches**, like laid paving, instead of changing at every block, and the things along a road (marker rocks, channel floors, signposts, junctions) keep one kind over a stretch instead of cycling at every step. - **Tunnels are 9 wide and 8 tall by default**, with new **Tunnel width** and **Tunnel height** options. A tunnel that crosses a cavern has walls, not just a roof, and its lanterns only hang where there is rock to hang them from. - **A bridge over water runs straight from bank to bank**, with a new **Straight bridges** option, on by default. A short stream crossing keeps its deck instead of leaving a hole in the road. - **Roads meet the water at the shore's own height.** The ramp that used to be dug into the bank is gone, and a road steps onto a swimmable crossing at the water's level. Bridges keep their ramps. - **Water crossings can be followed at night**: each marker stone stands on a short pillar of the same stone, with a sea lantern under it on a lit crossing. A signpost at a water crossing is always a board on a post, never a sign hanging over the water. - **Every real drop of two blocks or more gets a ladder**, measured on the road as it is built. - **Rest stops fit the ground they stand on.** A campfire stop's cleared patch matches the place: trodden podzol on grass, the ground itself on sand, gravel or snow. A picnic-table stop stands on the grass itself, and its bread is in the table, with no basket beside it. ### The map - **Xaero's world map is Xaero's own again.** The Routes panel drawn over it is gone, and with it the on-demand Load chunks feature. The head start around spawn in a new world stays. - **`/routesmap` opens a small screen with every map setting**: the chunk paint toggle, the waypoint grouping, and an intensity and a colour for towns, roads and areas, applied as you change them. Its subcommands do the same from chat, and `/routesmap list` prints a summary. It needs no operator rights and works on any server. Turning the paint off and on is instant. - **A key shows and hides the chunk paint.** Bind **Show / hide chunk paint** under **Routes** in Controls; it ships unbound. - **A road reads as one band about three chunks wide** on the map. Zone commands repaint the minimap right away, not only the world map. With waypoints grouped per category, the Settlements set is selected on your first join, so the markers show without hunting for them. - **The map draws faster.** Working out a chunk's colour is about five times faster and allocates nothing, and panning over wild country far from any road is up to twenty times faster. ### Fixes and housekeeping - **Spawn is no longer moved onto a rock in the open sea** when every town nearby is underwater. - **Routes refuses to install on a Minecraft version other than 1.21.1**, instead of crashing on 1.21.11. - **The store page is rewritten**: no deleted buttons, no stale roadmap, and it says plainly that Cobblemon is not required. - The license inside the jar names all seven mods, and the development build only deploys to test profiles that exist.
release

Routes 1.2.74 (NeoForge)

1.2.74+neoforge
30 авг. 2026 г.415Minecraft: 1.21.1neoforge
Скачать
Что нового
A map that builds the world, a settings screen you can read, roads that meet the water where the water is, signposts that only name real towns, and roads that keep up with a big load. 🗺️ - **The world map can now generate the ground around you, and tell you what that costs first.** Choose how many chunks with a slider, press Load chunks, and a confirmation says how many will be generated and roughly how long it takes before anything starts. The job runs in the background — the map fills in as it goes, a counter tracks it, and the same button becomes Cancel until it finishes. On a server, starting one is an operator's call; in your own world it is yours. (#67) - **The Repaint map button is gone.** It re-drew the map by hand, and the one moment that is genuinely needed — fresh ground having just appeared — now happens on its own the instant a chunk load finishes. (#67) - **The ROUTES tab at world creation is split into sections.** Every setting sat in one list under a single heading, twenty-six deep, so finding the one you wanted meant reading all of them. They are grouped now — Route Generation, Towns & Settlements, Road Shape, Surface & Lighting, World Spawn, Map & Notifications — in the order you meet them, and the in-game settings screen follows the same grouping. Nothing was renamed and nothing changed value: the worlds and the config file you already have are untouched. (#69) - **With Cobblemon Picnic installed, some rest stops are picnic tables.** About a third of the camps along a road come up as one of its basic picnic tables instead, with a basket of bread standing beside it — so a stop is somewhere you can actually sit down and picnic, not only somewhere to warm your hands. The rest are the campfire camps they have always been. Without Cobblemon Picnic nothing changes at all: every stop is a camp, and no imitation table is ever built out of ordinary blocks. Stops on roads that have already generated stay as they are. (#143) - **A road coming out of the water no longer climbs a mound to do it.** Where a swimmable crossing met the shore, the ground either side of it was built up — sometimes a long way up — into a bank the road then had to come back down. It was the crossing's own bed pulling the shoreline up to meet it. The road follows the ground down to the waterline instead, and where the shore is already low it simply stays low. Bridges are untouched: a bridge approach still climbs to its deck and still meets it in a single step. (#169) - **A road is numbered the moment it is built, not the moment you walk it.** Route numbers were handed out on arrival, so a road you could see from a hilltop — or one you crossed halfway along, without ever reaching either end — was nameless, and its fingerposts could only point at two towns. Roads are numbered as the world draws them now, so every road that exists has a number and its signs read it from the first one you meet. Numbers stay short and sequential; the order they run in is the order the world built them. Worlds you already have keep every number they handed out. (#171) - **A fingerpost no longer points at a town that does not exist.** Where a road forks, the sign has to follow the road past the junction to find the settlement it really leads to — and where it could not see that far, it named the junction instead. A junction is a piece of road with nothing on it, so what went on the sign was an invented place. That line is simply left out now: a signpost gives you the road you are standing on and whichever end of it can honestly be named. (#150) - **A big chunk-loading job no longer leaves the roads inside it building from scratch.** While the game was generating ground for you — the map's Load chunks button, or the ground laid down around a new world's spawn — the mod stopped looking ahead at the roads in that ground **entirely**, so every road chunk the job touched had to work its road out at the moment it was needed, which is the one moment that makes you wait for it. It looks ahead throughout now. The job itself is unchanged and costs the same; the road chunks inside it stop being the slow ones. (#150) - **Waystones now work on NeoForge.** Activating a waystone names it after the town Routes knows for that spot, registers it on the road network and moves the town's map marker onto the waystone itself — all of which Fabric has always done and NeoForge silently did not, because the integration was only ever wired up on one of the two loaders. Nothing changes for anyone without Waystones installed. (#177) - **An operator can author a zone over a whole region now, and manage it by name.** Deciding what a patch of ground counts as — a town, a road, an area, or nothing at all — meant standing on every chunk of it, one at a time. A zone can be drawn as a box between two corners, given a name, and then grown, shrunk, renamed or removed as one thing. Ground that already belongs somewhere else is still refused unless you say otherwise, and the refusal names what it would have taken: moving a chunk from one zone to another changes which zone a catch already made in it belongs to, so it is never done by accident. (#164) - **The Laburo: draw a zone by clicking its two corners.** A red-bladed shovel for map makers, in the Tools tab of the creative inventory. Right-click one corner, right-click the opposite one, and the ground between them becomes a zone with a name you can rename afterwards; sneak and right-click to choose what it becomes — a town, a road, or nothing at all. Right-click the air if you change your mind about a corner. **It has no recipe**: it does nothing without operator permission, so putting it on a crafting table would only teach a survival player that it is broken. It never takes ground that already belongs somewhere else — it tells you what stood in the way and leaves that decision to the command. (#164) - **Close a ring of road and the land it encloses becomes an area, there and then.** An area is never something you draw — it is the space left between the roads — so one only ever appeared when somebody happened to walk into it. Now the moment an authoring edit closes a pocket, that pocket is named and marked, and whoever drew it is told how many appeared. Areas that close the ordinary way, as the world generates roads, are unchanged. (#164) - **`/routes debug areas` agreed with nothing once you started authoring zones.** It was reading the generator's own paint and ignoring the zones an operator had authored on top, so it contradicted the map, the zone banner and the capture zones — precisely when you would run it to find out why they disagreed. (#164) - **A zone you author now gets a marker on the map.** It painted the ground and dropped no pin, ever. A town's or a road's marker takes its name from the road network the world generated, and a zone you drew by hand is not in it — so there was no name to give and nothing appeared. An authored zone is announced under its own name instead, and comes back under it every time you rejoin. (#164) - **A ring drawn in country the generator has not touched yet closes an area properly.** The check gave up early whenever no road had been generated anywhere, which is exactly the state a fresh map-making world is in. (#164) - **A world keeps the road-network rules it was made with.** Improvements to how the network is planned — which towns connect, how a road is traced — cannot simply arrive in a world already half-explored: the ground you have walked was built by the old rules and the ground ahead would be built by the new ones, leaving roads that stop dead at the join. Every world now records which generation of the rules it was born with and keeps it. Nothing generates differently yet — this is the door the coming changes go through, and `/routes debug settlements` says which generation your world is on. (#164) - **A town no longer sends several roads off in almost the same direction.** Where six neighbours sat in one quarter of the compass, six near-parallel roads left the town for them, and each one costs the world real time to plan. A road that would set off within thirty degrees of one already leaving is dropped, and the shorter of the two is the one that stays. **New worlds only** — a world already under way keeps the network rules it was made with, so nothing you have explored changes shape. (#175) - **Roads are worked out in two passes instead of one, so exploring costs the machine less.** The mod used to search the whole stretch of country between two towns at full detail to find one road through it. It now sketches the route roughly first — cheaply, over the same ground at a quarter of the detail — and then does the careful work only in the narrow band around that sketch. If the sketch finds nothing, the old full search runs exactly as before, so a road that exists today still exists. **New worlds only.** (#172) - **Two villages close enough to touch are one town.** Where two settlements generated almost on top of each other — which happens where a modded village lands on the same ground as a vanilla one — the mod saw two towns and ran a road between them. That road began in a village and ended in the same village: it had a number, a place on the map and signposts pointing along it, and walking it took you nowhere. Settlements that close are read as one town with one name now, so the road between them never exists, and that is one fewer road for the game to work out. **New worlds only** — a world already under way keeps the network rules it was made with, so nothing you have explored changes shape. (#170) - **A step in the road is the same step from either side.** A one-block rise was dressed as a staircase using the direction the road was travelling, so a climb and a descent were two different sums — and for a long stretch only one of them was right, which is why the same slope came out a proper staircase walked one way and a staircase sunk a block walked the other. A step is read off the ground around it now: a block with one neighbour a block lower, and no drop on its other side, carries the stair, and the stair faces uphill. The answer is the same whichever way you walk, and on a road running diagonally the stairs land on the columns where the step actually is instead of straight across the width. Roads already generated are unchanged. (#173, #106) - **A tree no longer grows in the middle of the road.** A tree that landed on a road was built and then torn out again — trunk, then crown, then whatever was left hanging — and every kind of growth the clearing did not know about became its own report: a canopy floating over the road, bamboo through the paving, a giant mushroom on the verge. Growth that would start on a road is simply not planted now — trees, bamboo, giant mushrooms and ground cover ask the road first. The clearing stays for everything else and for the roads you already have, so nothing already generated changes. (#174, #113) - **Wraith Waystones now works like Waystones does.** Discovering one of its waystones names it after the town Routes knows for that spot and drops the town's marker on your map — the same single pin that walking into the town would have given you, not a second one beside it. Fabric only, because that is the only loader Wraith Waystones ships for; the original Waystones is unchanged and a pack can run either, both or neither. (#81) - **A road no longer has a step running along its own width.** Where a road ran diagonally, one half of it could sit a block higher than the other for a stretch — a low kerb down the middle of the carriageway, dressed in stairs that looked like they had been put there for no reason. The height of the road is measured along its length now and is flat across it, so the whole width of the road is one surface and a step only ever happens where the road is actually climbing. The stairs that were covering those kerbs are gone with them. Roads already generated are unchanged. (#178)
release

Routes 1.2.74 (Fabric)

1.2.74+fabric
30 авг. 2026 г.299Minecraft: 1.21.1fabric
Скачать
Что нового
A map that builds the world, a settings screen you can read, roads that meet the water where the water is, signposts that only name real towns, and roads that keep up with a big load. 🗺️ - **The world map can now generate the ground around you, and tell you what that costs first.** Choose how many chunks with a slider, press Load chunks, and a confirmation says how many will be generated and roughly how long it takes before anything starts. The job runs in the background — the map fills in as it goes, a counter tracks it, and the same button becomes Cancel until it finishes. On a server, starting one is an operator's call; in your own world it is yours. (#67) - **The Repaint map button is gone.** It re-drew the map by hand, and the one moment that is genuinely needed — fresh ground having just appeared — now happens on its own the instant a chunk load finishes. (#67) - **The ROUTES tab at world creation is split into sections.** Every setting sat in one list under a single heading, twenty-six deep, so finding the one you wanted meant reading all of them. They are grouped now — Route Generation, Towns & Settlements, Road Shape, Surface & Lighting, World Spawn, Map & Notifications — in the order you meet them, and the in-game settings screen follows the same grouping. Nothing was renamed and nothing changed value: the worlds and the config file you already have are untouched. (#69) - **With Cobblemon Picnic installed, some rest stops are picnic tables.** About a third of the camps along a road come up as one of its basic picnic tables instead, with a basket of bread standing beside it — so a stop is somewhere you can actually sit down and picnic, not only somewhere to warm your hands. The rest are the campfire camps they have always been. Without Cobblemon Picnic nothing changes at all: every stop is a camp, and no imitation table is ever built out of ordinary blocks. Stops on roads that have already generated stay as they are. (#143) - **A road coming out of the water no longer climbs a mound to do it.** Where a swimmable crossing met the shore, the ground either side of it was built up — sometimes a long way up — into a bank the road then had to come back down. It was the crossing's own bed pulling the shoreline up to meet it. The road follows the ground down to the waterline instead, and where the shore is already low it simply stays low. Bridges are untouched: a bridge approach still climbs to its deck and still meets it in a single step. (#169) - **A road is numbered the moment it is built, not the moment you walk it.** Route numbers were handed out on arrival, so a road you could see from a hilltop — or one you crossed halfway along, without ever reaching either end — was nameless, and its fingerposts could only point at two towns. Roads are numbered as the world draws them now, so every road that exists has a number and its signs read it from the first one you meet. Numbers stay short and sequential; the order they run in is the order the world built them. Worlds you already have keep every number they handed out. (#171) - **A fingerpost no longer points at a town that does not exist.** Where a road forks, the sign has to follow the road past the junction to find the settlement it really leads to — and where it could not see that far, it named the junction instead. A junction is a piece of road with nothing on it, so what went on the sign was an invented place. That line is simply left out now: a signpost gives you the road you are standing on and whichever end of it can honestly be named. (#150) - **A big chunk-loading job no longer leaves the roads inside it building from scratch.** While the game was generating ground for you — the map's Load chunks button, or the ground laid down around a new world's spawn — the mod stopped looking ahead at the roads in that ground **entirely**, so every road chunk the job touched had to work its road out at the moment it was needed, which is the one moment that makes you wait for it. It looks ahead throughout now. The job itself is unchanged and costs the same; the road chunks inside it stop being the slow ones. (#150) - **Waystones now work on NeoForge.** Activating a waystone names it after the town Routes knows for that spot, registers it on the road network and moves the town's map marker onto the waystone itself — all of which Fabric has always done and NeoForge silently did not, because the integration was only ever wired up on one of the two loaders. Nothing changes for anyone without Waystones installed. (#177) - **An operator can author a zone over a whole region now, and manage it by name.** Deciding what a patch of ground counts as — a town, a road, an area, or nothing at all — meant standing on every chunk of it, one at a time. A zone can be drawn as a box between two corners, given a name, and then grown, shrunk, renamed or removed as one thing. Ground that already belongs somewhere else is still refused unless you say otherwise, and the refusal names what it would have taken: moving a chunk from one zone to another changes which zone a catch already made in it belongs to, so it is never done by accident. (#164) - **The Laburo: draw a zone by clicking its two corners.** A red-bladed shovel for map makers, in the Tools tab of the creative inventory. Right-click one corner, right-click the opposite one, and the ground between them becomes a zone with a name you can rename afterwards; sneak and right-click to choose what it becomes — a town, a road, or nothing at all. Right-click the air if you change your mind about a corner. **It has no recipe**: it does nothing without operator permission, so putting it on a crafting table would only teach a survival player that it is broken. It never takes ground that already belongs somewhere else — it tells you what stood in the way and leaves that decision to the command. (#164) - **Close a ring of road and the land it encloses becomes an area, there and then.** An area is never something you draw — it is the space left between the roads — so one only ever appeared when somebody happened to walk into it. Now the moment an authoring edit closes a pocket, that pocket is named and marked, and whoever drew it is told how many appeared. Areas that close the ordinary way, as the world generates roads, are unchanged. (#164) - **`/routes debug areas` agreed with nothing once you started authoring zones.** It was reading the generator's own paint and ignoring the zones an operator had authored on top, so it contradicted the map, the zone banner and the capture zones — precisely when you would run it to find out why they disagreed. (#164) - **A zone you author now gets a marker on the map.** It painted the ground and dropped no pin, ever. A town's or a road's marker takes its name from the road network the world generated, and a zone you drew by hand is not in it — so there was no name to give and nothing appeared. An authored zone is announced under its own name instead, and comes back under it every time you rejoin. (#164) - **A ring drawn in country the generator has not touched yet closes an area properly.** The check gave up early whenever no road had been generated anywhere, which is exactly the state a fresh map-making world is in. (#164) - **A world keeps the road-network rules it was made with.** Improvements to how the network is planned — which towns connect, how a road is traced — cannot simply arrive in a world already half-explored: the ground you have walked was built by the old rules and the ground ahead would be built by the new ones, leaving roads that stop dead at the join. Every world now records which generation of the rules it was born with and keeps it. Nothing generates differently yet — this is the door the coming changes go through, and `/routes debug settlements` says which generation your world is on. (#164) - **A town no longer sends several roads off in almost the same direction.** Where six neighbours sat in one quarter of the compass, six near-parallel roads left the town for them, and each one costs the world real time to plan. A road that would set off within thirty degrees of one already leaving is dropped, and the shorter of the two is the one that stays. **New worlds only** — a world already under way keeps the network rules it was made with, so nothing you have explored changes shape. (#175) - **Roads are worked out in two passes instead of one, so exploring costs the machine less.** The mod used to search the whole stretch of country between two towns at full detail to find one road through it. It now sketches the route roughly first — cheaply, over the same ground at a quarter of the detail — and then does the careful work only in the narrow band around that sketch. If the sketch finds nothing, the old full search runs exactly as before, so a road that exists today still exists. **New worlds only.** (#172) - **Two villages close enough to touch are one town.** Where two settlements generated almost on top of each other — which happens where a modded village lands on the same ground as a vanilla one — the mod saw two towns and ran a road between them. That road began in a village and ended in the same village: it had a number, a place on the map and signposts pointing along it, and walking it took you nowhere. Settlements that close are read as one town with one name now, so the road between them never exists, and that is one fewer road for the game to work out. **New worlds only** — a world already under way keeps the network rules it was made with, so nothing you have explored changes shape. (#170) - **A step in the road is the same step from either side.** A one-block rise was dressed as a staircase using the direction the road was travelling, so a climb and a descent were two different sums — and for a long stretch only one of them was right, which is why the same slope came out a proper staircase walked one way and a staircase sunk a block walked the other. A step is read off the ground around it now: a block with one neighbour a block lower, and no drop on its other side, carries the stair, and the stair faces uphill. The answer is the same whichever way you walk, and on a road running diagonally the stairs land on the columns where the step actually is instead of straight across the width. Roads already generated are unchanged. (#173, #106) - **A tree no longer grows in the middle of the road.** A tree that landed on a road was built and then torn out again — trunk, then crown, then whatever was left hanging — and every kind of growth the clearing did not know about became its own report: a canopy floating over the road, bamboo through the paving, a giant mushroom on the verge. Growth that would start on a road is simply not planted now — trees, bamboo, giant mushrooms and ground cover ask the road first. The clearing stays for everything else and for the roads you already have, so nothing already generated changes. (#174, #113) - **Wraith Waystones now works like Waystones does.** Discovering one of its waystones names it after the town Routes knows for that spot and drops the town's marker on your map — the same single pin that walking into the town would have given you, not a second one beside it. Fabric only, because that is the only loader Wraith Waystones ships for; the original Waystones is unchanged and a pack can run either, both or neither. (#81) - **A road no longer has a step running along its own width.** Where a road ran diagonally, one half of it could sit a block higher than the other for a stretch — a low kerb down the middle of the carriageway, dressed in stairs that looked like they had been put there for no reason. The height of the road is measured along its length now and is flat across it, so the whole width of the road is one surface and a step only ever happens where the road is actually climbing. The stairs that were covering those kerbs are gone with them. Roads already generated are unchanged. (#178)
release

Routes 1.2.45 (NeoForge)

1.2.45+neoforge
22 авг. 2026 г.145Minecraft: 1.21.1neoforge
Скачать
Что нового
Roads that arrive properly: staircases with a way out, shorelines that stay near the water, and towns whose names come from every region. 🛣️ - **Staircases lead somewhere.** A road climbing into a bank used to lay its steps straight into the hillside and stop — three stairs facing a wall of dirt. The doorway at the top is cut now. - **Roads meet a town at the town's own level.** The last stretch into a settlement used to trace whatever ground was under it and give up the moment it disagreed by more than two blocks, which left a step at the gate — worst of all where the road arrived from a tunnel. It grades between the two ends now, cutting and filling to arrive level with the street. - **Coming out of the water is gentler.** A crossing used to rear up onto its bank at full tilt and read as a mound; the climb is spread over twice the distance and hugs the waterline for longer. - **Water crossings are marked on both sides.** A stone that fell in the next chunk over was quietly dropped and nobody ever placed it, so diagonal crossings came out marked down one side only. - **Every settlement decides how many roads it wants**, between one and four, instead of the whole world sharing one number. Hamlets with a single way out, crossroads towns with four. - **Town names from every region.** With Cobblemon installed the pool covers Kanto through Paldea instead of three regions. - **Signposts sit at the right height.** Hanging signs hang above head height instead of in your face; boards read at eye level instead of over your head. Lamp posts are one block tall, not three. - **Roadside camps have no lamp** — the campfire is the light — and the chest that sometimes stands beside one is now genuinely rare, and no longer announces itself to Lootr. - **Roads break the plants in their way**, including cocoa, apricorns and wildflowers, instead of treating them as somebody's build and stopping. Farm crops are still left alone. - **The load says what it is doing.** Surveying, graphing, planning or drawing, with counts and timings — it was written for the loading screen years ago and read by nobody. ### Everything else since 1.1.6 Routes was rebuilt around Minecraft's own world generation in the meantime, and forty versions of it went by without a release. The short of each, newest first — the full detail is in `CHANGELOG.md` in the repository: - **1.2.44** — Somebody left a chest at the campfire. 🧰 - **1.2.43** — Bridges are built out of the wood that grows where they stand, their steps meet the bank instead of starting a block above it, and stairs turn corners properly on a chunk seam. 🌉 - **1.2.42** — Nothing changes for a player. Under the hood, the settlement survey can now be asked its question from inside world generation, which is what lets an add-on generate a structure at a spot the road network decides — the Elite Four, in Cobblemon Nuzlocke & Soul Link. 🔧 - **1.2.41** — The town marker sits ON the waystone. 📍 - **1.2.40** — Junctions that stand somewhere, bridges you can climb onto, and trees taken whole. 🌉 - **1.2.39** — Groundwork for add-ons that change world rules in play. ⚙️ - **1.2.38** — Towns that are really there. 🏘️ - **1.2.37** — Towns say hello. 🪧 - **1.2.36** — Town markers sit on the waystone. 📍 - **1.2.35** — Stone railings. 🧱 - **1.2.34** — The "Cities include" checklist finally works both ways. 🏘️ - **1.2.33** — The End stops counting as a town, and the lights calm down. 🏘️ - **1.2.32** — Roads that get built at all, and a generator that stops asking the same question twice. ⚡ - **1.2.31** — Steps you can actually walk, ladders where a step will not do, and towns that announce themselves again. 🪜 - **1.2.30** — Junctions you can walk through, roads that climb, and towns you arrive at instead of through. 🛤️ - **1.2.29** — Signposts you can read from the road, and towns you can name. 🪧 - **1.2.27** — The world closes. 🪧 - **1.2.26** — `/routes settlement connect` completes the coordinates for you. 🏘️ - **1.2.25** — A road you can find on the map, and one that stops leaving things in the air. 🗺️ - **1.2.24** — Put a town where you want one. 🏘️ - **1.2.23** — Roads join a village where its streets already end. 🛤️ - **1.2.22** — The mod's markers arrive in one place, and it is the place you are looking at. 📍 - **1.2.21** — Both sides of a signpost point the same way. 🪧 - **1.2.20** — Counting the road network instead of guessing at it. 🔍 - **1.2.19** — Exploring stops costing what it did. 🗺️ - **1.2.18** — A crossing stays a crossing, and nothing balances on a step. 🌉 - **1.2.17** — Walking down a hill is the same staircase as walking up it. 🪜 - **1.2.16** — The bridge audit says what it found, not just what it missed. 🔎 - **1.2.15** — A road stops mistaking its own steps for someone else's wall. 🪨 - **1.2.14** — Roads you can see, staircases that turn, and a bridge that can be inspected. 🌉 - **1.2.13** — The survey stops being redone from scratch. 🗺️ - **1.2.8** — One signpost, built out of the forest it stands in. 🪧 - **1.2.7** — Generating a chunk stops waiting for a road. ⏱️ - **1.2.6** — Every road knows its own name. 🛣️ - **1.2.5** — Roads that meet the ground properly. 🌉 Closes #75, #77, #113, #132, #133, #134, #135, #136, #137, #138, #145, #146, #149.
release

Routes 1.2.45 (Fabric)

1.2.45+fabric
22 авг. 2026 г.157Minecraft: 1.21.1fabric
Скачать
Что нового
Roads that arrive properly: staircases with a way out, shorelines that stay near the water, and towns whose names come from every region. 🛣️ - **Staircases lead somewhere.** A road climbing into a bank used to lay its steps straight into the hillside and stop — three stairs facing a wall of dirt. The doorway at the top is cut now. - **Roads meet a town at the town's own level.** The last stretch into a settlement used to trace whatever ground was under it and give up the moment it disagreed by more than two blocks, which left a step at the gate — worst of all where the road arrived from a tunnel. It grades between the two ends now, cutting and filling to arrive level with the street. - **Coming out of the water is gentler.** A crossing used to rear up onto its bank at full tilt and read as a mound; the climb is spread over twice the distance and hugs the waterline for longer. - **Water crossings are marked on both sides.** A stone that fell in the next chunk over was quietly dropped and nobody ever placed it, so diagonal crossings came out marked down one side only. - **Every settlement decides how many roads it wants**, between one and four, instead of the whole world sharing one number. Hamlets with a single way out, crossroads towns with four. - **Town names from every region.** With Cobblemon installed the pool covers Kanto through Paldea instead of three regions. - **Signposts sit at the right height.** Hanging signs hang above head height instead of in your face; boards read at eye level instead of over your head. Lamp posts are one block tall, not three. - **Roadside camps have no lamp** — the campfire is the light — and the chest that sometimes stands beside one is now genuinely rare, and no longer announces itself to Lootr. - **Roads break the plants in their way**, including cocoa, apricorns and wildflowers, instead of treating them as somebody's build and stopping. Farm crops are still left alone. - **The load says what it is doing.** Surveying, graphing, planning or drawing, with counts and timings — it was written for the loading screen years ago and read by nobody. ### Everything else since 1.1.6 Routes was rebuilt around Minecraft's own world generation in the meantime, and forty versions of it went by without a release. The short of each, newest first — the full detail is in `CHANGELOG.md` in the repository: - **1.2.44** — Somebody left a chest at the campfire. 🧰 - **1.2.43** — Bridges are built out of the wood that grows where they stand, their steps meet the bank instead of starting a block above it, and stairs turn corners properly on a chunk seam. 🌉 - **1.2.42** — Nothing changes for a player. Under the hood, the settlement survey can now be asked its question from inside world generation, which is what lets an add-on generate a structure at a spot the road network decides — the Elite Four, in Cobblemon Nuzlocke & Soul Link. 🔧 - **1.2.41** — The town marker sits ON the waystone. 📍 - **1.2.40** — Junctions that stand somewhere, bridges you can climb onto, and trees taken whole. 🌉 - **1.2.39** — Groundwork for add-ons that change world rules in play. ⚙️ - **1.2.38** — Towns that are really there. 🏘️ - **1.2.37** — Towns say hello. 🪧 - **1.2.36** — Town markers sit on the waystone. 📍 - **1.2.35** — Stone railings. 🧱 - **1.2.34** — The "Cities include" checklist finally works both ways. 🏘️ - **1.2.33** — The End stops counting as a town, and the lights calm down. 🏘️ - **1.2.32** — Roads that get built at all, and a generator that stops asking the same question twice. ⚡ - **1.2.31** — Steps you can actually walk, ladders where a step will not do, and towns that announce themselves again. 🪜 - **1.2.30** — Junctions you can walk through, roads that climb, and towns you arrive at instead of through. 🛤️ - **1.2.29** — Signposts you can read from the road, and towns you can name. 🪧 - **1.2.27** — The world closes. 🪧 - **1.2.26** — `/routes settlement connect` completes the coordinates for you. 🏘️ - **1.2.25** — A road you can find on the map, and one that stops leaving things in the air. 🗺️ - **1.2.24** — Put a town where you want one. 🏘️ - **1.2.23** — Roads join a village where its streets already end. 🛤️ - **1.2.22** — The mod's markers arrive in one place, and it is the place you are looking at. 📍 - **1.2.21** — Both sides of a signpost point the same way. 🪧 - **1.2.20** — Counting the road network instead of guessing at it. 🔍 - **1.2.19** — Exploring stops costing what it did. 🗺️ - **1.2.18** — A crossing stays a crossing, and nothing balances on a step. 🌉 - **1.2.17** — Walking down a hill is the same staircase as walking up it. 🪜 - **1.2.16** — The bridge audit says what it found, not just what it missed. 🔎 - **1.2.15** — A road stops mistaking its own steps for someone else's wall. 🪨 - **1.2.14** — Roads you can see, staircases that turn, and a bridge that can be inspected. 🌉 - **1.2.13** — The survey stops being redone from scratch. 🗺️ - **1.2.8** — One signpost, built out of the forest it stands in. 🪧 - **1.2.7** — Generating a chunk stops waiting for a road. ⏱️ - **1.2.6** — Every road knows its own name. 🛣️ - **1.2.5** — Roads that meet the ground properly. 🌉 Closes #75, #77, #113, #132, #133, #134, #135, #136, #137, #138, #145, #146, #149.
release

Routes 1.1.6 (NeoForge)

1.1.6+neoforge
6 авг. 2026 г.191Minecraft: 1.21.1neoforge
Скачать
Что нового
The road-building update — and Routes stops being a Cobblemon mod. 🛣️ ### ⛰️ Roads stop diving underground at the first hill - **A small rise no longer turns a road into a tunnel.** The decision was being made on the height of whatever was standing on the ground instead of the ground itself, so a wooded hillock — sometimes a single tall spruce on the route — read as a mountain. The road would bore a sealed pocket a few blocks under the surface while the rest of it carried on over the top, and you would find a stretch of road buried under your feet with no way in or out. Roads now measure the land, and a tunnel is only dug through a hill that is genuinely in the way and long enough to be worth a passage. (#112) - **Tunnel mouths are junctions you can walk through.** Where a bore ends, the road now comes down to meet its floor — cutting an approach or raising an embankment over the last stretch — instead of stopping against a wall of rock with the passage sitting below it. The passage keeps going until it genuinely reaches daylight, and the road picks it up level, one step at most. (#112) - **Roads are planned against the mountains that are actually there.** The height the planner worked from was sampled before the noise that turns a smooth ridge into a jagged peak, so in high country — windswept hills, groves, jagged peaks — the world stood many blocks above what the plan believed. A road would be laid across a mountain the plan never saw, and then paved over its spikes one by one. The profile a road is built on now reads the real, jagged terrain. (#112) - **Roads are graded.** A road was laid on whatever the ground happened to do, so crossing broken country it became a staircase of drops nobody could climb — an audit over one mountain range found thirty-nine unwalkable steps on open road, one of them fifty-one blocks tall. Roads are now built to their planned profile, cutting into a rise and embanking across a dip to hold the climb the "maximum grade" setting allows. The full width of the road sits at one height too, so it never straddles an edge with half of itself dropping away. (#112) ### 🌉 Water is crossed on top of it - **Bridges are built above the water, not on the riverbed.** The height a road was planned at came from the ground under the water, so a crossing dived to the river bottom and the bridge was decked down there with the river flowing over it. A road now rises to meet its crossing and the deck rides clear of the surface. (#117) - **Deep water is crossed on the surface too.** Paved, lantern-lit corridors along the seabed are gone: a stretch of water is either a bridge or an open lane you swim or sail, whatever its depth. (#117) - **A bridge holds its height.** The step that keeps a road's climb gentle treats anything standing proud of its surroundings as a bump to flatten — and a crossing standing clear of the water is exactly that, so a bank a little lower than the waterline dragged whole spans back under. The waterline is now a floor the smoothing cannot go beneath, and approaches rise to meet it like a causeway. (#117) - **A bridge that runs out into open water ends in a slipway.** Where a deck meets a stretch you swim, its last span comes down flush with the surface, so you step off it into the water instead of finding the planks stop in mid-air a block above it. (#117) - **The road does not fill the sea.** A road decides what it is from its centre line but is wider than that, so along a shore part of its width stood in open water and was built up to meet the rest — raising banks of earth out of the sea. Water is crossed or swum, never filled in. (#117) ### 📐 Diagonal roads and tunnels stop duplicating their fittings - **A road running diagonally is the same road as one running straight.** Everything was laid out against the nearest compass direction rather than the way the road was actually going: diagonal roads came out half again as wide, and because the compass direction flipped from one block to the next along a diagonal, handrails, tunnel frames, bridge pillars and lamp posts were placed on all four sides at once. They now follow the road's real direction. (#114) - **Fittings come in the right quantity.** A tunnel frame is two posts and a beam, not a five-post wall; a lantern row is a lantern on each side, not five. And they are spaced by distance travelled, so a curving or diagonal road spaces them like a straight one instead of stretching every gap. (#114) ### 🛤️ Roads leave town like roads, not like a pair of tracks - **Roads heading the same way are one road until they part.** A town connects to each of its neighbours separately, and nothing in that ever considered *direction* — so two neighbours lying the same way each got their own road, and the pair ran side by side for as long as they had a bearing in common. Now they share a single road, and it forks exactly where the destinations pull apart: roads bound for nearly the same place stay together almost the whole way and separate at the end, while roads that diverge at once never merge at all. A fan of several destinations comes out as a tree of forks rather than a bundle of parallel tracks, and every fork is signposted. (#111) - **A road starts at the edge of town, not in the middle of it.** Roads stopped a fixed twenty blocks from a settlement's centre point — but that point is where the game *starts* building a village, not where the village ends, so the road was paving its way in among the houses. A road now stops at the town's real edge and hands over to the street it meets there. (#112) ### 🪧 Signposts - **Roadside fingerposts.** Every so often along a road there is now a post telling you which road you are on and which way each of its towns lies — not only at the junctions and the town gates. (#111) - **A fork out on the water gets a jetty to stand on.** Roads fork where their destinations part, and that can fall in a lake or a bay; the signpost there had nothing to stand on, so the junction went unmarked at exactly the spot you most need telling which way to go. It now gets a small railed deck on piles, lit, and the sign stands on that. (#111) ### 🏘️ "Spawn in city" means a city - **A new world's spawn lands in a settlement that is really there.** The spawn was placed from the same quick read of the world seed the road network uses, which says where a village *may* generate — the game still has to build it, and sometimes it does not, so players were being put down in an empty field with roads leading to it. The spawn now checks with the game itself, for every kind of village the mod builds roads to. It also lands you on dry, solid ground, so a town on a shore no longer drops you in the water. If it cannot tell either way it still uses the nearest town rather than leaving you in the wilderness, and **`/routes debug spawn`** places it on demand for a world that has already had its one attempt. ### 🛣️ Roads wander a quarter less - Roads bend a little less for the same **route curviness** setting, at every value of it. They still follow the country rather than ruling a line across it; they just stop weaving for its own sake. - Ops get **step reporting in `/routes debug gaps`**: every place a tunnel, a bridge or a road hands over to the next at an unwalkable height is listed with its coordinates and the size of the step, so a broken hand-off is a number instead of something you have to spot from the air. (#112) ### 🌍 New worlds start with a map worth looking at - **Spawn pregeneration** — a new world now quietly generates a circle of chunks around spawn the first time you enter it, so your first look at the map already shows towns and the roads between them instead of an empty grid. It runs in the background and never delays getting into the world. Set the size on the ROUTES tab at world creation, or set it to 0 if you would rather it did not. Worlds that already exist get it once, on the next time you load them. (#130) ### 🪢 The Escape Rope moves to Cobblemon Nuzlocke & Soul Link The rope goes with the rest of the Pokémon content. Its most important rule — you cannot rope your way out of a battle — was the last thing this mod asked of Cobblemon, and **Routes now has no Escape Rope, no items at all, and not one line that mentions Cobblemon.** **Install [Cobblemon Nuzlocke & Soul Link](https://modrinth.com/mod/cobblemon-nuzlocke-soullink) 1.1.0 and nothing changes**: the rope crafts the same, works the same, and still takes you to the nearest town of the road network. **Every rope you already own survives**, wherever it is sitting — in a chest, a shulker, an item frame, or a world made before the mod was even renamed. Nothing to redo, nothing to craft again. (#123, #127) **If you don't install it**, you lose the rope and keep everything else — the roads, the towns, the map, the waypoints. ### 🎛️ Change any setting without remaking the world - **`/routes config`** — `list` shows every setting and what it currently is, `get` asks about one, and `set` changes it (operators only), with `reset` putting it back to the mod's default. Every option the create-world screen offers is there, with the same limits: the command refuses a value the slider could not have produced. - **A change sticks.** It applies immediately *and* is written into the world, so it is still there after a restart — the whole point, since the settings you chose at world creation used to be the only ones you would ever get. - **A Config button on the mod list**, on both loaders — Mod Menu on Fabric, the mod list on NeoForge. That screen edits the defaults new worlds start from; a world already in progress has its own settings, which is what `/routes config` and the create-world tab are for. ### 💬 The commands answer in your language - **`/routes` speaks Spanish now** — the network summary, the town and route listings, what is nearest to you and what the chunk you stand on is painted as. Command output was the last corner of the mod still hard-coded in English. - **The generator's diagnostics moved out of the way.** The seven `gen2…` tools are now `/routes debug bench`, `debug towns`, `debug graph`, `debug paint`, `debug areas`, `debug verify` and `debug gaps`, alongside `debug structures`. They used to sit in the same list as the commands you actually use, so typing `/routes ` offered `gen2gaps` before `list`. Their output stays in English on purpose: it is read next to the server log. ### 📍 Map markers you can filter - **Towns, routes and areas each get their own Xaero waypoint set** — **Settlements**, **Routes** and **Areas** — so you can show or hide a whole category from Xaero's own waypoint screen, and the mod's markers stop landing in among your personal ones. Markers you already have are matched by position, so updating never leaves you with two of anything. - **Activating a waystone no longer drops a second marker on its own town.** The waystone still takes the town's name; the town is still discovered. It just stops arriving twice. (#93) ### ⚙️ The world-creation tab actually configures the world This is the big one, and it is a fix rather than a feature. - **What you pick on the ROUTES tab is what your world gets.** The tab saved your choices with the world and the generator then went and read the config file instead, so most of that screen quietly did nothing — the road surface, *Routes per city*, *Cities include*, spawn-in-city. Every option on the tab is now the one your world actually runs on, each time you load it. - **Your global settings stay yours.** A world's rules apply for as long as you are in that world and your own defaults come back when you leave, so playing one world can never rewrite the settings the next one starts from. - **The road knobs are on the tab now** — road width, longest road, curviness and steepest climb. They were hidden precisely because of the disconnection above; with it fixed, they belong in front of you where the rest of the road settings are. - **Cities include folds up.** The structure list is one line you expand, showing how many you have ticked, instead of several hundred toggles burying every option underneath it. It still lists every structure your world actually has, grouped by the mod each comes from. (#131) ### ✨ The chunk paint toggles instantly - Turning **Chunk paint** off and back on used to make the world map re-render itself both times. It now flips like the layer it always looked like. (#64) - The tint and colour controls no longer write the config file to disk on every single step of a slider drag, which is what made dragging them feel sticky. ### 🛣️ It runs on a plain Minecraft world now Roads, towns, named routes and areas, waypoints and the painted map have nothing to do with Pokémon — so from this version **Cobblemon is not required, and is not even declared as a dependency.** Install Routes on a vanilla-ish pack and it works. Install it next to Cobblemon and nothing changes. ### ⚔️ Route trainers moved to Cobblemon Nuzlocke & Soul Link The trainers that stand along the roads, challenge you on sight, and duel each other were the last Pokémon feature living in here. They now ship in **[Cobblemon Nuzlocke & Soul Link](https://modrinth.com/mod/cobblemon-nuzlocke-soullink) 1.1.0**, together with their settings — trainer density, sight range, challenge delay, skirmishes and the trainer entity id, which have left the ROUTES tab and the config file and turn up on the NUZLOCKE tab instead. **If you play with route trainers, install that mod (1.1.0 or newer) and carry on.** Your world remembers exactly which stretches of road it has already populated, so nothing is placed twice and no route suddenly doubles up on trainers. **If you don't, you lose nothing you were using**, and the mod no longer asks you to install Cobblemon to get roads. **The gyms beside towns went with them**, for the same reason: the gym list is COBBLEVERSE's and the markers are named after Gym Leaders. Towns still get a gym placed right next to them — it is **[Cobblemon Nuzlocke & Soul Link](https://modrinth.com/mod/cobblemon-nuzlocke-soullink)** that places it now, and the setting moved to the NUZLOCKE tab under the same name. Worlds in progress keep every gym they already have, and no town is given a second one. Two smaller things go with them: the "you can't Escape Rope out of a battle" check now asks Cobblemon politely and simply doesn't apply when it isn't installed; and the battle-crash guard from 1.0.6 (#31) moved into the Nuzlocke mod, which is where the battles it protects come from. ### Removed - Every route-trainer setting: `route_trainers`, `route_trainer_entity`, `route_trainer_density`, `trainer_los_range`, `route_trainer_challenge_delay_ticks`, `route_trainer_skirmishes`. They keep the same names in the Nuzlocke mod, so worlds in progress keep their choices. - The **Gyms beside towns** setting, and the gym structure list that came with it. Both live in the Nuzlocke mod now, under the same names. - The **Escape Rope**, and with it every item this mod had. It lives in Cobblemon Nuzlocke & Soul Link now, and answers to all three of the ids it has ever had so no world loses the ropes it holds. - Cobblemon as a dependency, on both loaders and on both stores. Closes #128, closes #126, closes #64, closes #93, closes #123, closes #127, closes #130, closes #131.
release

Routes 1.1.6 (Fabric)

1.1.6+fabric
6 авг. 2026 г.491Minecraft: 1.21.1fabric
Скачать
Что нового
The road-building update — and Routes stops being a Cobblemon mod. 🛣️ ### ⛰️ Roads stop diving underground at the first hill - **A small rise no longer turns a road into a tunnel.** The decision was being made on the height of whatever was standing on the ground instead of the ground itself, so a wooded hillock — sometimes a single tall spruce on the route — read as a mountain. The road would bore a sealed pocket a few blocks under the surface while the rest of it carried on over the top, and you would find a stretch of road buried under your feet with no way in or out. Roads now measure the land, and a tunnel is only dug through a hill that is genuinely in the way and long enough to be worth a passage. (#112) - **Tunnel mouths are junctions you can walk through.** Where a bore ends, the road now comes down to meet its floor — cutting an approach or raising an embankment over the last stretch — instead of stopping against a wall of rock with the passage sitting below it. The passage keeps going until it genuinely reaches daylight, and the road picks it up level, one step at most. (#112) - **Roads are planned against the mountains that are actually there.** The height the planner worked from was sampled before the noise that turns a smooth ridge into a jagged peak, so in high country — windswept hills, groves, jagged peaks — the world stood many blocks above what the plan believed. A road would be laid across a mountain the plan never saw, and then paved over its spikes one by one. The profile a road is built on now reads the real, jagged terrain. (#112) - **Roads are graded.** A road was laid on whatever the ground happened to do, so crossing broken country it became a staircase of drops nobody could climb — an audit over one mountain range found thirty-nine unwalkable steps on open road, one of them fifty-one blocks tall. Roads are now built to their planned profile, cutting into a rise and embanking across a dip to hold the climb the "maximum grade" setting allows. The full width of the road sits at one height too, so it never straddles an edge with half of itself dropping away. (#112) ### 🌉 Water is crossed on top of it - **Bridges are built above the water, not on the riverbed.** The height a road was planned at came from the ground under the water, so a crossing dived to the river bottom and the bridge was decked down there with the river flowing over it. A road now rises to meet its crossing and the deck rides clear of the surface. (#117) - **Deep water is crossed on the surface too.** Paved, lantern-lit corridors along the seabed are gone: a stretch of water is either a bridge or an open lane you swim or sail, whatever its depth. (#117) - **A bridge holds its height.** The step that keeps a road's climb gentle treats anything standing proud of its surroundings as a bump to flatten — and a crossing standing clear of the water is exactly that, so a bank a little lower than the waterline dragged whole spans back under. The waterline is now a floor the smoothing cannot go beneath, and approaches rise to meet it like a causeway. (#117) - **A bridge that runs out into open water ends in a slipway.** Where a deck meets a stretch you swim, its last span comes down flush with the surface, so you step off it into the water instead of finding the planks stop in mid-air a block above it. (#117) - **The road does not fill the sea.** A road decides what it is from its centre line but is wider than that, so along a shore part of its width stood in open water and was built up to meet the rest — raising banks of earth out of the sea. Water is crossed or swum, never filled in. (#117) ### 📐 Diagonal roads and tunnels stop duplicating their fittings - **A road running diagonally is the same road as one running straight.** Everything was laid out against the nearest compass direction rather than the way the road was actually going: diagonal roads came out half again as wide, and because the compass direction flipped from one block to the next along a diagonal, handrails, tunnel frames, bridge pillars and lamp posts were placed on all four sides at once. They now follow the road's real direction. (#114) - **Fittings come in the right quantity.** A tunnel frame is two posts and a beam, not a five-post wall; a lantern row is a lantern on each side, not five. And they are spaced by distance travelled, so a curving or diagonal road spaces them like a straight one instead of stretching every gap. (#114) ### 🛤️ Roads leave town like roads, not like a pair of tracks - **Roads heading the same way are one road until they part.** A town connects to each of its neighbours separately, and nothing in that ever considered *direction* — so two neighbours lying the same way each got their own road, and the pair ran side by side for as long as they had a bearing in common. Now they share a single road, and it forks exactly where the destinations pull apart: roads bound for nearly the same place stay together almost the whole way and separate at the end, while roads that diverge at once never merge at all. A fan of several destinations comes out as a tree of forks rather than a bundle of parallel tracks, and every fork is signposted. (#111) - **A road starts at the edge of town, not in the middle of it.** Roads stopped a fixed twenty blocks from a settlement's centre point — but that point is where the game *starts* building a village, not where the village ends, so the road was paving its way in among the houses. A road now stops at the town's real edge and hands over to the street it meets there. (#112) ### 🪧 Signposts - **Roadside fingerposts.** Every so often along a road there is now a post telling you which road you are on and which way each of its towns lies — not only at the junctions and the town gates. (#111) - **A fork out on the water gets a jetty to stand on.** Roads fork where their destinations part, and that can fall in a lake or a bay; the signpost there had nothing to stand on, so the junction went unmarked at exactly the spot you most need telling which way to go. It now gets a small railed deck on piles, lit, and the sign stands on that. (#111) ### 🏘️ "Spawn in city" means a city - **A new world's spawn lands in a settlement that is really there.** The spawn was placed from the same quick read of the world seed the road network uses, which says where a village *may* generate — the game still has to build it, and sometimes it does not, so players were being put down in an empty field with roads leading to it. The spawn now checks with the game itself, for every kind of village the mod builds roads to. It also lands you on dry, solid ground, so a town on a shore no longer drops you in the water. If it cannot tell either way it still uses the nearest town rather than leaving you in the wilderness, and **`/routes debug spawn`** places it on demand for a world that has already had its one attempt. ### 🛣️ Roads wander a quarter less - Roads bend a little less for the same **route curviness** setting, at every value of it. They still follow the country rather than ruling a line across it; they just stop weaving for its own sake. - Ops get **step reporting in `/routes debug gaps`**: every place a tunnel, a bridge or a road hands over to the next at an unwalkable height is listed with its coordinates and the size of the step, so a broken hand-off is a number instead of something you have to spot from the air. (#112) ### 🌍 New worlds start with a map worth looking at - **Spawn pregeneration** — a new world now quietly generates a circle of chunks around spawn the first time you enter it, so your first look at the map already shows towns and the roads between them instead of an empty grid. It runs in the background and never delays getting into the world. Set the size on the ROUTES tab at world creation, or set it to 0 if you would rather it did not. Worlds that already exist get it once, on the next time you load them. (#130) ### 🪢 The Escape Rope moves to Cobblemon Nuzlocke & Soul Link The rope goes with the rest of the Pokémon content. Its most important rule — you cannot rope your way out of a battle — was the last thing this mod asked of Cobblemon, and **Routes now has no Escape Rope, no items at all, and not one line that mentions Cobblemon.** **Install [Cobblemon Nuzlocke & Soul Link](https://modrinth.com/mod/cobblemon-nuzlocke-soullink) 1.1.0 and nothing changes**: the rope crafts the same, works the same, and still takes you to the nearest town of the road network. **Every rope you already own survives**, wherever it is sitting — in a chest, a shulker, an item frame, or a world made before the mod was even renamed. Nothing to redo, nothing to craft again. (#123, #127) **If you don't install it**, you lose the rope and keep everything else — the roads, the towns, the map, the waypoints. ### 🎛️ Change any setting without remaking the world - **`/routes config`** — `list` shows every setting and what it currently is, `get` asks about one, and `set` changes it (operators only), with `reset` putting it back to the mod's default. Every option the create-world screen offers is there, with the same limits: the command refuses a value the slider could not have produced. - **A change sticks.** It applies immediately *and* is written into the world, so it is still there after a restart — the whole point, since the settings you chose at world creation used to be the only ones you would ever get. - **A Config button on the mod list**, on both loaders — Mod Menu on Fabric, the mod list on NeoForge. That screen edits the defaults new worlds start from; a world already in progress has its own settings, which is what `/routes config` and the create-world tab are for. ### 💬 The commands answer in your language - **`/routes` speaks Spanish now** — the network summary, the town and route listings, what is nearest to you and what the chunk you stand on is painted as. Command output was the last corner of the mod still hard-coded in English. - **The generator's diagnostics moved out of the way.** The seven `gen2…` tools are now `/routes debug bench`, `debug towns`, `debug graph`, `debug paint`, `debug areas`, `debug verify` and `debug gaps`, alongside `debug structures`. They used to sit in the same list as the commands you actually use, so typing `/routes ` offered `gen2gaps` before `list`. Their output stays in English on purpose: it is read next to the server log. ### 📍 Map markers you can filter - **Towns, routes and areas each get their own Xaero waypoint set** — **Settlements**, **Routes** and **Areas** — so you can show or hide a whole category from Xaero's own waypoint screen, and the mod's markers stop landing in among your personal ones. Markers you already have are matched by position, so updating never leaves you with two of anything. - **Activating a waystone no longer drops a second marker on its own town.** The waystone still takes the town's name; the town is still discovered. It just stops arriving twice. (#93) ### ⚙️ The world-creation tab actually configures the world This is the big one, and it is a fix rather than a feature. - **What you pick on the ROUTES tab is what your world gets.** The tab saved your choices with the world and the generator then went and read the config file instead, so most of that screen quietly did nothing — the road surface, *Routes per city*, *Cities include*, spawn-in-city. Every option on the tab is now the one your world actually runs on, each time you load it. - **Your global settings stay yours.** A world's rules apply for as long as you are in that world and your own defaults come back when you leave, so playing one world can never rewrite the settings the next one starts from. - **The road knobs are on the tab now** — road width, longest road, curviness and steepest climb. They were hidden precisely because of the disconnection above; with it fixed, they belong in front of you where the rest of the road settings are. - **Cities include folds up.** The structure list is one line you expand, showing how many you have ticked, instead of several hundred toggles burying every option underneath it. It still lists every structure your world actually has, grouped by the mod each comes from. (#131) ### ✨ The chunk paint toggles instantly - Turning **Chunk paint** off and back on used to make the world map re-render itself both times. It now flips like the layer it always looked like. (#64) - The tint and colour controls no longer write the config file to disk on every single step of a slider drag, which is what made dragging them feel sticky. ### 🛣️ It runs on a plain Minecraft world now Roads, towns, named routes and areas, waypoints and the painted map have nothing to do with Pokémon — so from this version **Cobblemon is not required, and is not even declared as a dependency.** Install Routes on a vanilla-ish pack and it works. Install it next to Cobblemon and nothing changes. ### ⚔️ Route trainers moved to Cobblemon Nuzlocke & Soul Link The trainers that stand along the roads, challenge you on sight, and duel each other were the last Pokémon feature living in here. They now ship in **[Cobblemon Nuzlocke & Soul Link](https://modrinth.com/mod/cobblemon-nuzlocke-soullink) 1.1.0**, together with their settings — trainer density, sight range, challenge delay, skirmishes and the trainer entity id, which have left the ROUTES tab and the config file and turn up on the NUZLOCKE tab instead. **If you play with route trainers, install that mod (1.1.0 or newer) and carry on.** Your world remembers exactly which stretches of road it has already populated, so nothing is placed twice and no route suddenly doubles up on trainers. **If you don't, you lose nothing you were using**, and the mod no longer asks you to install Cobblemon to get roads. **The gyms beside towns went with them**, for the same reason: the gym list is COBBLEVERSE's and the markers are named after Gym Leaders. Towns still get a gym placed right next to them — it is **[Cobblemon Nuzlocke & Soul Link](https://modrinth.com/mod/cobblemon-nuzlocke-soullink)** that places it now, and the setting moved to the NUZLOCKE tab under the same name. Worlds in progress keep every gym they already have, and no town is given a second one. Two smaller things go with them: the "you can't Escape Rope out of a battle" check now asks Cobblemon politely and simply doesn't apply when it isn't installed; and the battle-crash guard from 1.0.6 (#31) moved into the Nuzlocke mod, which is where the battles it protects come from. ### Removed - Every route-trainer setting: `route_trainers`, `route_trainer_entity`, `route_trainer_density`, `trainer_los_range`, `route_trainer_challenge_delay_ticks`, `route_trainer_skirmishes`. They keep the same names in the Nuzlocke mod, so worlds in progress keep their choices. - The **Gyms beside towns** setting, and the gym structure list that came with it. Both live in the Nuzlocke mod now, under the same names. - The **Escape Rope**, and with it every item this mod had. It lives in Cobblemon Nuzlocke & Soul Link now, and answers to all three of the ids it has ever had so no world loses the ropes it holds. - Cobblemon as a dependency, on both loaders and on both stores. Closes #128, closes #126, closes #64, closes #93, closes #123, closes #127, closes #130, closes #131.
release

Routes 1.0.33 (NeoForge)

1.0.33+neoforge
1 авг. 2026 г.121Minecraft: 1.21.1neoforge
Скачать
Что нового
The Nuzlocke rules move out into their own mod. 🧳 ### 🧳 Nuzlocke & Soul Link is now its own mod Everything about the run — one catch per zone, permadeath, mandatory nicknames, the shiny clause, level caps, the starter randomiser, Defeated Catch and Soul Link co-op — now lives in **Cobblemon Nuzlocke & Soul Link**, a separate mod that depends on this one. **Playing a Nuzlocke? Install it and nothing changes.** Your world keeps its zone log, its deaths and its soul links — the save data is read from exactly where it always was — and your settings come across on their own, both the global ones and the per-world rules. The NUZLOCKE tab is still on the create-world screen; the add-on puts it there. **Not playing a Nuzlocke?** This release is lighter and there is nothing to do. Why split at all: the two do different jobs. Routes builds the world — roads between structures, named routes and towns, the map integration and the waypoints. The Nuzlocke rules are a way to *play* in that world, and plenty of people want one without the other. ### 🧭 What Routes is now Roads, named zones, map integration, waypoints and the Escape Rope. That is the whole mod. ### 🐛 Fixed - Opening the create-world screen could crash when a mod registered config options that clashed by name with another's. The option catalog now refuses the clashing source and says so in the log, instead of failing later with a message that pointed nowhere near the cause.
release

Routes 1.0.33 (Fabric)

1.0.33+fabric
1 авг. 2026 г.207Minecraft: 1.21.1fabric
Скачать
Что нового
The Nuzlocke rules move out into their own mod. 🧳 ### 🧳 Nuzlocke & Soul Link is now its own mod Everything about the run — one catch per zone, permadeath, mandatory nicknames, the shiny clause, level caps, the starter randomiser, Defeated Catch and Soul Link co-op — now lives in **Cobblemon Nuzlocke & Soul Link**, a separate mod that depends on this one. **Playing a Nuzlocke? Install it and nothing changes.** Your world keeps its zone log, its deaths and its soul links — the save data is read from exactly where it always was — and your settings come across on their own, both the global ones and the per-world rules. The NUZLOCKE tab is still on the create-world screen; the add-on puts it there. **Not playing a Nuzlocke?** This release is lighter and there is nothing to do. Why split at all: the two do different jobs. Routes builds the world — roads between structures, named routes and towns, the map integration and the waypoints. The Nuzlocke rules are a way to *play* in that world, and plenty of people want one without the other. ### 🧭 What Routes is now Roads, named zones, map integration, waypoints and the Escape Rope. That is the whole mod. ### 🐛 Fixed - Opening the create-world screen could crash when a mod registered config options that clashed by name with another's. The option catalog now refuses the clashing source and says so in the log, instead of failing later with a message that pointed nowhere near the cause.
release

Cobblemon Routes 1.0.0 (NeoForge)

1.0.0+neoforge
10 июл. 2026 г.185Minecraft: 1.21.1neoforge
Скачать
Что нового
**Out of the testing phase — Cobblemon Routes 1.0!** 🎉 This release also carries everything since the last published build (0.77.0); the highlights of that journey are recapped at the end. ### 🗺️ One capture per city, per route, per area - The Nuzlocke first-encounter rule now follows the world's real geography **completely** (#42): every **city**, every **route**, every named enclosed **area** (A1, A2, …) is its own capture zone — and the **open wilderness is one single shared zone** per dimension. It no longer borrows the nearest zone's slot: **growing your road network is how you earn new capture zones**. ### 🛣️ Ring roads — your region fills itself in - The road network now keeps **closing loops**: towns that are close on the map but far apart by road get a direct connection, and every loop **encloses a new named AREA** (= a new capture zone). Watch the teal pockets multiply as your region matures. Toggleable (**Ring roads**), and ops can force it anytime with **`/routes weave`**. ### 🏋️ Gyms move into town - With a gym pack installed (e.g. COBBLEVERSE), every discovered city now gets a **gym placed right beside it** (#42) — no more gyms lost alone in the wilderness. One per town, just outside the streets, on its own capture zone. Toggleable (**Gyms next to cities**). ### ⌨️ The Nuzlocke log is one key away - Press **I** (rebindable) to open your **visited-zones log** anywhere — same screen as `/nuzlocke log`. ### 🏪 Store pages refreshed - The project descriptions were rewritten to showcase everything the mod does today (#22), in both a short and a full form, on both stores. --- ### 📜 Everything since 0.77.0, in brief - **Routes**: every world setting moved to the create-world tabs (applied BEFORE generation); unified curvy + painted + signposted route generation with no roads-to-nowhere; per-route random **surfaces** and **illumination** (surface/tunnel/underwater); clear **water crossings** framed by lane-marker rocks; junction plazas + signs; towns-only waypoints. - **The map**: Xaero chunk-paint with correct, subtle per-category colours; **enclosed-only teal areas with names** like *A3-Frostpine*; a **control column on the world map** (paint toggle, repaint, live City/Route/Area intensity sliders); zone pop-ups that fire exactly when the paint under you changes, in your chosen style. - **Nuzlocke**: simplified, always-on core ruleset (permadeath, spectator-on-loss, Hard difficulty); RCT owns the level cap; capped leads no longer block the team EXP share; Defeated Catch survives battle-end; shiny clause; dedicated **Starter** section (Mix/Random modes, filters, **shiny starters by default**); **visited-zones log** (key I) and **Soullock linked-teams summary** GUIs. - **Trainers**: route trainers with sight-line challenges, a **density** setting (Low → Brutal, scaling with route length), owed-battle memory across relogs, and ambient **skirmishes** with a 10–15 block standoff, strict one-on-one duels and a faint-the-loser finale. - **Commands**: brand-new **`/routes`** and **`/nuzlocke`** roots (status, list, nearest, zone, tp, rename, weave, repaint, log, map, summary…) with the old root kept as alias. - **Cities**: villages-only by default, with a 16-entry **Cities include** checklist (Cobblemon fossils, ruins, fishing boats, shipwreck coves, outposts, pyramids, huts, igloos, mansions, trail ruins, portals) — you decide what counts as a town.
release

Cobblemon Routes 1.0.0 (Fabric)

1.0.0+fabric
10 июл. 2026 г.719Minecraft: 1.21.1fabric
Скачать
Что нового
**Out of the testing phase — Cobblemon Routes 1.0!** 🎉 This release also carries everything since the last published build (0.77.0); the highlights of that journey are recapped at the end. ### 🗺️ One capture per city, per route, per area - The Nuzlocke first-encounter rule now follows the world's real geography **completely** (#42): every **city**, every **route**, every named enclosed **area** (A1, A2, …) is its own capture zone — and the **open wilderness is one single shared zone** per dimension. It no longer borrows the nearest zone's slot: **growing your road network is how you earn new capture zones**. ### 🛣️ Ring roads — your region fills itself in - The road network now keeps **closing loops**: towns that are close on the map but far apart by road get a direct connection, and every loop **encloses a new named AREA** (= a new capture zone). Watch the teal pockets multiply as your region matures. Toggleable (**Ring roads**), and ops can force it anytime with **`/routes weave`**. ### 🏋️ Gyms move into town - With a gym pack installed (e.g. COBBLEVERSE), every discovered city now gets a **gym placed right beside it** (#42) — no more gyms lost alone in the wilderness. One per town, just outside the streets, on its own capture zone. Toggleable (**Gyms next to cities**). ### ⌨️ The Nuzlocke log is one key away - Press **I** (rebindable) to open your **visited-zones log** anywhere — same screen as `/nuzlocke log`. ### 🏪 Store pages refreshed - The project descriptions were rewritten to showcase everything the mod does today (#22), in both a short and a full form, on both stores. --- ### 📜 Everything since 0.77.0, in brief - **Routes**: every world setting moved to the create-world tabs (applied BEFORE generation); unified curvy + painted + signposted route generation with no roads-to-nowhere; per-route random **surfaces** and **illumination** (surface/tunnel/underwater); clear **water crossings** framed by lane-marker rocks; junction plazas + signs; towns-only waypoints. - **The map**: Xaero chunk-paint with correct, subtle per-category colours; **enclosed-only teal areas with names** like *A3-Frostpine*; a **control column on the world map** (paint toggle, repaint, live City/Route/Area intensity sliders); zone pop-ups that fire exactly when the paint under you changes, in your chosen style. - **Nuzlocke**: simplified, always-on core ruleset (permadeath, spectator-on-loss, Hard difficulty); RCT owns the level cap; capped leads no longer block the team EXP share; Defeated Catch survives battle-end; shiny clause; dedicated **Starter** section (Mix/Random modes, filters, **shiny starters by default**); **visited-zones log** (key I) and **Soullock linked-teams summary** GUIs. - **Trainers**: route trainers with sight-line challenges, a **density** setting (Low → Brutal, scaling with route length), owed-battle memory across relogs, and ambient **skirmishes** with a 10–15 block standoff, strict one-on-one duels and a faint-the-loser finale. - **Commands**: brand-new **`/routes`** and **`/nuzlocke`** roots (status, list, nearest, zone, tp, rename, weave, repaint, log, map, summary…) with the old root kept as alias. - **Cities**: villages-only by default, with a 16-entry **Cities include** checklist (Cobblemon fossils, ruins, fishing boats, shipwreck coves, outposts, pyramids, huts, igloos, mansions, trail ruins, portals) — you decide what counts as a town.
beta

Cobblemon Routes 0.77.0 (NeoForge)

0.77.0+neoforge
3 июл. 2026 г.69Minecraft: 1.21.1neoforge
Скачать
Что нового
### 🏞️ City flattening is now opt-in - **`flatten_cities` now defaults off** (#6). Terrain flattening could look rough on hilly ground, so it's no longer on by default — your worlds keep their natural landscape. Want the flat town platforms? Just flip **`flatten_cities`** back on in the config or on the **Routes** tab of the create-world screen. 🏙️
beta

Cobblemon Routes 0.77.0 (Fabric)

0.77.0+fabric
3 июл. 2026 г.170Minecraft: 1.21.1fabric
Скачать
Что нового
### 🏞️ City flattening is now opt-in - **`flatten_cities` now defaults off** (#6). Terrain flattening could look rough on hilly ground, so it's no longer on by default — your worlds keep their natural landscape. Want the flat town platforms? Just flip **`flatten_cities`** back on in the config or on the **Routes** tab of the create-world screen. 🏙️
beta

Cobblemon Routes 0.68.1

0.68.1
26 июн. 2026 г.196Minecraft: 1.21.1fabric
Скачать
Что нового
### Fixed — mod icon - The jar embedded a 504-byte placeholder icon, so Mod Menu and launchers showed an old/blank icon. It now embeds the real **Cobblemon Routes** logo (256×256 PNG). The Modrinth project title + icon were already correct; this fixes the icon shown from the jar itself.
beta

Cobblemon Routes 0.68.1 (NeoForge)

0.68.1+neoforge
26 июн. 2026 г.59Minecraft: 1.21.1neoforge
Скачать
Что нового
### Fixed — mod icon - The jar embedded a 504-byte placeholder icon, so Mod Menu and launchers showed an old/blank icon. It now embeds the real **Cobblemon Routes** logo (256×256 PNG). The Modrinth project title + icon were already correct; this fixes the icon shown from the jar itself.
beta

Cobblemon Routes 0.68.0

0.68.0
26 июн. 2026 г.30Minecraft: 1.21.1fabric
Скачать
Что нового
### Fixed — NeoForge launch crash - **0.67.0 crashed on NeoForge launch** (`Registry Object not present: capsule_pedestal`): the shared client init resolved the capsule-pedestal block-entity type inside the NeoForge `@Mod` constructor, which runs **before** NeoForge populates the registry. The renderer is now registered **per loader at a post-registry moment** — Fabric from its `ClientModInitializer`, NeoForge from `EntityRenderersEvent.RegisterRenderers` (mod bus). Fabric was unaffected. ### Changed — publishing - Modrinth now publishes a **separate version per loader** — Fabric as `<ver>`, NeoForge as `<ver>+neoforge` — instead of bundling both jars in one version (Modrinth Content Rules §5.7: one primary file per version). CurseForge keeps both files in the one release.
beta

Cobblemon Routes 0.68.0 (NeoForge)

0.68.0+neoforge
26 июн. 2026 г.29Minecraft: 1.21.1neoforge
Скачать
Что нового
### Fixed — NeoForge launch crash - **0.67.0 crashed on NeoForge launch** (`Registry Object not present: capsule_pedestal`): the shared client init resolved the capsule-pedestal block-entity type inside the NeoForge `@Mod` constructor, which runs **before** NeoForge populates the registry. The renderer is now registered **per loader at a post-registry moment** — Fabric from its `ClientModInitializer`, NeoForge from `EntityRenderersEvent.RegisterRenderers` (mod bus). Fabric was unaffected. ### Changed — publishing - Modrinth now publishes a **separate version per loader** — Fabric as `<ver>`, NeoForge as `<ver>+neoforge` — instead of bundling both jars in one version (Modrinth Content Rules §5.7: one primary file per version). CurseForge keeps both files in the one release.
beta

Cobblemon Routes 0.67.0

0.67.0
25 июн. 2026 г.32Minecraft: 1.21.1fabric
Скачать
Что нового
### Fixed — route elevation, waystone names, arrival banner - **Routes no longer arrive on the rooftops of cities, and the exaggerated Y jumps are gone.** The route frontier carried its *starting* Y forward instead of following the terrain, so tunnels bored at the wrong height and a mountain-crossing road kept the mountain's elevation all the way into a lower city. The frontier now re-anchors to the **actual ground** at the end of each segment, so routes descend toward a city instead of landing on its roof. Tunnels also trigger on a smaller climb (rise ≥ 6, was 8) for flatter roads through hills. - **No more nameless waystones.** A `GenerateWaystoneNameEvent` hook gives any blank waystone (our spawn waystone, or any the pack left unnamed) a deterministic city name; real structure/town names (e.g. "Camphrier Town") are kept. Already-placed blank waystones are also named when first activated. - **The "Now entering …" banner always matches the waystone now.** It only fires for a REAL (waystone- or structure-confirmed) name, never a predicted placeholder — so it no longer announces a made-up name that differs from the waystone you actually see. ### Diagnostics - Xaero chunk-paint: the client now logs how many cities/routes it received, and logs once when the highlighter actually paints a chunk — to pinpoint, in-game, whether a missing tint is a data or a render problem (registration itself already succeeds).
beta

Cobblemon Routes 0.64.0

0.64.0
25 июн. 2026 г.35Minecraft: 1.21.1fabric
Скачать
Что нового
### Added — NeoForge mixin parity - The three mixins now apply on **both** loaders: **PC-lock** (`PCLinkManagerMixin`), the create-world **NUZLOCKE/ROUTES tabs** (`CreateWorldScreenMixin`), and the **battle-forfeit block** (`ForfeitActionResponseMixin`). Each loader's Loom generates its own refmap (the mixin sources are duplicated per module for now; a shared-common config can dedupe later). - `neoforge.mods.toml`: registered both mixin configs, added Cobblemon (`ordering = AFTER`) + Cloth Config dependencies, and pointed `displayURL` at the public wiki (dropped the private-repo link). - Still NeoForge-pending: Xaero map integration (Fabric-only). NeoForge jar still needs in-game verify.
beta

Cobbleverse RPG - NUZLOCKE 0.45.0

0.45.0
14 июн. 2026 г.615Minecraft: 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11fabric
Скачать
Что нового
# Changelog All notable changes to this project are documented here. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ### Planned - A real CreateWorldScreen tab for choosing the starting-city type (the `spawn_city_structure_tags` list covers the function for now; default is the village tags → effectively random nearest). - Per-variant city tags (so the starting city type can be e.g. only "fighting" bca villages). - **Dive item** (Phase 9): underwater breathing/mobility to travel the aquatic routes (HM Dive-style). ## [0.45.0] - 2026-06-14 ### Fixed — No route toast while inside a town/structure - **Route-entry toasts are now suppressed whenever the player stands inside any generated structure** (village/city, gym, …), not just within a fixed 64-block radius of the recorded centre. Fixes the "route toast while in a city" report for villages whose footprint extends past that radius (`getStructureContaining` check in `RouteTracker`). ## [0.44.0] - 2026-06-14 ### Fixed — Downed wilds stay put and can't be re-battled - **A defeated wild lying in its Defeated-Catch window can no longer re-enter combat.** Any battle that would include a downed wild is cancelled at `BATTLE_STARTED_PRE` — it can only be re-caught, not fought again. - **The downed body is kept inert.** Its freeze (AI off, navigation stopped, zeroed velocity, lying SLEEP pose) is now re-asserted every second, so flows that re-enable AI or recalculate the pose can't make it wander or stand back up. ## [0.43.0] - 2026-06-14 ### Added — Differentiable road intersections - **Crossings now get a contrasting plaza** so they stand out from the road ("haz las intercepciones más diferenciables"): where two roads cross (out in the open, away from cities), the junction is paved as a stone-brick ring around a polished-andesite floor, radius 3 — wider than the 2-wide road — in addition to the existing four-line junction signpost. Skips aquatic crossings. ## [0.42.0] - 2026-06-14 ### Added — Mineshaft tunnels through mountains - **Routes now bore tunnels through terrain too costly to go around.** When a road is connecting to a known node and a segment's surface path would climb ≥ `TUNNEL_RISE_TRIGGER` (12) blocks — or no surface path exists at all — the road bores a straight, constant-height **mineshaft** toward the target instead of contouring up and over the mountain. (The user's explicit exception to the never-terraform rule: "si una ruta ya ve un nodo pero el costo es demasiado alto… como un mineshaft".) - The tunnel is 3 wide × 4 high, floored with the route's path block, with an **oak frame + beam + a hung lantern** every 5 cells for support and light. Carved blocks are removed without dropping items. - It **self-terminates**: each segment re-checks the surface, so it keeps tunnelling while the mountain stays ≥12 above the bore and resumes normal surface paving once the terrain descends to meet it. - Won't bore through other structures (a centreline cell inside a foreign structure cancels the tunnel, falling back to the normal stall/retry). ## [0.41.0] - 2026-06-14 ### Changed — Routes flatter + kept off the coast - **Routes now keep a buffer inland from shorelines** ("aléjalas de la costa"). A bounded multi-source BFS from water cells fills a coast-distance gradient (`Snapshot.coastCost`); the A* pays `(COAST_RADIUS - dist) * COAST_COST` for cells within 6 of water, so roads stay ~a few blocks off coasts instead of hugging them — while still able to approach/bridge water when there's no alternative (the penalty is finite). Water cells themselves are unchanged (they already pay `WATER_COST`). - **Routes prefer flatter ground**: the per-step climb penalty (`SLOPE_COST`, applied to the square of the height change) is raised 5 → 7, so roads contour around hills on gentler grades. - A* optimality preserved: both penalties only raise real step cost above the (still admissible) heuristic. ## [0.40.0] - 2026-06-13 ### Added — Hunger toggle + PC-only-at-block enforcement - **Hunger toggle now enforced.** When the world's `enableHunger` rule is off, survival/adventure players are kept fed once a second (food + saturation topped, exhaustion zeroed) so they never starve; when on (the default) vanilla hunger drains normally. (`NuzlockeManager.enforceHunger`.) - **"PC only at the PC block" now enforced.** A `PCLinkManager` mixin drops remote/portable PC links (a plain `PCLink` or the predicate overload) when the rule is on, so the PC can only be opened at a real PC block. The block's own `ProximityPCLink` is never touched — normal PC use (the only way to store dead Pokémon in a Nuzlocke) keeps working. Blocked remote opens tell the player why. The rule applies only in Nuzlocke worlds. ### Notes - Both rules read the per-world value (`NuzlockeManager.effectiveRules()`) when the world is configured, else the global config — same as the rest of the 0.39.0 options. ## [0.39.0] - 2026-06-13 ### Added — NUZLOCKE tab at world creation (all options, visible at last) - **A real NUZLOCKE tab on the create-world screen**, sitting next to GAME / WORLD / MORE (`CreateWorldScreenMixin` widens the tab-navigation `Tab[]`). It shows the four gamemode toggles inline plus an **"All Nuzlocke options…"** button to the full screen. This replaces the old top-left button that was hidden behind the tab bar — the reason the options weren't visible at world creation. - **The setup screen now exposes every option** (15 total) in a two-column layout with sliders for the integers: Nuzlocke, encounter lock, permadeath, spectator-on-loss, healing mode, starter mode, **starter level (1–25), shared EXP, EXP-per-KO, EXP boost (1–16×), capture-zone mode, share same-structure zones, route generation, hunger, PC-only-at-block**. - Choices made in the tab/screen are **parked per change** and pushed to the integrated server on world join; they only configure a **new (unconfigured) world**, so loading an existing world never gets its rules clobbered (`preWorld` flag on the submit payload, gated server-side). ### Changed - The world-setup payloads now carry the full rule set as **one NBT blob** (`NuzlockeRules`) instead of a 6-field tuple (`PacketCodec.tuple` maxes at 6) — this is what let the long option tail reach the world. `NuzlockeData` persists all 15 per world (older saves fall back to the rule defaults). - The Nuzlocke manager now reads **starter level, EXP boost, capture-zone mode, share-structure zones, and route generation** through the per-world rules when the world is configured (else the config), via `NuzlockeManager.effectiveRules()`. ## [0.38.0] - 2026-06-13 ### Changed — Routes clear whole trees + English biome names - **Routes now fell entire trees in the path.** When a route's clearance pass hits a log or leaf, it flood-fills the connected logs+leaves (26-neighbour BFS, bounded) and removes them all — no floating canopy left behind, no item drops (`fellTree` in `RouteGenerator.clearAbove`). Previously only the single block directly above the road was cleared, leaving stumps and hovering foliage. - **Route names are now `"Route N: <Biome> <Biome>"` in English, derived from the biomes the road traverses** (e.g. `Route 3: Plains Forest`). Replaces the old Spanish flavour-name pool. The name is stamped eagerly with the start biome while a directional walk is being laid (`Route 3: Plains`), then re-stamped with both endpoint biomes — keeping its number — once the walk connects to a node. Endpoint biomes that match collapse to a single word (`Route 4: Taiga`). `biomeWord`/`biomeSpan` helpers in `RouteGenerator`; `nextRouteName(descriptor)` / `restampDescriptor` in `RouteData`. ## [0.37.0] - 2026-06-13 ### Added — Nuzlocke options (config; world-creation tab is the next step) - **Starter level** (`nuzlocke_starter_level`, default 5, max 25): a freshly chosen starter is set to this level on `STARTER_CHOSEN`. - **EXP boost** (`nuzlocke_exp_boost`, integer, default 1×): multiplies every EXP gain via `EXPERIENCE_GAINED_EVENT_PRE`. - **Capture-zone mode** (`nuzlocke_zone_mode`: BIOME / ROUTE / BOTH) + **`nuzlocke_share_structure_zones`** (same-type structures share one zone vs. one per instance). Biome zones are selectable again; ROUTE (city/route/structure) stays the default, BOTH adds a biome fallback in open wilderness. - Flags **`nuzlocke_enable_hunger`** and **`nuzlocke_pc_only_at_block`** (the PC-block lock + hunger enforcement wiring follows). ### Notes - These live in the config screen (`/cobbleverserpg config` or key K) for now. Moving them into a proper **NUZLOCKE tab** in the world-creation screen needs the per-world setup payload to switch from a 6-field tuple to an NBT blob (`PacketCodec.tuple` maxes at 6) — that refactor is the next step. ## [0.36.0] - 2026-06-13 ### Changed - **Routes seek flat ground instead of charging over mountains.** Directional walks now sample candidate headings each step and steer toward the **flattest** one (with a small on-course bias), and the A* climb penalty is much stronger (squared height-change × 5). Roads contour around hills and hug level terrain — and they still **never terraform**; only the existing surface is paved. - **Natural, unambiguous route names**: a themed pool ("Sendero del Roble", "Paso del Río", "Vereda Brumosa"…) replaces "Ruta 1S"-style names, removing the S/6 confusion; names cycle with a numeral suffix once the pool is exhausted. ## [0.35.0] - 2026-06-13 ### Added - **Capsule Display Pedestal** (Module 5, phase 2): a craftable block (6 quartz blocks + an amethyst shard) that displays a sealed Pokémon. Right-click it with a **filled** Pokémon Capsule to set the capsule on the pedestal — it **floats, bobs and spins** above the block (block-entity renderer), with the sealed Pokémon's **name billboarded** over it when you're close. Right-click empty-handed to take the capsule back; breaking the pedestal drops it. This is the mod's first custom block (block + block-entity + renderer infrastructure, in a new `block` package). ## [0.34.0] - 2026-06-13 ### Changed - **Nuzlocke zones are never biome-based.** A position now resolves only to the **city**, **named route**, or **structure** it belongs to; open wilderness falls back to the **nearest city or route** (whichever is closer), never to a biome. The only non-city/route/structure key is a single generic "Wilderness" zone, and only when nothing has been discovered yet. (Legacy biome-keyed records from old saves still display via their biome name; `/cobbleverserpg nuzlocke reset` for a clean chart.) - **Directional walks wander more while searching** for a node: a stronger per-segment random drift plus a slow sinusoidal sway sweeps the walk across directions, so roads cover more ground (and reach more nodes) instead of ruling near-straight lines. - **Roads are named the moment they start being laid**, not only when they connect: a directional walk gets its "Ruta N<dir>" name (from its bearing) as soon as it begins, and carries that name over to the final city edge when it connects. Abandoned walks release their provisional name (no save leak). ## [0.33.0] - 2026-06-13 ### Added - **Nuzlocke setup from the main menu** (GDD Module 8 — the CreateWorldScreen integration): the vanilla **Create New World** screen now has a "Nuzlocke Rules (Cobbleverse)" button (top-left). It opens the rule screen pre-world; the chosen rules are parked client-side (`PendingNuzlockeRules`) and pushed to the integrated server on join, configuring that world — so you set the Nuzlocke up while creating the world instead of waiting for the in-world prompt. The in-world first-join prompt and `/cobbleverserpg nuzlocke setup` still work for already-running worlds. ## [0.32.1] - 2026-06-13 ### Fixed - **Server-tick crash in the route engine** (`NullPointerException` in `RouteData.edgeKey`): a shelved **directional walk** (whose target is a `walkKey`, so the job's `b` node is null) was requeued as a fixed `Edge(a, b)` with a null `b`, which then NPE'd in `isCompleted` and took down the tick loop. Walks now requeue by key into `pendingWalks` and city-edges into the queue (`shelveJob()`), and `enqueue()` drops any malformed (null-endpoint) edge as a safety net. ## [0.32.0] - 2026-06-12 Sprint from the new testing environment. ### Added - **Notification style toggle** (`notification_style`, client-side): the mod's pop-ups can be shown as a corner **toast**, a big on-screen **announcement** (title + subtitle), or a **chat** line — routed through a new `Notifications` client helper (waypoint discovery uses it). - **Kanto gyms are road "cities"**: a shipped `#cobbleverse_rpg:gyms` structure tag (Brock, Misty, Lt. Surge, Erika, Koga, Sabrina, Blaine, Giovanni, Kanto League — optional entries) is added to `route_city_structure_tags`, so roads connect the gyms. Region gyms also connect via `connect_all_structures`. - **Challenged players turn to face the trainer**: when a route trainer's line-of-sight engagement fires the "!", the player's head snaps toward the NPC (synced to client) to acknowledge the duel. ### Changed - **No item revives in Nuzlocke**: any item / machine / command that would revive a fainted (0 HP) Pokémon is rejected in `onHealAttempt`; only a Pokémon's **move** (e.g. Revival Blessing, which is applied by the battle engine and never hits this out-of-battle gate) can bring a fainted ally back. - **Healing config reads as "Healing Allowed"** (en) / "Curación Permitida" (es); the `ITEMS_ONLY` mode no longer implies revives. - **Game-over is a mass notification**: losing the run now pushes a bold **title + subtitle + sound** to every player (plus the existing chat broadcast), not just a chat line. - **One command root**: the client config command moved from `/cobbleverse_rpg` to `/cobbleverserpg`, unifying with the server's `routes`/`nuzlocke`/`soullock` subcommands. - **License changed from CC0 to a revenue-share, source-available license** ("if you make money, the author makes money"): free for personal/non-commercial use; commercial use requires a revenue-share agreement. `fabric.mod.json` license id updated. ### Datapacks (testing profile) — reverted (see notes) - **All-region gyms**: enabling the Hoenn/Johto/Sinnoh datapacks **crashes world load** on their own because they reference **Terralith** biomes (Terralith-DP must be enabled too — that's why all four sit together in `datapacks/extra/`). They also don't persist: the **Modrinth profile restores pack files** on launch. To get every region's gyms, enable all four (regions **+** Terralith) via the world's Data Packs screen — note Terralith overhauls terrain. The mod's `#cobbleverse_rpg:gyms` tag (above) connects whichever gyms are present, so Kanto works out of the box. - **Hunger**: the No Hunger datapack is Modrinth-managed and auto-restored; disable it through Modrinth / the pack to re-enable hunger (a manual file move gets reverted on launch). ### Deferred - **PC requires the block**: blocking remote PC access safely needs the pack's exact remote-PC mechanism (likely cobblenav) identified first — a blind Cobblemon `PCLinkManager` mixin risks breaking all PC access, so it's held until the trigger is confirmed in-game. ## [0.31.0] - 2026-06-12 ### Added - **Pokémon Capsule** (PLAN Módulo 5 "Encapsulación", supersedes the GDD v1 Showcase): craft with 3× glass + 1 amethyst shard. **Sneak + use** the empty capsule on your own sent-out Pokémon to seal it — it leaves your possession entirely (party/PC), its full data moves into the item, and the capsule takes the Pokémon's name with an enchant glint: a display piece for item frames. **Right-click** a filled capsule to release it back (party, PC overflow; capsule consumed). Tooltip shows species, level and ✝ for deceased memorials. Battling Pokémon can't be sealed; dead ones can (and return still dead — permadeath holds). Note: an encapsulated Pokémon doesn't count as "owned" for the game-over check — capsuling your last living Pokémon ends the run. Placeable pedestal/miniature display is the planned phase 2. ## [0.30.0] - 2026-06-12 ### Added - **Soullock co-op** (GDD Módulo 6 / PLAN Módulo 2) — groups of up to **four players**: - **`/cobbleverserpg soullock link <player2> [player3] [player4]`** links the parties **slot by slot** (GDD: "las mismas ranuras"): every slot where ALL players have a living, unlinked Pokémon becomes one soul group (persisted in `SoullockData`). A purple broadcast announces the forged link. `unlink` dissolves your links; `status` lists them with partners, owners and ✝. - **Shared death**: when a linked Pokémon dies (permadeath), every soulmate dies with it — **even if its owner is offline** (their party/PC storage is loaded on demand); online owners get the dark-red message and an immediate game-over check, offline ones meet the news on login. - **No lone combat** (`prevent_lone_combat`, the config existed since 0.2.0 — now it works): a linked Pokémon refuses to be sent out unless EVERY partner is in its owner's active party with the owner online. - Phase 2 (planned): creating links from the trainer's interaction-ring GUI instead of commands. ## [0.29.0] - 2026-06-12 ### Added - **Defeated bodies now lie on the ground.** No render mixin needed after all: Cobblemon's server delegate skips pose recalculation when `enablePoseTypeRecalculation` is off, and both that flag and the pose persist to entity NBT — so Defeated Catch freezes recalculation and forces the **SLEEP pose**, laying the model down for the whole catch window (survives reloads). Species without a sleep animation fall back to their idle pose gracefully. - **Aquatic route signage** (the last Module 1 signage gap): a sign that would land on water now stands on a **cobblestone buoy** at the surface — aquatic channels get their end/junction signposts, legible from a boat, instead of silently skipping them. (The submarine bed already paves in gravel/cobble/stone, never sand, since 0.12.0.) ## [0.28.0] - 2026-06-12 ### Added - **No forfeit in Nuzlocke** (`nuzlocke_no_forfeit`, default on) — the project's **first mixin**. Cobblemon validates every battle choice through `ShowdownActionResponse.isValid` and re-prompts the player on an invalid one; `ForfeitActionResponse.isValid` was an unconditional `true`. A 10-line mixin turns it `false` while Nuzlocke is active (honouring the per-world setup), so the server rejects the surrender through Cobblemon's own illegal-choice flow and tells the player "there is no surrender — fight!". Fleeing WILD battles is untouched (that's the encounter-lock's flee rule); this blocks giving up against trainers/players. - Mixin infrastructure established (`cobbleverse_rpg.mixins.json`), unblocking the visual-faint spike and future deep hooks. ## [0.27.0] - 2026-06-12 ### Added - **Defeated Catch** (PLAN Módulo 6): defeated wild Pokémon no longer despawn instantly — they stay on the ground for `defeated_catch_seconds` (default 60), **still catchable**, marked by grey smoke and a "%s is down — 60s to catch it!" action-bar notice for nearby players. - Implemented by reviving the wild to **1 HP** the moment it faints (a dying entity can't be hit by Poké Balls — vanilla projectiles ignore health ≤ 0), with AI frozen and silenced; the 1 HP also gives the natural near-max catch-rate bonus. - A **failed capture** during the window despawns the body right after the ball breaks free; an **expired window** poofs it (cloud + extinguish sound). Either way the **Nuzlocke zone verdict is deferred**: the encounter only counts as FAILED when the window resolves uncaught — defeating your first encounter now gives you one last minute to secure it. - Survives restarts (absolute expiry stored in the Pokémon's persistent data, re-registered on entity load); level-cap and zone-lock ball gates still apply to the downed body. - The lying-down faint pose still needs the GeckoLib render spike (Phase 5) — for now the body stands frozen with smoke. ## [0.26.1] - 2026-06-12 ### Fixed - **0.26.0 did not compile**: the level-cap helper methods (`partyLevelCap`/`overLevelCap`) were referenced but their definitions were lost in an edit anchored on a method removed in 0.13. Definitions restored; the pre-push verification now flags missing method/variable symbols on the mod's own classes as real errors instead of dependency noise. ## [0.26.0] - 2026-06-12 Big batch release from in-game feedback. ### Changed — route engine v2 ("conexión por descubrimiento") - **The locateStructure pairing is GONE** (it was the remaining performance hog). Each node now launches up to `max_route_connections` (default **3**) **directional walks**: evenly spread bearings with random jitter that pave forward segment by segment, drifting gently at random, and **connect to whatever node the terrain they generate reveals** (≤96 blocks of the frontier) — bending into its cardinal gate without overwriting anything. Walks persist across restarts, are abandoned after `route_walk_max_length` blocks (default 1600) or at impassable terrain, and the per-node connection cap applies on BOTH ends — no more cities with a road per direction. - `connect_all_structures` now defaults **true**: ruins, fossils, shipwrecks, outposts, henges, gyms — every surface structure is a node ("camino a todo tipo de estructura"). Existing configs keep their saved value — flip it manually. - **Vanilla villages no longer generate** (datapack override of `minecraft:villages`): the pack's bca villages replace them, so roads stop finding duplicate default villages. - **Spawn is always beside a waystone**: on a world's first boot a Waystones block is planted two blocks from spawn (once, persisted; inert without the Waystones mod). ### Changed — Nuzlocke - **No bag items during battle** (`disable_combat_inventory`, finally wired): healing items on a Pokémon whose owner is mid-battle are rejected. - **Capture level cap** (`nuzlocke_capture_level_cap`, default on): Pokémon above your strongest party member's level can't be caught — the ball bounces (out of battle) or the roll is zeroed (in battle), and the throw never burns the zone. (RCT's own badge-based cap isn't readable without its API; the party-max proxy is the house-rule equivalent.) - **Zone header**: the capture-zone notification is now a big centred on-screen title + subtitle (zone name + ○●✔✘ state) instead of an action-bar line. - **Setup screen** gained a **starter selection** row (Default / Default+random / Three random), persisted per world and overriding the global config. ### Changed — route trainers - **Line of sight 15 blocks** (new default; existing configs keep their saved value). - **Instant battles**: on sight the trainer engages immediately — no walk-up. Busy players (already battling) reset the trainer's recognition: it simply retries when they're free and still in view. - **Gym leaders & Elite 4 exempt**: trainers standing inside ANY structure (gyms, league towers) never auto-engage — they require direct interaction. ### Deferred (PLAN) - **Forfeit removal** needs a mixin into Cobblemon's forfeit action (no event exists) — first mixin of the project, scheduled separately. - **Xaero chunk-colour zone layer** needs Xaero's WorldMap jar in `libs/` to compile against its highlighter internals; `nuzlocke map` waypoints remain the interim map view. - **Tera/Mega/Gmax world toggles** belong to mega_showdown's config — can't be controlled from another mod without its API. ## [0.25.0] - 2026-06-11 ### Added - **Route trainers duel each other** (`route_trainer_skirmishes`, default on): two idle route trainers within sight of each other near a player square off — they face each other, close in, and exchange battle effects (crit/cloud particles + attack sounds) for ~15 s, ending with a winner's celebration and the loser fuming. Per-pair 5-minute cooldown; a player entering either trainer's line of sight takes priority (the duel breaks off and the player engagement runs). These are **ambient skirmishes**: a real NPC-vs-NPC Pokémon battle with their actual teams needs the trainer mod's API (Cobblemon only exposes player battles — pvp/pve/pvn), noted in the PLAN for the rival-system work. ## [0.24.0] - 2026-06-11 ### Added - **Route trainers with line-of-sight auto-battle** (GDD "rutas con entrenadores"), implemented **mod-agnostically by entity id** (no compile-time dependency on rctmod): - When a road completes, persistent trainer NPCs (`route_trainer_entity`, default **`rctmod:trainer`**) are placed along it — one per `route_trainer_spacing` blocks (default 160, max 6 per route), jittered beside the centreline, never in water, away from both cities, once per route ever (persisted). With the trainer mod absent (or a typo'd id) the feature is completely inert. - **Line of sight**: every half second, a trainer within `trainer_los_range` blocks (the config existed since 0.2.0 — now it does something) with a clear sight line to a player does the classic routine: **"!"** (angry particle + chime), walks up to the player, and on reach triggers the battle by simulating the player's interaction — the same code path as right-clicking, so RCT's own battle flow is what runs. Per trainer-player cooldown (60 s), 10 s chase before giving up; spectators/creative and players already in a Pokémon battle are ignored. - Note: if RCT's trainer entity id differs in your pack version, run `/cobbleverserpg routes structures`-style discovery via `/summon` autocomplete or F3 targeting and set `route_trainer_entity` accordingly. ## [0.23.0] - 2026-06-11 ### Added - **`/cobbleverserpg routes structures`** (op): dumps every structure in the registry — id, tags, and a `[CITY]` flag for the ones the current `route_city_structure_tags` already match — to `cobbleverse_rpg_structures.txt` in the game directory. The way to find a gym's real id instead of guessing. - **Roads blend with their biomes**: the paving palette now follows the landscape — deserts and badlands pave in smooth sandstone/sandstone, snowy and frozen biomes in cobblestone/gravel/stone, swamps and mangroves in packed mud/coarse dirt, and everywhere else keeps the classic dirt-path mix. Junction/street detection understands all the new palette blocks (primaries like smooth sandstone and packed mud count as strict road evidence). - **Subtle perimeter grooming**: a sparse ring just beyond the road's edge (≈35% of cells, 2-block band) clears small plants only — grass, ferns, flowers — never trees or solid blocks, so the road reads cleanly without a shaved strip. ## [0.22.0] - 2026-06-11 ### Changed - **Route generation is much cheaper and smoother.** - At most **one corridor snapshot + A\* every 2 ticks** (was 4 whole segments per tick — the snapshot is the expensive part), narrower corridor (detour 28→24), and jobs whose frontier is far from every player are parked instead of burning processing. - The per-cell structure-avoidance query is **memoized per chunk**: chunks without structure references (the vast majority) skip it entirely. - **Better hill handling**: the climb penalty is now applied to the *square* of the height change (a 3-block scramble costs 9× a gentle step), so roads contour around elevations on smooth grades instead of charging up them. - **Smooth direction changes**: a per-45° turn penalty makes paths flow in progressive curves — no more hard 90° corners or zigzag stitching. - **Cities now have four cardinal gates** (N/S/E/W points on the standoff ring): roads leave through the gate facing their destination and aim at the destination's facing gate, so towns read like classic Pokémon cities with tidy outlets instead of radial spaghetti. - **Roads never overwrite each other** (nor village streets): paving that meets an existing road surface adopts those cells and merges into them; the dock connector likewise preserves the streets it reaches. ### Added - **Capture-zone identification on the map and HUD**: - **`/cobbleverserpg nuzlocke map`** (any player) drops one Xaero waypoint per recorded capture zone — named with its state symbol (● pending, ✔ captured, ✘ lost) and the zone's real name. Without Xaero the payloads are harmless. Biome zones have no map anchor and are skipped. - **Zone HUD** (`nuzlocke_zone_hud`, default on): crossing into a different capture zone shows its name and state in the action bar (○ free / ● pending / ✔ captured / ✘ lost). - `WaypointDiscoveredPayload` gained a `showToast` flag so bulk waypoint dumps don't spam toasts. ## [0.21.0] - 2026-06-11 ### Changed - **Nuzlocke zones now follow the world's geography** (GDD: "ciudad/estructura/ruta") instead of being one-per-biome. A position resolves, in priority order, to: the **city** it is in (≤64 blocks of a known city, including waystone cities), the **named route** it is on (≤32 blocks of a finished road's segment — "Ruta 1E" is a capture zone of its own, like the classic games), the **structure instance** it is inside (per-instance key, so two ruins are two zones), and only in open wilderness the legacy **biome** zone. Zone keys are stable per place; messages, the status command and toasts show the city/route name. Existing biome-keyed records from older versions remain valid (they simply stop being hit where a city/route/structure now takes precedence) — use `/cobbleverserpg nuzlocke reset` for a clean chart. ## [0.20.0] - 2026-06-11 ### Added - **Healing sources are chosen in the world setup** (and changeable later): the Nuzlocke setup screen gained a fifth selector — All / Machines only / Items only / None (hardcore) — persisted per world and taking precedence over the global `healing_mode` config; `/cobbleverserpg nuzlocke setup` (op) re-opens the screen to change it at any time. Hardcore-created worlds take the global config's mode. Worlds configured before 0.20.0 default to All until re-run. ### Changed - **`PLAN.md` rewritten (v2, Spanish)** around the full feature roadmap: route trainers + RCT rivals, structure listing, biome blending, submarine signage; zone redefinition (city/structure/route), 4-player Soullock with interaction-ring GUI; Ditto HM field moves + Habitat Table; Sophisticated-Storage Ball Storage / Apricorn Processor (2 fases); Pokémon encapsulation (PC → display ball item); Defeated Catch (1-minute fainted catch window); and the Action Combat system (research spike). Includes shipped-state per module and a proposed order. ## [0.19.0] - 2026-06-11 Route-quality release addressing the first in-game testing feedback. ### Fixed - **Severe lag while routes load.** Two causes removed: corridor pre-generation no longer calls synchronous `getChunk(FULL, true)` on the server thread (100 ms+ stalls per chunk) — it now only adds short self-expiring chunk tickets and lets the chunk system generate on its worker threads, resuming the segment when the corridor turns up loaded; and the boot-time `locateStructure` storm is gone — each city's neighbour search runs **once ever** (persisted `seeded` flag in `RouteData`) instead of re-running for every known city on every server start, and seeding is spaced to one call per 2 s (`routes reset` re-seeds everything). - **Roads paved across treetops and structures.** The pavers and the A* used the `WORLD_SURFACE` heightmap, which sits on forest canopy and roofs. Heights now come from a ground probe that descends through logs, leaves and plants (`RoutePathfinder.groundY`), used by the pathfinder and every placement helper; additionally the A* marks cells **inside any non-city structure** impassable (`getStructureContaining`, city tags/ids excluded; disabled in connect-all mode), so roads detour around ruins/towers/foreign villages instead of crossing them. Paved cells also clear trunks/canopy up to 6 blocks above (roads are walkable under trees). - **Routes now actually reach the town streets.** The 0.16 connector walked a straight line and gave up at the first wall. Docking v2 scans up to 28 blocks around the road end for the nearest *real* street cell (street block + ≥2 street neighbours, own cells excluded) and paves a 3-wide connector along a mini-A* path to it — steering around houses; the straight walk remains only as fallback when no street is found. - **Submarine routes are now lit**: a sea lantern is embedded in the paved channel floor every 11 cells (same cadence as the land lamp posts). ### Added - **Hardcore = Nuzlocke game mode at world creation**: creating the world in **Hardcore** in the vanilla create-world screen auto-enables the full Nuzlocke rule set (lock + permadeath + spectator-on-loss) — the setup screen then never shows. Non-hardcore worlds keep the first-join setup screen. - **Trainer gyms (and anything else) can join the network**: entries in `route_city_structure_tags` now also match exact **structure IDs** (not just tags), and the new operator command **`/cobbleverserpg routes addcity [name]`** registers the spot you're standing on as a named city (default "Gym") and queues its road connections — works for gyms from any mod and even player builds. ## [0.18.0] - 2026-06-11 ### Added - **Escape Rope** (GDD Module 7 / Phase 9 — first custom item): craft **2× string + 1 ender pearl → 2 ropes** (shapeless), found in the Tools creative tab. Using it teleports you to a safe, dry spot at the **nearest known town of the route network** — which includes every activated waystone, since those register as named cities — so it works with or without the Waystones mod (a deliberate deviation from the GDD's "nearest visited waystone", using our own persisted data instead of Waystones internals). Overworld only, blocked while in a Pokémon battle, 10 s cooldown, consumes one rope (not in creative), enderman teleport sounds at both ends, action-bar feedback with the town's name. Pixel-art texture + model + es/en names shipped. ## [0.17.0] - 2026-06-11 ### Added - **Starter randomizer** (GDD Module 4) — `starter_selection_mode` finally does something: - `DEFAULT`: Cobblemon's starter screen untouched. - `DEFAULT_PLUS_RANDOM` (config default): the vanilla categories plus an extra **"Random"** category with three random species. - `THREE_RANDOM`: the screen offers a single category of three random species. - Random picks are **implemented**, **base-stage** species without the `legendary`/`mythical`/ `ultra_beast` labels, at the same level the pack's own starters use. The offer is seeded from the world seed + player UUID (and the registry is sorted before shuffling), so each player sees a stable offer in a given world — reopening the screen or restarting never re-rolls, and the choice always validates against the same list. Implemented by replacing Cobblemon's `starterHandler` with a subclass that transforms `getStarterList`; selection, locking and the mandatory-nickname prompt keep working unchanged. ## [0.16.0] - 2026-06-11 ### Fixed - **Diagonal roads no longer look broken.** The paver stamped a 1-D cross-section perpendicular to the travel direction; on diagonal stretches those are 5 corner-touching diagonal lines, leaving checkerboard holes and jagged edges. Each centreline cell now stamps a **round, solid brush** (radius 2.5) — overlapping discs stay gap-free in every direction, with the ragged-edge randomness applied to the brush's outer ring. (The A* itself was fine: diagonals already cost √2 with an octile heuristic.) - Aquatic-channel surface markers are placed as **one buoy per side** of the centreline (outside the brush); with the new ring-shaped brush edge the old per-edge-cell logic would have built stone rings walling the channel shut. ### Added - **Roads now dock into the town's own streets.** When a road finishes, each end extends from the 20-block standoff ring toward the city centre with a narrow 3-wide connector until it touches an existing village street (dirt path, gravel, cobblestone, coarse dirt, or desert villages' smooth sandstone), stopping early at building walls/roofs (height jump > 4) and skipping water — so routes visibly merge into the village path grid instead of dying on the outskirts. ## [0.15.0] - 2026-06-11 ### Added - **Cities adopt their waypoint's name**: activating a waystone within 128 blocks of a known city now renames that city to the waystone's name (previously only ≤64 blocks collapsed into the node), and the **end signposts of every finished road touching it are rewritten in place** — signs, completion broadcasts and route-entry toasts all refer to the city by its waypoint name. Only a waystone with no city nearby becomes a new node of its own. - Sign placement is now rename-aware in general: a signpost that already stands at the target spot gets its text rewritten instead of a second sign being stacked on top of it. ### Removed - **GitHub Actions build workflow** (`.github/workflows/build.yml`): the Fabric-template CI built with JDK 25, which Gradle 8.10 can't run, so every push failed and spammed e-mail notifications. Builds happen locally via `.\gradlew build` (see README); CI can return later properly pinned to JDK 21 if wanted.