I'm still a noob at this, but I've successfully changed the colors of grasses without having to generate new worlds. You edit the graphics folder, not the saves.
1) Go to your raw/objects folder.
2) Find the file
plant_grasses.txt and backup the file while you're at it somewhere else, in case something goes wrong.
3) Find the following code snippet within it. The highlighted lines determines the tiles used (from the main tileset), and the color variations of the grass.
[PLANT:KNOTGRASS]
[ALL_NAMES:knotgrass]
[USE_MATERIAL_TEMPLATE:STRUCTURAL:STRUCTURAL_PLANT_TEMPLATE]
[BASIC_MAT:LOCAL_PLANT_MAT:STRUCTURAL]
[GRASS]
[GRASS_TILES:'.':',':'`':''']
[GRASS_COLORS:2:0:1:2:0:0:6:0:1:6:0:0]
[WET]
[DRY]
[BIOME:GRASSLAND_TEMPERATE]
[BIOME:SAVANNA_TEMPERATE]
[BIOME:SHRUBLAND_TEMPERATE]
[BIOME:ANY_TEMPERATE_FOREST]
4) The format, from what I can gather is:
[GRASS_TILES:'X':'X':'X':'X']
[GRASS_COLORS:A:B:C:D:E:F:G:H:I:J:K:L]
Where:
X = tile from the main tileset to be used. You can also use numbers, rather than the actual character enclosed in apostrophes. Refer to this
wiki article for the numbers of each tile. e.g. [GRASS_TILES:'.':',':'`':'''] is the same as [GRASS_TILES:46:44:60:39]
From what I can tell
A,
B,
C,
D,
E, and
F determine the colors of live plants.
While
G, H, I, J, K, and
L determine the color of dead or dry plants.
There are actually two sets for each, making a total of 4 sets of color raws.
A = foreground color of live variant 1
B = background color of live variant 1
C = brightness of the colors of live variant 1
D = foreground color of live variant 2
E = background color of live variant 2
F = brightness of the colors of live variant 2
G = foreground color of dead variant 1
H = background color of dead variant 1
I = brightness of the colors of dead variant 1
J = foreground color of dead variant 2
K = background color of dead variant 2
L = brightness of the colors of dead variant 2
Refer to this
wiki article for help on the foreground, background, and brightness values and how they work together
So all in all to get magenta knotgrass, I think this would work:
[PLANT:KNOTGRASS]
[ALL_NAMES:knotgrass]
[USE_MATERIAL_TEMPLATE:STRUCTURAL:STRUCTURAL_PLANT_TEMPLATE]
[BASIC_MAT:LOCAL_PLANT_MAT:STRUCTURAL]
[GRASS]
[GRASS_TILES:'.':',':'`':''']
[GRASS_COLORS:5:0:1:5:0:1:5:0:0:5:0:0]
[WET]
[DRY]
[BIOME:GRASSLAND_TEMPERATE]
[BIOME:SAVANNA_TEMPERATE]
[BIOME:SHRUBLAND_TEMPERATE]
[BIOME:ANY_TEMPERATE_FOREST]
5 is the color number for magenta. 0 is black. Thus 5:0:1 means the tile will show a foreground color of magenta, a background color black, and a brightness of 1 (which means it will show as light magenta).
That would show knotgrass as bright magenta when live, and dark magenta when dead... I think.
Note that the game apparently uses random tiles being used for grasses for generic shrubs sometimes.