Skip to content

Plugin vs Mod

Kishku7 edited this page Sep 2, 2026 · 1 revision

Plugin vs mod

Chunksmith ships as a Fabric/NeoForge/Forge mod and as a Paper/Spigot plugin, built from one shared codebase. They are close but not identical, and the differences are all in one direction: the plugin has fewer settings, because some of the things they control do not exist on a Bukkit server.

Nothing below is a gap waiting to be filled. Each one is a deliberate "not applicable".

Settings that exist only on the mod

The settle window -- pregenSettle, pregenSettleDelayTicks, pregenSettleRadius, pregenSettleMaxHeld

Settle holds a freshly generated chunk in memory for a moment so that other mods which build on newly generated land get a chance to see it before it is written out and dropped.

On a Bukkit server there is nothing holding chunks in that way and nothing for a settle window to do. Rather than accept the four keys and quietly ignore them, the plugin reports isPregenSettleSupported() == false, and /cs settle is hidden there entirely. A setting that answers "done" and changes nothing is worse than an absent one.

lodDhOverride

Forces the Distant Horizons code path even when renderer detection says otherwise. That is a client-side renderer decision; the plugin has no client to override. It reads as false and is not in config.yml.

The big one: LOD delivery

This is where the two genuinely behaved differently, and it caught a user out badly enough to be worth spelling out.

Before 3.15.0, the plugin could generate LOD data and had no way to send it. Operators got a store on disk and players who saw nothing, and no combination of client mods could fix it. That was mod_support #18.

From 3.15.0 the plugin serves LOD exactly as the mod does -- it registers the channel, opens the backchannel port and answers clients. There is nothing to configure. The renderer compatibility table you may have read is client-side: it says which renderers a player can use. It was never a limit on what a server can send.

A modded client against a plugin server works. Paper/Spigot running the Chunksmith plugin, Fabric client running the Chunksmith mod plus voxy or Distant Horizons: supported, and confirmed in the wild on Purpur.

One real limitation that remains

The plugin has no in-band fallback. When the backchannel port is unreachable, the mod falls back to streaming LOD down the game connection -- slower, but it works. The plugin does not do that yet, so a blocked port means players get nothing, not something slow.

The log says so rather than going quiet. If your players are getting no LOD from a plugin server, the backchannel port is the first thing to check -- see Server settings for lodBackchannelPort, lodBackchannelBindAddress and lodBackchannelHost, and How to for the walkthrough.

Versioning

The two are versioned differently, which occasionally confuses a download.

  • Mod jars are per Minecraft line: chunksmith-<version>+26.2-fabric.jar covers all of 26.2.x on that loader.
  • Plugin jars are per family: chunksmith-<version>+26.x-plugin.jar covers a whole line, because a Bukkit plugin compiles against an api-version rather than a specific Minecraft version.

Folia

Folia is no longer a supported or tested platform. Existing jars that declare folia-supported keep working for now; the flag and the runtime branches come out in a later release. Plugin testing is on Paper. A platform that cannot be tested is an unverifiable claim, and the project would rather drop the claim than make one it cannot stand behind.

Clone this wiki locally