Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
TouchGrass
In-game training meter for practical damage(DPS) and XP testing.Configurable training dummy damage. Dummies can hunt players at night. Discourages unattended macro skill farming with smart stationary fatigue and per-skill gain/loss tuning.
| Last updated | a day ago |
| Total downloads | 870 |
| Total rating | 1 |
| Categories | Mods Tools Server-side Client-side AI Generated |
| Dependency string | sighsorry-TouchGrass-1.0.6 |
| Dependants | 3 other packages depend on this package |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2333README
TouchGrass
TouchGrass adds practical training tools for Valheim while discouraging unattended skill farming. It provides a training dummy meter, configurable dummy damage tests, dummy crowding limits, archery target tuning, per-skill gain/loss modifiers, and stationary skill fatigue.
You can check dps, dph and damage taken through training dummy hud.
Training dummy's damage number and type and its health are configurable.
So you can test different damage types and resistances.
Check out this mod to make resistance additive. https://thunderstore.io/c/valheim/p/sighsorry/AdditiveDamageModifier/
Limit number of dummies that can be built within configured area.
Macro skill farming is discouraged with smart stationary fatigue.
Dummies can hunt you down at night. Beware...
Main Features
- Training meter HUD for outgoing damage, incoming damage, DPS, DPH, hit count, time, and recent skill XP.
- Optional admin/host meter support for hostile creatures without debug mode.
- Configurable training dummy health, recipe, damage amount, and damage type.
- Use a training dummy to edit that dummy's damage amount and damage type in game.
- Optional crowding rule that blocks dense dummy placement with
Too crowded Bro!. - Optional night aggro that makes training dummies slide toward nearby players at night.
- Stationary fatigue that gradually reduces repeated farmable skill gains inside the same X/Z radius.
- Archery target skill multiplier, recipe override, and an arrow/bolt-only skill gain gate.
- Per-skill gain and death-loss multipliers.
TouchGrass is not a hard anti-cheat system. It is meant to make common macro farms less efficient while keeping normal combat, movement, and testing usable.
General
Admin Hostile Creature Training Meter: whenOn, admins and hosts can use the meter against hostile creatures without debug mode. Default:Off. This is a local, unsynchronized setting.
Training Dummy
Training dummy settings include:
Training Dummy Health: max health forpiece_TrainingDummy. Default:2500.Training Dummy Crowding Radius: X/Z radius for crowded placement checks. Default:4.Training Dummy Crowding Max Count: maximum existing dummies allowed in that radius. Default:4, so the 5th is blocked.Training Dummy Night Aggro: whenOn, dummies detect players in a 16m radius at night and slide close enough for their native attack. Default:Off.Training Dummy Recipe: defaultFineWood:5,BronzeNails:10,Ectoplasm:5.Training Dummy Damage Type: default dummy damage type. Default:Blunt.Training Dummy Damage: default dummy damage amount. Default:1.Training Meter Display:DetailedorOff.Training Meter Window Seconds: rolling HUD window and HUD lifetime after a tracked interaction. Default:15.
Use a training dummy to open the TouchGrass dummy settings window. The window changes only that dummy's damage amount and damage type. Health stays controlled by config.
Training Meter
The training meter appears after interacting with a training dummy and uses a rolling time window. When Admin Hostile Creature Training Meter is On, admins and hosts can also use it against hostile MonsterAI creatures. Tamed or player-spawned allies, players, passive AnimalAI creatures, and neutral Dverger are excluded; an aggravated Dverger is included.
To <target> shows local outgoing hit attempts against the current meter target. Hitting a different creature instance starts a new outgoing calculation; creatures of the same prefab are still separate targets. When one area attack reaches several targets in the same frame, the first accepted target keeps the meter for that frame.
Attempt: total direct hit damage recorded in the window.Status: total status-style damage recorded separately when present.DPH:Attempt / Hits.DPS:Attempt / Time.Hits: number of recorded direct hits.Time: active window duration.
From <target> shows the latest incoming meter-target damage breakdown:
Raw - Blocked - Resist - Armor = Final
Each non-zero raw damage type gets its own formula row. Blocked, Resist, and Armor are the changes applied to that type; a negative value represents increased damage from that stage. Chop and Pickaxe are not blockable or reduced by armor in Valheim, but resistance still applies to them. Final is the damage left after Block, Resistance, and Armor. It is not capped by the player's remaining health, so lethal hits and repeated god-mode hits remain measurable. Fire, Poison, and Spirit use Status(...) instead of Final because Valheim converts them to status damage after armor. The breakdown is a practical readout for testing, not a replacement for Valheim's internal combat log.
Skill shows the latest supported skill gain recorded during the dummy session. The percentage compares final XP gained against raw action base XP and includes Valheim skill gain rate, status/equipment raise-skill modifiers, TouchGrass per-skill gain rate, and stationary fatigue.
Drag the HUD with the left mouse button to move it. HUD width and scale are fixed to keep the config surface small.
Skill Fatigue
Stationary fatigue applies to supported farmable skill gains when they keep chaining inside the same X/Z radius.
Defaults:
- Full efficiency for
120seconds. - Fade over the next
180seconds. - Minimum multiplier
10%. - Stationary radius
4mon the X/Z plane.
The fatigue is global, not per skill. Rotating between weapons, movement skills, dodge, sneak, swim, or similar farmable actions in one place pushes the same multiplier down.
Waiting inside the same radius does not recover fatigue. The fatigue resets naturally when the player earns a supported skill XP tick outside the stationary radius.
When fatigue is reducing skill gain, TouchGrass can show a local status effect. Detailed shows the icon, current efficiency, and the compendium text Touch the grass Bro!; Off hides it.
Archery Target
Archery Target Skill Multiplier: multiplier for skill XP frompiece_ArcheryTarget. Default:1.Archery Target Arrow Bolt Skill Only: whenOn, only arrow and bolt ammo can award archery target skill XP. Other projectiles can still score hits. Default:On.Archery Target Recipe: defaultFineWood:4,LeatherScraps:10.
Per-Skill Modifiers
TouchGrass adds per-skill entries for:
Skill Gain RateSkill Reduction Rate
These are multiplicative modifiers. They do not replace Valheim's existing global modifiers or status/equipment modifiers.
Example:
1.5 vanilla gain * 0.8 TouchGrass Swords gain * 0.5 fatigue = 0.6x final gain
Skill Reduction Rate works the same way for death skill loss. 0 disables TouchGrass-applied loss for that skill, 1 keeps vanilla-scaled behavior, and 2 doubles it after vanilla scaling.
Recipe Overrides
Recipe overrides use item prefab names:
ItemPrefab:Amount,ItemPrefab:Amount
Examples:
- Training dummy:
FineWood:5,BronzeNails:10,Ectoplasm:5 - Archery target:
FineWood:4,LeatherScraps:10
Leave a recipe empty to keep vanilla costs. Use None, Free, or - for no cost. Materials are always recovered when dismantling. Invalid recipe strings fall back to the vanilla recipe.