Combat profiles
How Saturn picks MODERN_1_21 or CUSTOM per game mode, world and dimension, and what each combat profile setting changes.
The two profiles
| Profile | Config block | Starts as |
|---|---|---|
MODERN_1_21 | combat. | Vanilla 1.21 values |
CUSTOM | combat. | Vanilla 1.21 values for every key you leave out |
Both profiles have the same keys. The difference is how knockback is handled:
- On
MODERN_1_21, knockback stays vanilla unless a player or the server has a knockback profile bound with/kb setor/kb default. - On
CUSTOM, Saturn always uses its own knockback: a bound knockback profile if there is one, otherwise the profile'sknockbackvalues.
See Knockback profiles for the knockback keys.
Profile names are not case sensitive, and - or . count as _, so custom and modern-1-21 work. An unknown name falls back to MODERN_1_21 without a warning.
Which profile applies
Saturn checks these in order and uses the first match:
combat., by the attacker's game mode. Only when the attacker is a player.per-game-mode combat., by world name.per-world world..per-world. <world>. combat-profile combat., by dimension ID.per-dimension combat..default-profile
Game-mode keys are survival, creative, adventure and spectator. Dimension IDs look like minecraft:overworld, minecraft:the_nether and minecraft:the_end.
combat:
default-profile: MODERN_1_21
per-world:
practice: CUSTOM
per-dimension: {}
per-game-mode:
adventure: CUSTOMProfile settings
hit
| Key | Default | Description |
|---|---|---|
hit-cooldown-ticks | 20 | Invulnerability ticks a player gets after being hurt by damage that has an entity as its source. This replaces the server's value for player victims on every profile. |
damage-tilt-enabled | true | When false, a hurt player's camera does not tilt. |
same-tick-attacks-enabled | false | Currently has no effect. |
knockback-distance-check | false | Currently has no effect. |
damage-smoothing-factor | 1.0 | Currently has no effect. |
attack
| Key | Default | Description |
|---|---|---|
attack-cooldown-multiplier | 1.0 | Scales how much the attack cooldown matters. 1.0 or more is vanilla. 0 or less removes it, so every swing is at full strength. In between, a swing always gets at least 1 - multiplier of full strength; 0.5 means a spam-click still lands at half strength or more. |
sweep-attack-enabled | true | When false, sword sweep attacks do not happen. |
sweeping-edge-enabled | true | When false, sweep hits ignore Sweeping Edge and deal 1 damage. |
alternate-sprint-knockback-input | false | Leave this false. When true, the sprint knockback bonus never applies. |
shield
| Key | Default | Description |
|---|---|---|
enabled | true | Setting false does not stop shields from blocking damage. It only changes whether the player is reported as blocking. Leave it true. |
damage-reduction-vs-entity | 0.0 | Currently has no effect. |
damage-reduction-vs-projectiles | 0.0 | Currently has no effect. |
damage-reduction-misc | 0.0 | Currently has no effect. |
sprint
| Key | Default | Description |
|---|---|---|
reset-on-hit | true | Currently has no effect. |
w-tap-fix | false | Currently has no effect. |
knockback
| Key | Default |
|---|---|
type | vanilla |
profile | vanilla |
friction | 2.0 |
horizontal | 0.4 |
vertical | 0.4 |
vertical-limit | 0.4 |
extra-horizontal | 0.5 |
extra-vertical | 0.0 |
slowdown | 0.0 (no effect) |
fix-w-tap | false (no effect) |
What each knockback key does is on Knockback profiles.
Example: a practice world
This keeps the rest of the server vanilla and gives the practice world shorter hit cooldowns, no attack cooldown, no sweeps and its own knockback.
combat:
default-profile: MODERN_1_21
per-world:
practice: CUSTOM
profiles:
custom:
knockback:
type: practice
profile: default
horizontal: 0.42
vertical: 0.36
hit:
hit-cooldown-ticks: 10
attack:
attack-cooldown-multiplier: 0.0
sweep-attack-enabled: falseRun /serverconfig server to apply it.