Jump to content

Pips won't plant


Recommended Posts

27 minutes ago, Argelle said:

The distance between plants is different from left to right compare to right to left.

There is a tree and a gap of only 3 (need 4!) to the right.

I know the rules. Are you looking at the right spot? I mean the two spots near the grooming station. The tree farms to the right have been planting fine.

Link to comment
Share on other sites

5 minutes ago, Argelle said:

I think I look at the very same spot.

image.png.be99c3d868386c97bc92512d3e3a73bc.png

Unplant the tree, block with ladder, and let the pip start from the left?

From the right ;)

Also, there is a pattern to have the trees closer (I.e one tile apart in groups of 3) by building ladders over overlapping branches placements

Link to comment
Share on other sites

I figured it out. Apparently the trees below were too close. I tore them up and the pips in the ranch filled in the trees right away.

Also I know the trick to get trees to use up exactly 5 spaces each but I don't think its worth it. It doesn't save that much space and its the kind of thing I can see getting jumbled up on a save/load or something.

Link to comment
Share on other sites

1 hour ago, vascoegertklei said:

It’s not 6 tiles for below, it’s 8. That’s why they wouldn’t plant.

No it is 6... I checked it in code and nakomaru rules are correct. (this game is horrible, I spend more time looking at C# then playing...)

	private int plantDetectionRadius = 6;
	private int maxPlantsInRadius = 2;

And why it is one more to the left then to the right?

Because they get cell coordinate, then subtract 6 (to the left and bottom) and then check rectangle radius*2 so 12x12, but even size rectangle has no "middle" cell...

Spoiler

	private static int CountNearbyPlants(int cell, int radius)
	{
		int num = 0;
		int num2 = 0;
		Grid.PosToXY(Grid.CellToPos(cell), out num, out num2);
		int num3 = radius * 2;
		num -= radius;
		num2 -= radius;
		ListPool<ScenePartitionerEntry, GameScenePartitioner>.PooledList pooledList = ListPool<ScenePartitionerEntry, GameScenePartitioner>.Allocate();
		GameScenePartitioner.Instance.GatherEntries(num, num2, num3, num3, GameScenePartitioner.Instance.plants, pooledList);
		int num4 = 0;
		foreach (ScenePartitionerEntry current in pooledList)
		{
			KPrefabID kPrefabID = (KPrefabID)current.obj;
			if (!kPrefabID.GetComponent<TreeBud>())
			{
				num4++;
			}
		}
		pooledList.Recycle();
		return num4;
	}

 

And "TreeBud" don't count... so I guess those are branches or trunks.

 

Link to comment
Share on other sites

1 minute ago, nakomaru said:

Yep, this was news to me. It's not just the root. The center two tiles for plants count. Except for decorative 1 tile plants. They only count the 1 tile they are in.

Have you tested it? I mean counting body of the plants

Link to comment
Share on other sites

1 hour ago, nakomaru said:

Haha! I think this image shows that branches actually count! Wait there are no branches :o

It's not just the root!!!

Well, some visual feedback of whether a specific tile is suitable for pip-planting would have helped a lot. Something added in the farming overlay, perhaps? Klei probably added pips too late for that though, but I think it would remove a lot of confusion. I do think that pip-planting is a good idea though, removes tons of hard bottlenecks.

Link to comment
Share on other sites

5 minutes ago, abud said:

Have you tested it? I mean counting body of the plants

Sorry, 100 edits per post strikes again. See attached test above. It shows that decorative 1 tile plants only count the tile they are in, but two tile plants count the two tiles they are in.

And I tested trees too. They are two tiles just like other plants.

Minimum range shown below.

tree.thumb.png.909fc414fd257ee9b9d65a7dc9f76709.png

Link to comment
Share on other sites

I think they didn't change it. They still check that 12x12 area for max 2 "plant cells" and plant cell is where plant is... Even if not fully grown plant, if you can't build over that cell it means there is plant on it and so it counts.

And pip will also refuse to plant higher plants to just one tile high space.

 

Link to comment
Share on other sites

On 8/10/2019 at 5:55 PM, bzgzd said:

No it is 6... I checked it in code and nakomaru rules are correct. (this game is horrible, I spend more time looking at C# then playing...)


	private int plantDetectionRadius = 6;
	private int maxPlantsInRadius = 2;

And why it is one more to the left then to the right?

Because they get cell coordinate, then subtract 6 (to the left and bottom) and then check rectangle radius*2 so 12x12, but even size rectangle has no "middle" cell...

  Hide contents


	private static int CountNearbyPlants(int cell, int radius)
	{
		int num = 0;
		int num2 = 0;
		Grid.PosToXY(Grid.CellToPos(cell), out num, out num2);
		int num3 = radius * 2;
		num -= radius;
		num2 -= radius;
		ListPool<ScenePartitionerEntry, GameScenePartitioner>.PooledList pooledList = ListPool<ScenePartitionerEntry, GameScenePartitioner>.Allocate();
		GameScenePartitioner.Instance.GatherEntries(num, num2, num3, num3, GameScenePartitioner.Instance.plants, pooledList);
		int num4 = 0;
		foreach (ScenePartitionerEntry current in pooledList)
		{
			KPrefabID kPrefabID = (KPrefabID)current.obj;
			if (!kPrefabID.GetComponent<TreeBud>())
			{
				num4++;
			}
		}
		pooledList.Recycle();
		return num4;
	}

 

And "TreeBud" don't count... so I guess those are branches or trunks.

 

 

Okay, good to know! I always planted from top to bottom and never tested it myself. I was going off of info from the forums and the wiki.

 

On 8/10/2019 at 6:00 PM, nakomaru said:

Yep, this was news to me. It's not just the root. The center two tiles for plants count. Except for decorative 1 tile plants. They only count the 1 tile they are in.root.thumb.png.59b2426b3856d89ecb9fe31746b27d6a.png

 

What about plants that are 3 tiles high, like reeds?

Link to comment
Share on other sites

2 hours ago, vascoegertklei said:

What about plants that are 3 tiles high, like reeds?

They act as 3 tiles high for planting too!

Updated the everything you need to know post:

Spoiler
  • Here, "plant" means the 1 to 3 tile height that the plants occupies.
  • For decorative plants and sleet wheat, it means the 1 tile height that they occupy.
  • Most plants including trees are 2 tiles high and branches do not count.
  • Thimble Reeds and Pincha Pepperplants are 3 tiles high.

Tests.

Wheat Pass, Tree Pass:

Spoiler

wheatpass.thumb.png.98bc844cd81c926227d43be339a9eb3b.pngtreepass.thumb.png.253c021c25fe5b1f04e0d4c558680b23.png

Reed Fail, Reed Pass:

Spoiler

reedfail.thumb.png.a83ef3c5c45b66c73b551cf147e20342.pngreedpass.thumb.png.fdb80c3ced6bb7785f01d23458c03d41.png

Link to comment
Share on other sites

3 hours ago, vascoegertklei said:

Okay, good to know! I always planted from top to bottom and never tested it myself. I was going off of info from the forums and the wiki.

What about plants that are 3 tiles high, like reeds?

Nakomaru already answered while I was testing it... so I can confirm that pip on the right is not planting because reeds at the bottom block it with their high 3.

reed_plant_pip.thumb.png.caa2707faea00c0be92ee078513c13fc.png

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

×
  • Create New...