I expect so but it is difficult to advise you because I don’t understand what the program is supposed to do.
You have a World class that consists of
1 Praire object (whatever that is)
0 or more Grass objects
0 or more Champi objects (is that the French for Field?)
but then both Grass and Champi have their own collection of positions (PVector) which I assume represents their position in the World.
You also talk about ‘avoiding overlap’ but do not define what constitutes overlap.
Need more info