PaperFarLands is a PaperMC plugin that generates overworld terrain with a configurable "Far Lands" transition. Each configured world can choose the X/Z coordinate where the distortion begins in config.yml.
- Configurable
xandzcoordinates for when Far Lands distortion starts. - Automatic world creation for configured worlds.
- Support for Paper's
getDefaultWorldGenerator(...)entrypoint for manual server generator binding. - Deterministic terrain model with stepped cliffs, folded ridges, and stretched caves in the Far Lands zone.
mvn test packageThe plugin JAR will be written to target/paper-farlands-0.1.0-SNAPSHOT.jar.
- Drop the plugin into your Paper server's
plugins/directory. - Start the server once so
plugins/PaperFarLands/config.ymlis created. - Edit the
worldssection inconfig.yml. - Restart the server.
If auto-create: true, the plugin will create the world during startup with the configured generator.
The plugin also exposes JavaPlugin#getDefaultWorldGenerator(...), so you can bind a world manually with the configured world key as the generator id:
worlds:
farlands:
generator: PaperFarLands:farlandsWhen the server asks for the generator:
worldNameresolves the config key if it matches.idoverrides that and lets you point a differently named world at a specific config block.
worlds:
farlands:
enabled: true
auto-create: true
environment: NORMAL
seed: ""
far-lands:
start:
x: 12550821
z: 12550821
transition-width: 256
coordinate-snap: 12.0
horizontal-shear: 48.0
height-boost: 96
terrain:
sea-level: 63
base-height: 72
height-variation: 34
cave-threshold: 0.64
vanilla-features:
decorations: false
mobs: true
structures: false- The terrain before the configured boundary stays stable and overworld-like.
- Once the configured boundary is crossed, the generator snaps and shears the noise domain to create the stretched, jagged Far Lands look.
- The implementation uses only public Paper API hooks, so it does not depend on NMS internals.
- PaperMC project setup docs: https://docs.papermc.io/paper/dev/project-setup/
- PaperMC plugin configuration docs: https://docs.papermc.io/paper/dev/plugin-yml/
- Paper
ChunkGeneratorAPI: https://jd.papermc.io/paper/1.21.8/org/bukkit/generator/ChunkGenerator.html - Paper
WorldCreatorAPI: https://jd.papermc.io/paper/1.21.8/org/bukkit/WorldCreator.html - Paper
JavaPlugingenerator entrypoint: https://jd.papermc.io/paper/1.21.8/org/bukkit/plugin/java/JavaPlugin.html - FarLandsAgain reference implementation: https://github.com/OtakuMegane/FarLandsAgain