Repository navigation
Releases: denfry/TerraForge
Releases · denfry/TerraForge
Release list
v0.1.1
Changed
- Reworked the public README with a project banner, compatibility matrix, quick start, command
reference and clearer preview-status messaging. - Added the MIT licence, contribution guide, support policy, code of conduct, security policy,
issue forms, pull request template and release runbook. - Hardened GitHub Actions with immutable action SHAs, least-privilege permissions, wrapper
validation, concurrency limits, exact artifact selection and SHA-256 release checksums. - Made every Gradle archive reproducible, added implementation metadata to jar manifests and
embedded the TerraForge licence in distributable jars. - Added tag-driven Modrinth publishing for the Paper plugin.
Fixed
- Fail closed when the prepared DEM directory cannot be opened instead of continuing with a
partially initialized plugin. - Reject configured data paths that escape the TerraForge plugin directory.
v0.1.0
First tagged release. A world generated with this version has the real relief, coastlines, water
and land cover of the Earth, and nothing man-made.
World generation
- Earth coordinate system:
GeoPoint,EarthLocation,CoordinateTransformer, geodesic distances
(Vincenty) and bearings. - Projections: Web Mercator, equirectangular and plate carrée, selected in
terraforge.yml. - DEM pipeline:
.tfdemtiles written offline, memory-mapped and sampled at runtime, with voids
carried through preparation rather than filled. - Terrain generation: surface palette, vertical scaling, bedrock, sea level and ocean floor.
- Water from prepared natural-water polygons; land cover from prepared
.tflcgrids, both falling
back conservatively when coverage is missing. - Biomes derived from land cover, refined by elevation, latitude and water state.
- Natural features only. Roads, buildings, railways, bridges, airports and power lines have no code
path, and the plugin refuses to start if any of them is switched on.
Server
/earth—info,whereami(country, region, nearest place, real elevation),coords,
distance,country,city,teleport city|country,cache,pregenerate,towny,debug
(one-off report and a live per-player overlay) andreload, with tab completion for arguments./earth reloadre-validates the config, clears caches and reloads the prepared geography without
a restart. The generator is deliberately not hot-swapped: that would seam the world.- Bounded pregeneration driven from in-game, one chunk per tick.
- Bounded, instrumented caches for DEM tiles, chunk samples and geography.
Integrations
- Towny/NewTowny: towns annotated with real coordinates, elevation, country and region on
creation, spawn move and rename, and forgotten on deletion./earth towny refreshbackfills towns
that predate the plugin. SQLite writes run on their own thread; Towny and Bukkit are read only on
the server thread. - BlueMap: cities, capitals, countries and regions published as TerraForge-owned marker sets,
re-published after every BlueMap reload. Only sets prefixedterraforge-are ever touched, so
Towny's own markers are left alone.GeoMarkerServicelets other plugins register markers with or
without BlueMap installed.
Offline CLI
prepare-dem— SRTM.hgtand north-up WGS84 GeoTIFF into.tfdemtiles.prepare-boundaries,prepare-cities,prepare-landcover,prepare-geo— administrative
boundaries, the GeoNames gazetteer with alternate names, land cover and natural water.prepare-region— every dataset for one bounding box in a single pass and one transaction.validate— overlapping boundaries, duplicate ISO codes and names, misplaced regions and cities,
missing or duplicated capitals, plus a coverage report.--strictmakes it a CI gate.pregenerate— plans a chunk set and checks DEM coverage without writing anything.info— what the configured world will look like.