Skip to main content

Configuration

The easiest way to configure Perfect Parries is with the /parrymodsettings command in-game. It opens an interactive admin UI where you can view and change all settings live.

For reference, all settings are stored as JSON files in mods/Perfect_Parries/ (auto-generated on first run). You can also edit these files directly, but a server restart will be required.

Config Files Overview

FilePurpose
parry_config.jsoncore parry settings, stamina system, effects
pvp_config.jsonPvP-specific parry settings
entity_stamina.jsonper-entity stamina stats
weapon_parry_settings.jsonper-weapon parry settings
npc_parry_config.jsonNPC parry behavior and attack warnings
mod_dependencies.jsontoggles for optional mod integrations

parry_config.json

The main configuration file covering central parry settings.

Parry Timing & Feedback

OptionDefaultDescription
parryWindowMs200timing window in milliseconds from block start
enableParryReticletrueshow parry window reticle on HUD
enableCounterReticletrueshow counterattack reticle on HUD after a successful parry
requireBlockingtrueplayer must be actively blocking to parry
blockSpamCooldownMs500cooldown between block attempts to prevent spam
note

Changing parryWindowMs requires a server restart for the parry reticle timing to stay in sync.

Damage & Knockback

OptionDefaultDescription
reflectDamagePercent0.15percentage of incoming damage reflected to attacker
knockbackX5horizontal knockback force on attacker
knockbackY5vertical knockback force on attacker
parryStaminaDrainMultiplier0.0stamina drain multiplier on a perfect parry relative to a block
parryDurabilityLossfalsewhether parrying consumes durability on the blocking item
reflectRangedAttackstruewhether ranged attacks (arrows, projectiles) can be parried and reflected back at the attacker

Counterattack

OptionDefaultDescription
counterattackWindowMs450window after parry to land a counterattack (ms)
counterattackDamageMultiplier1.25damage multiplier for counterattacks

Signature Energy

OptionDefaultDescription
parriesToFullSignatureEnergy5number of parries to fully charge a weapon's signature attack

Entity Stamina & Stuns

OptionDefaultDescription
enableEntityStaminatrueenable the stamina/stun system for mobs and NPCs
staggerDurationSeconds1.25how long a stagger lasts
stunDurationSeconds5.0how long a full stun lasts
stunnedDamageMultiplier2.5critical damage multiplier when hitting a stunned entity
enableStaminaDisplayfalseshow stamina values above entities as a nameplate
entityWakeUpByStatusEffectsfalsewhether status effect damage (poison, fire) wakes stunned entities

Parry Effects (PvE)

OptionDefaultDescription
enableParryEffectstrueenable bonus effects from consecutive parries
parryEffectThreshold3number of consecutive parries to trigger an effect
parryEffectResetWindowMs5000time before the parry counter resets (ms)

Sound Effects

Override the default sound effects for parries, stuns, and counterattacks with any valid SFX ID. Leave empty to use the built-in defaults.

OptionDefaultDescription
parrySfxId""custom SFX ID for the parry sound
stunSfxId""custom SFX ID for the guard break/stun sound
counterattackSfxId""custom SFX ID for the counterattack hit sound
tip

If you want to use a custom sound that is not native, add it to your world first and put the id of your sound effect here!

pvp_config.json

Settings specific to player-vs-player parrying. See PvP Parrying for gameplay details.

OptionDefaultDescription
enablePvPParrySystemtrueenable PvP parry mechanics
parriedStaminaDamage2flat stamina damage dealt to the parried player
parriedStaminaRegenCooldownSeconds1.5delay before parried player's stamina regenerates
enableSuperKnockbackfalseenable massive knockback on PvP parry
usePercentageStaminafalseuse percentage-based stamina damage instead of flat
percentStaminaDamage25percentage of stamina to drain (when percentage mode is on)
enablePvpParryEffectstrueenable parry effects in PvP
pvpParryEffectThreshold2consecutive parries needed to trigger a PvP effect
pvpParryEffectResetWindowMs5000PvP counter reset window (ms)

npc_parry_config.json

Settings for NPC parry behavior and incoming attack indicators.

OptionDefaultDescription
enableNpcParrytrueenable NPCs to perform perfect parries when blocking
npcParryWindowMs750timing window for NPC parries (ms)
npcParryStaminaDamage2.5flat stamina damage dealt to the attacker on NPC parry
npcUsePercentageStaminafalseuse percentage-based stamina damage instead of flat
npcPercentStaminaDamage10percentage of stamina to drain (when percentage mode is on)
npcParryDamageMode1damage mode: 1 = % health, 2 = flat, 3 = reflect
npcParryPercentHealthDamage15percentage of attacker's max health dealt as damage (mode 1)
npcParryFlatDamage10flat damage dealt to attacker (mode 2)
npcParryReflectPercent25percentage of incoming damage reflected (mode 3)
npcBlockWindowBufferMs150minimum time NPC must be blocking before parry activates (ms)
npcBlockCooldownMs1500cooldown before NPC can block again after a parry (ms)
enableAttackWarningParticlefalseshow a red ! VFX above NPCs when they start an attack (BETA)
enableAttackWarningSfxfalseplay a warning sound when NPCs start an attack (BETA)

entity_stamina.json

Contains per-entity stamina configurations for 413 entity types by default. Each entity entry has the following properties:

PropertyDescription
max_staminamaximum stamina pool for this entity type
stamina_regen_timerdelay in milliseconds before stamina starts regenerating
stamina_regen_ratehow fast stamina regenerates per tick
damaged_stamina_multiplierhow much normal damage drains stamina
parried_stamina_changeflat stamina drained when this entity is parried
stagger_chanceprobability of a stagger on each parry (0.0 to 1.0)
tip

Modded entities have custom settings in a separate config file to prevent confusion and make adding custom mob stamina systems easier.

weapon_parry_settings.json

Per-weapon overrides for parry behavior. This file allows you to fine-tune how specific weapons or groups of weapons behave when parrying. It supports exact item IDs, wildcards (*), and special material groups.

Available Overrides

The following properties can be overridden for any weapon entry:

PropertyTypeDescription
signature_energy_gainFloatsignature energy granted per parry
parryWindowMsLongthe timing window in milliseconds
reflectDamagePercentFloatpercentage of damage reflected
knockbackXFloathorizontal knockback force
knockbackYFloatvertical knockback force
counterattackDamageMultiplierFloatdamage multiplier for counterattacks
stunnedDamageMultiplierFloatdamage multiplier against stunned targets
parryStaminaDrainMultiplierFloatstamina drain multiplier on perfect parry
parrySfxIdStringcustom SFX ID for the parry sound
counterattackSfxIdStringcustom SFX ID for the counterattack hit sound
counterattackWindowMsLongwindow for landing a counterattack (ms)
flatBonusStaggerChanceFloatflat addition to the entity's stagger chance
percentageBonusStaggerChanceFloatpercentage increase to the entity's stagger chance

Wildcards & Groups

You can use the * wildcard to match multiple items. Additionally, you can use the following built-in groups:

  • {METAL}: matches common metal materials (iron, cobalt, mithril, etc.)
  • {NON_METAL}: matches non-metal materials (stone, wood, trork, etc.)

Example configuration:

{
"Weapon_Mjolnir_Starky": {
"signature_energy_gain": 35.0
},
"Weapon_Narwhals_Karambit": {
"signature_energy_gain": 10.0,
"parryWindowMs": 150,
"reflectDamagePercent": 0.05,
"counterattackDamageMultiplier": 2.0,
"stunnedDamageMultiplier": 3.0
},
"Weapon_*_{NON_METAL}": {
"parrySfxId": "SFX_PP_Perfect_Parry_Non_Metal"
},
"Weapon_Shield_*": {
"parrySfxId": "SFX_Shield_T2_Impact"
}
}

This system provides granular control over combat balance, allowing people to decide each weapons parry stats based on their vision of each weapon.

mod_dependencies.json

Toggles for optional integrations with other mods.

OptionDefaultDescription
enableMmoSkillTreetrueenable MMO Skill Tree integration for parry bonuses
info

Mod integrations only take effect if the corresponding mod is also installed. Enabling an integration for a mod that isn't present has no effect.

Live Editing

Use /parrymodsettings to open the interactive settings UI and change any of the options listed above without restarting the server. See Commands for details.