

In vanilla, multiple sources of resistances and weaknesses do not stack nor do they cancel each other out. The strongest source of resistance will override all weakness.
The selected effect is in the order of: Very Resistant > Resistant > Slightly Resistant > Immune > Very Weak > Weak > Slightly Weak > Normal
(https://valheim.fandom.com/wiki/Resistance)
For example, with this mod's default setting
RootArmor (pierce -30%) + BerserkerMead (pierce +30%) + BonemassPower (pierce -15%) = pierce -15% (Player would get 85% damage for pierce)
FeatherCape (Fire +45%) + BarleyWine (Fire -30%) = fire +15% (Player would get 115% damage for fire)
Mob's resistance and weakness also get affected.
For example, with this mod's default setting
Troll would get 100%+30% = 130% pierce damage (weak to pierce)
Bjorn would get 100%-30% = 70% from pierce (resistant to pierce)

https://github.com/sighsorry1029/AdditiveDamageModifier
## If on, the configuration is locked and can be changed by server admins only. [Synced with Server]
# Setting type: Toggle
# Default value: On
# Acceptable values: Off, On
Lock Configuration = On
[2 - Additive Damage]
## Very Weak modifier value. 45 means +45% damage taken. [Synced with Server]
# Setting type: Single
# Default value: 45
# Acceptable value range: From -100 to 100
Very Weak Percent = 45
## Weak modifier value. 30 means +30% damage taken. [Synced with Server]
# Setting type: Single
# Default value: 30
# Acceptable value range: From -100 to 100
Weak Percent = 30
## Slightly Weak modifier value. 15 means +15% damage taken. [Synced with Server]
# Setting type: Single
# Default value: 15
# Acceptable value range: From -100 to 100
Slightly Weak Percent = 15
## Slightly Resistant modifier value. -15 means -15% damage taken. [Synced with Server]
# Setting type: Single
# Default value: -15
# Acceptable value range: From -100 to 100
Slightly Resistant Percent = -15
## Resistant modifier value. -30 means -30% damage taken. [Synced with Server]
# Setting type: Single
# Default value: -30
# Acceptable value range: From -100 to 100
Resistant Percent = -30
## Very Resistant modifier value. -45 means -45% damage taken. [Synced with Server]
# Setting type: Single
# Default value: -45
# Acceptable value range: From -100 to 100
Very Resistant Percent = -45
## Lower bound for final damage taken on Player after additive sum for this damage type. 0 means can go down to 0%, 50 means cannot go below 50%. [Synced with Server]
# Setting type: Single
# Default value: 10
# Acceptable value range: From 0 to 50
Minimum Damage Taken Cap Percent on Player - Blunt = 10
## Lower bound for final damage taken on Player after additive sum for this damage type. 0 means can go down to 0%, 50 means cannot go below 50%. [Synced with Server]
# Setting type: Single
# Default value: 10
# Acceptable value range: From 0 to 50
Minimum Damage Taken Cap Percent on Player - Pierce = 10
## Lower bound for final damage taken on Player after additive sum for this damage type. 0 means can go down to 0%, 50 means cannot go below 50%. [Synced with Server]
# Setting type: Single
# Default value: 10
# Acceptable value range: From 0 to 50
Minimum Damage Taken Cap Percent on Player - Slash = 10
## Lower bound for final damage taken on Player after additive sum for this damage type. 0 means can go down to 0%, 50 means cannot go below 50%. [Synced with Server]
# Setting type: Single
# Default value: 10
# Acceptable value range: From 0 to 50
Minimum Damage Taken Cap Percent on Player - Fire = 10
## Lower bound for final damage taken on Player after additive sum for this damage type. 0 means can go down to 0%, 50 means cannot go below 50%. [Synced with Server]
# Setting type: Single
# Default value: 10
# Acceptable value range: From 0 to 50
Minimum Damage Taken Cap Percent on Player - Poison = 10
## Lower bound for final damage taken on Player after additive sum for this damage type. 0 means can go down to 0%, 50 means cannot go below 50%. [Synced with Server]
# Setting type: Single
# Default value: 10
# Acceptable value range: From 0 to 50
Minimum Damage Taken Cap Percent on Player - Frost = 10
## Lower bound for final damage taken on Player after additive sum for this damage type. 0 means can go down to 0%, 50 means cannot go below 50%. [Synced with Server]
# Setting type: Single
# Default value: 10
# Acceptable value range: From 0 to 50
Minimum Damage Taken Cap Percent on Player - Lightning = 10
## Shared trigger threshold for Cold and Freezing immunity in Player.UpdateEnvStatusEffects. If effective additive frost delta is <= this value, both Cold and Freezing are blocked/cleared by vanilla flow. -15 means -15%. [Synced with Server]
# Setting type: Single
# Default value: -15
# Acceptable value range: From -100 to 0
Cold/Freezing Immunity Trigger Frost Delta Percent = -15
[3 - Fall Damage]
## Maximum base fall damage before status effects. Vanilla reaches 100 at 20m. Values above 100 keep linear growth beyond 20m until this cap. [Synced with Server]
# Setting type: Single
# Default value: 100
# Acceptable value range: From 100 to 500
Maximum Fall Damage = 100
## Multiplier applied to fall damage growth before cap. 1.0 keeps vanilla slope, 2.0 reaches cap twice as fast. [Synced with Server]
# Setting type: Single
# Default value: 1
# Acceptable value range: From 1 to 2
Fall Damage Multiplier = 1