About
Infobox
The LawnMower
Caption
Details
Type Name Links - NexusMods
- GithubRequirements - Python 3.5+
- Tes3convAuthor acidzebra
Link to originalInfobox
Groundcover
Caption
Vurt’s Groundcover, the most downloaded and endorsed Morrowind groundcover mod on Nexus Mods.
image sourceThis article is part of a series on Groundcover
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’: removes clipping and unwanted grass
- ‘Weedwhacker’: thins out grass
- ‘Grassclipper’: fixes floating grass
- ‘Grassblocker’: makes your mod autoclean-compatible
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
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
Link to originalMaintenance
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.
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
withtes3conv
(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