Source-checkedWeapons, items & crafting

Jafna

by Ezomic · for Valheim

Levelling with the hoe continues the flat ground it touches, and your Crafting decides how far it reaches.

457Downloads
28d agoLast updated
BepInExLoaders
ThunderstoreSource

About Jafna

From Thunderstore

Levelling with the hoe continues the flat ground it touches, and your Crafting decides how far it reaches.

Jafna

Levelling with the hoe continues the flat ground it touches instead of chasing your crosshair, and your Crafting skill decides how much ground one swing covers.

Jafna is Old Norse for to level, to make even.

Why

Flattening a large area with the hoe is miserable, and it is worth being precise about why, because the obvious answer is wrong. It is not that the tool is small. It is that the tool has no fixed idea of what height you are aiming for.

The hoe's Level ground eases every point under the tool toward the height of the placement ghost, and the ghost sits wherever your crosshair last met the ground. So the reference height follows the camera. Take one swing, walk two steps, take another, and the strip of ground both swings covered is pulled toward two different heights. You cannot aim your way out of that, because the thing moving is not your aim, it is the target. It is also why the ripples get worse the more carefully you work around the edges: every correction is another swing at another height.

Jafna gives the swing somewhere fixed to level to, and the game turns out to have been keeping it all along. Every zone's terrain data carries a flag per grid point meaning "a terrain operation has touched this", saved with the world and shared with everyone. So a swing can look at the ground it is about to cover, find the parts of it a previous swing already shaped, and use that height rather than your crosshair's. Flat spreads outward from wherever you started it, at one height, and keeps spreading in your next session and under another player's hoe.

A swing that covers nothing you levelled before is left completely alone, which is how you still start a new platform at a new height: stand clear of the old one and swing.

What it does

  • A level swing continues the flat it touches. If it covers ground you already levelled,

it uses that height. If it covers none, it behaves exactly like vanilla.

  • It refuses rather than guesses. Where two platforms at different heights meet under one

swing, it hands the decision back to your crosshair instead of averaging them into a ramp.

  • You can hold a height. Press Left Alt to pin the one under your crosshair, and every

swing flattens toward it wherever you stand, until you press again.

  • Low ground is raised with stone. When a swing wants the ground higher than the hoe can

lift it, that swing lifts its whole circle straight to your height and your pack pays for what the hoe would not have done, at the rate the hoe's own Raise ground charges. It leaves a step at the edge of the circle until you swing next to it. Like Raise ground, it needs a workbench nearby.

  • Reach grows with Crafting. Nothing below about Crafting 25, growing to a 6 metre radius

at Crafting 60 against the hoe's own 3. Never a discount: a swing costs exactly the stamina vanilla charges.

  • Only your own swing is changed. Ground shaped by anything else, a location, another mod,

a Devkit flatten or a player without Jafna, is shaped exactly as vanilla shapes it.

  • A ward you cannot use blocks the whole swing, not just its centre.
  • The build panel shows the numbers, in thirteen fixed rows that never change count or order:

what the swing does to the ground, the height it will use and where that height came from, and what raising the low ground will cost and whether stone fill is on. See The build panel below.

  • No new prefabs, items, recipes or saved values. A world played with Jafna is an ordinary

world, and the ground you shaped is ground vanilla's own operations shaped.

The build panel

The numbers go in the hoe's build tooltip, under the piece's own description, and the box they make is always the same size. A tooltip sizes itself to its text, so a readout that grew a warning over a bad swing and dropped a price over a good one resized the box as the crosshair moved, and at working speed that cannot be read. So every state writes the same rows, in the same places, and a row with nothing to say holds a dash:

All clear                              the one warning slot, red when it has something to say
GROUND
Raise up to: 1.20m                     the most the ground under the swing comes up
Lower up to: 0.80m                     and the most it goes down
Flattens 6.0m across (Crafting 52)
HEIGHT
Crosshair: 5.40m
This swing: 5.00m
Taken from: flat ground                or your crosshair, or HOLDING until the key you pressed
COST
Stone: carry 20, need 14 Stone
Workbench: in range
Stone fill: on, J turns off

The warning slot is replaced in place, never added to, and shows one thing in this order: a ward you cannot use, ground past the eight metre limit, no workbench near, then too little stone. The rows below it say the rest. Each row ends with the value that moves as you look around, so nothing after it shifts. No row is longer than the box, so none wraps onto a second line, and a row that would be (several kinds of item in a price, a longer language) is cut with .. rather than allowed to. ShowReadout turns all of it off.

The panel is rebuilt only when something it shows has changed (the aim to the nearest centimetre, the reach, the price, the pack, the stone fill switch, AutoRaise, the language), not on every frame, and the item names are looked up in the language once.

jafnareadout is a development command, in the console, and it ships in the build on purpose so the scenarios can run against it. It only reads: it prints how many lines the panel drew, whether any wrapped or was cut, and whether the rows hold dashes. It is not a cheat and needs no devcommands. You have no reason to type it.

Holding a height

Continuing the flat answers "what height is this ground meant to be" from the ground itself.

Read the full description on Thunderstore →

Highlights

From source data

Loaders

Runs on BepInEx.

Footprint

Rated a light load on a server.

Last update

Its author last shipped an update 28d ago.

Jafna on Nxeon

From our catalogue
One-click install
Supported on Nxeon Valheim servers, for BepInEx servers. We download it from Thunderstore, place it, and restart the server.
Server type needed
BepInEx
Server load
light
Smallest plan we suggest
Valheim — 4 GB (4 GB RAM). This follows our own load rating above, not a benchmark.
Latest build
1.2.1, released 2026-10-07

Game versions by loader

LoaderGame versionsNewest
BepInEx

From 4 recorded builds of Jafna.

Recent builds

BuildReleasedGame versionsLoaders
1.2.12026-10-07n/aBepInEx
1.2.02026-10-07n/aBepInEx
1.1.02026-09-30n/aBepInEx
1.0.02026-09-20n/aBepInEx

Dependencies

Declared by the newest build that lists any. Required ones are installed with it on one-click installs.

Run Jafna on a Valheim server

Pick a server or deploy a new one above; it is installed in one click.

What kind of mod it is

From the catalog
Listed on Thunderstore as “Content”

Weapons, items & crafting

New weapons, gear, items and the recipes to make them.

Compatibility

Game
Valheim
Loaders
BepInEx
Requires
One-click install needs a BepInEx server.

Verified at the source

  • ✓ThunderstoreOfficial listing, checked 2026-10-08Open ↗
  • ✓AuthorEzomic, as published on Thunderstore
  • ✓LicenseNot published by the sourceFree

Jafna, answered

Generated from the mod’s own source data.

Which loaders does it support?

BepInEx.

Is it free?

Yes. Jafna is free to download from Thunderstore.

How do I add it to my Nxeon server?

Use “Add to a server” on this page, or open NxLabs from your dashboard. We install it, restart your server and switch it on.

NxLabs

Run Jafna on a Valheim server.

Deploy in about a minute from $9.99 a month, then add Jafna in one click.