sban

About

Infobox

The LawnMower

Caption

Details

TypeName
Links- NexusMods
- Github
Requirements- Python 3.5+
- Tes3conv
Authoracidzebra

Infobox

Groundcover

Caption

center
Vurt’s Groundcover, the most downloaded and endorsed Morrowind groundcover mod on Nexus Mods.
image source

This article is part of a series on Groundcover

Link to original

The LawnMower is a tool for cleaning groundcover mods of excess grass using Python scripts and Tes3conv.

NOTE

The LawnMower actually comprises four separate tools:

Lawnmower

lawnmower.py will take an input esp/esm file, a grass mod, and an output file as commandline arguments. It will compare them and if there is any clipping detected between the grass and objects in the mod, it will move the grass out of sight.

Moved grass references have their coordinates set to Z: 0, X: 0, Z: -20,000.

Usage:

python lawnmower.py "Morrowind.esm" "AesAdGrass_AC.esp" "AesAdGrass_AC_out.esp"

Weedwhacker

weedwhacker.py takes a groundcover mod, an output plugin and a number between 1-99 as its arguments. It will reduce the grass references in the output plugin as a percentage according to the number chosen.

Usage:

python weedwhacker.py "mygrassmod.esp" "mygrassmod_out.esp" 50

Grassclipper

grassclipper.py takes two groundcover mods as input, comparing both for matching cells and overwriting the cells of mod A with those of mod B, then saving the combined output.

Grassclipper is mainly intended for mod makers to speed up the process of creating groundcover patches after generating grass with Mesh Generator.

Usage:

python grassclipper.py "mygrassmod.esp" "mygrassmod_patch.esp" "mygrassmod_combined.esp"

Warning

In order to work correctly, both groundcover mods must be generated using the same .ini configuration from Mesh Generator.

Grassblocker

Grassblocker, rather than being a script, is a method of creating custom ‘auto-clean’ plugins that can improve the accuracy of lawnmower.py.

Caption

wm-sm
Grassblocker meshes in Balmora

This is achieved by utilizing the grassblocker_ meshes included with Lawnmower:

  • grassblocker_small.nif
  • grassblocker_medium.nif
  • grassblocker_large.nif
  • grassblocker_xl.nif
  • grassblocker_xxl.nif

These invisible marker meshes will appear in the Construction Set, but not in-game, and will be detected by lawnmower.py like any other reference when checking for grass which clips through other objects.

Advanced Usage

Maintenance

left wtiny

Maintenance

“Say. That’s an interesting Dwemer piece you have there. What can you tell me about it?

It is requested that this article, or a section of this article, be expanded.

Link to original

Run Lawnmower on Entire Load Order

Using Habasi and Tes3cmd, Lawnmower can be ran on one’s entire load order with the help of a BAT script.

rem generate cut grass mods
FOR A" "_A IN ( _grass_*.es? ) DO tes3cmd.exe delete --instance-match "Z\:\-20000" "%%A" >> out2.txt

Troubleshooting

Linux

“This tool almost works on linux. I had to replace tes3conv.exe with tes3conv (which is in my $PATH) and remove the check that checks for the file present in the directory”
- DorsaiDonal, Nexus mod page comments, 29 November 2023, 10:42AM