Knockback profiles
Create, tune, assign and save Saturn knockback profiles with /knockback, and learn which changes survive a restart.
How knockback is chosen
A knockback profile is a named set of knockback values, written as type:profile, for example vanilla:vanilla or practice:default. Names are stored in lower case.
When a hit causes knockback and a player is the attacker or the victim, Saturn decides the knockback the victim receives:
- If the victim is bound to a profile with
/kb set, that profile is used. - Otherwise, if a server default is set with
/kb default, that profile is used. - Otherwise the
knockbackblock of the active combat profile is used.
On MODERN_1_21, step 3 means vanilla knockback: Saturn's knockback only takes over when steps 1 or 2 pick a different profile. On CUSTOM, Saturn's knockback always applies.
Knockback from other causes, such as explosions, stays vanilla. Paper's knockback event still fires, so plugins can change or cancel Saturn's knockback.
Knockback values
| Key | Default | Description |
|---|---|---|
friction | 2.0 | The victim's current velocity is divided by this before the push is added. Higher values make earlier knockback fade faster. |
horizontal | 0.4 | Horizontal push away from the attacker. |
vertical | 0.4 | Upward push, added only when the victim is on the ground. |
vertical-limit | 0.4 | The highest upward speed a hit can set on a grounded victim. |
extra-horizontal | 0.5 | Added to horizontal when the attacker is sprinting. |
extra-vertical | 0.0 | Added to vertical when the attacker is sprinting. |
slowdown | 0.0 | Stored and editable, but currently has no effect. |
fix-w-tap | false | Stored and editable, but currently has no effect. |
A victim in the air keeps their current upward or downward speed; only the horizontal push applies. Knockback resistance scales the push down, and full resistance cancels it.
Where profiles come from
- saturn.yml. Each combat profile's
knockbackblock registers the profile named by itstypeandprofilekeys. Both default tovanilla, so out of the box there is one profile,vanilla:vanilla. - Saved files. On startup Saturn loads every file in
saturn/knockback/<type>/<profile>.. A saved file with the same name as a profile fromyml saturn.ymlreplaces its values. /kb create. New profiles made in game.
/kb create only accepts a type that already exists. To start a new type, set it as type in a combat profile and run /serverconfig server, or place a saved file in a new folder under saturn/knockback/ and run /kb load:all.
Tune knockback live
Copy a starting point
/kb create:copy vanilla:vanilla vanilla:practiceThe new profile must use the same type as the one it copies. /kb create vanilla:practice creates one with default values instead.
Try it on yourself
/kb set vanilla:practice YourNameKnockback you receive now uses this profile. /kb set takes several players separated by spaces or commas.
Edit values
/kb edit vanilla:practice horizontal 0.42
/kb edit vanilla:practice friction resetThe next hit uses the new value. reset puts a key back to its default. /kb view vanilla:practice shows every value.
Save it
/kb save vanilla:practiceThis writes saturn/knockback/vanilla/practice..
Use it for everyone
/kb default vanilla:practiceEvery player without their own binding now receives this knockback.
What survives a restart
| Change | Kept after restart |
|---|---|
Profile values saved with /kb save or /kb save:all | Yes |
| Profile values edited but not saved | No |
Server default set with /kb default | No |
Player bindings set with /kb set | No. They also stay in place when the player logs out. |
Profiles removed with /kb delete | No. Delete only removes the profile from memory, so a saved file loads again on the next start. Delete the file as well. |
To keep a server default, set it again after each start, or put the values in the knockback block of a combat profile instead.
The full command list is on Commands and permissions.