Skip to content

Search the store

Find products and categories.

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

ProfileConfig blockStarts as
MODERN_1_21combat.profiles.modern-1-21Vanilla 1.21 values
CUSTOMcombat.profiles.customVanilla 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 set or /kb default.
  • On CUSTOM, Saturn always uses its own knockback: a bound knockback profile if there is one, otherwise the profile's knockback values.

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:

  1. combat.per-game-mode, by the attacker's game mode. Only when the attacker is a player.
  2. combat.per-world, by world name.
  3. world.per-world.<world>.combat-profile.
  4. combat.per-dimension, by dimension ID.
  5. 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.

saturn.yml
combat:
  default-profile: MODERN_1_21
  per-world:
    practice: CUSTOM
  per-dimension: {}
  per-game-mode:
    adventure: CUSTOM

Profile settings

hit

KeyDefaultDescription
hit-cooldown-ticks20Invulnerability 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-enabledtrueWhen false, a hurt player's camera does not tilt.
same-tick-attacks-enabledfalseCurrently has no effect.
knockback-distance-checkfalseCurrently has no effect.
damage-smoothing-factor1.0Currently has no effect.

attack

KeyDefaultDescription
attack-cooldown-multiplier1.0Scales 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-enabledtrueWhen false, sword sweep attacks do not happen.
sweeping-edge-enabledtrueWhen false, sweep hits ignore Sweeping Edge and deal 1 damage.
alternate-sprint-knockback-inputfalseLeave this false. When true, the sprint knockback bonus never applies.

shield

KeyDefaultDescription
enabledtrueSetting false does not stop shields from blocking damage. It only changes whether the player is reported as blocking. Leave it true.
damage-reduction-vs-entity0.0Currently has no effect.
damage-reduction-vs-projectiles0.0Currently has no effect.
damage-reduction-misc0.0Currently has no effect.

sprint

KeyDefaultDescription
reset-on-hittrueCurrently has no effect.
w-tap-fixfalseCurrently has no effect.

knockback

KeyDefault
typevanilla
profilevanilla
friction2.0
horizontal0.4
vertical0.4
vertical-limit0.4
extra-horizontal0.5
extra-vertical0.0
slowdown0.0 (no effect)
fix-w-tapfalse (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.

saturn.yml
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: false

Run /serverconfig server to apply it.