### Added
- **Your world can pre-generate itself before you start playing it.** On a single-player world,
Chunksmith now freezes the world on entry and pre-generates a 4096-block radius behind a progress
screen, with a filling bar, a live estimate of the time remaining, and an **Enter World Now**
button. Pressing it hands the world straight back to you -- it does **not** stop the run.
Generation carries on in the background and yields to you from then on.
Freezing does **not** make generation faster. It stops the world moving while it runs, so nothing
ages, wanders off or starves while you wait.
**Once a world has finished, it never does this again.** A completed run is recorded, so loading
that world afterwards goes straight in. Leaving early with the button records nothing, so the next
load simply continues where it stopped, and raising `worldEnterPregenRadius` asks for more world
and starts it again.
It works in a world created without cheats -- the settings are changed directly rather than through
the command interpreter -- and everything it borrows is written down before it is touched, so a
crash mid-freeze is put back on the next start rather than leaving your world frozen.
On by default, MC 26+ on Fabric and NeoForge, single-player only. Turn it off with
`worldEnterPregen`, or size it with `worldEnterPregenRadius` (default 4096).
(mod_support #20)
### Fixed
- **An IPv6 address can now actually be set with `/cs set`.** Quoting it -- the obvious thing to
try once the bare form is refused by Minecraft's command parser -- used to fail too: the quotes
were arriving as part of the value, so `"2001:db8::1"` was rejected as malformed. Both routes
were closed on a setting whose whole job is naming an address. Quoted values now work
everywhere, on every loader and the plugin. (Bare IPv6 still cannot work -- Minecraft's parser
stops at the first colon -- so quote it: `/cs set lodBackchannelHost "2001:db8::1"`.)
- **Impossible addresses are refused instead of stored.** `256.1.1.1` was accepted and kept: four
numeric labels satisfy every ordinary hostname rule, so the setting held an address that could
never resolve and the only symptom was a backchannel that quietly did not work. Also refused
now: `1.1.1.999`, `1.2.3`, `1.2.3.4.5`, `010.1.1.1` (a leading zero means octal to some
resolvers and decimal to others) and `example.123`. Fully-qualified names ending in a dot, like
`example.com.`, are accepted -- they were being refused.
- **`0.0.0.0` is no longer accepted as the address to advertise to clients.** It is exactly right
for `lodBackchannelBindAddress` (listen on every interface) and meaningless for
`lodBackchannelHost`: a client told to connect to `0.0.0.0` has been told nothing. Leave that
key empty if you want each client to use the address it connected on.
- **A server whose hostname contains an underscore can now serve LOD over the backchannel.**
`myserver_minecraft.example.com` broke it in two places at once: the address was rejected outright
by the config, so `lodBackchannelHost` silently reset to empty and could not be set at all; and the
download itself failed on every region without ever falling back to the slower in-band channel, so
it looked like the mod had simply stopped. Both are fixed -- such a host is now accepted, and the
downloader resolves it and reports plainly in the log what it did. If a host genuinely cannot be
reached, it now says so and falls back instead of going quiet.
(mod_support #26, reported by arsenelupin0)
### Removed
- The standalone Chunksmith-Client mod is gone -- the project has been retired and its repository
deleted -- so everything that referenced it has come out: the `chunksmithclient` incompatibility
declarations from the Fabric and NeoForge manifests, and the startup check that warned when both
were installed.
**If you still have an old Chunksmith-Client jar installed, remove it.** Chunksmith no longer
refuses to start alongside it; both mods register the same `chunksmith:lod` channel, so having both
is now a duplicate registration rather than a clear error message. Its multiplayer LOD job has been
built into Chunksmith itself since 3.1.0 -- you lose nothing by deleting it.
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }