You can edit any of the game's assets after it's loaded from the file (but before it's provided to the game), without changing the original files. You do this by implementing <tt>IAssetEditor</tt> in your <tt>Mod</tt> class, which adds two methods: <tt>CanEdit<T></tt> returns whether the mod can edit a particular asset, and <tt>Edit<T></tt> makes any changes needed.
+
You can edit any of the game's assets after it's loaded from the file (but before it's provided to the game), without changing the original files. You do this by implementing <tt>IAssetEditor</tt> in your <tt>Mod</tt> class, which adds two methods: <tt>CanEdit<T></tt> returns whether the mod can edit a particular asset, and <tt>Edit<T></tt> makes any changes needed. SMAPI will call your <tt>CanEdit<T></tt> every time an asset is loaded (which may happen multiple times per asset), then call <tt>Edit<T></tt> if it returns true.
For example, here's a mod which makes crops grow in any season and changes the winter dirt texture.
For example, here's a mod which makes crops grow in any season and changes the winter dirt texture.