Xycraft soil

  • Please make sure you are posting in the correct place. Server ads go here and modpack bugs go here
  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord

SteveTech

New Member
Jul 29, 2019
144
0
0
So since the xycraft wiki is a wee bit out of date I figured I would take my question here.

How exactly do the xycraft soils block act on the plants?
From my understanding each random update tick plants have a random chance to 'grow' and the xycraft soil basically triggers more ticks for each soil block, but is it a 1:1 proportion or is there some magic* going on in the background? Does one soil count the same as watered dirt, or is it better?

Say I have 64 soil blocks and I want to get the maximum yield of wheat over a 30 minute period. Would I be better off with an 8x8x1 farm, a 4x4x4 farm, a 2x2x16 farm, or a 1x1x64?

I know that the average amount of time for a stage to complete will be:
(n*chance) - (1-chance)^n > 1
where n is the number of random block updates needed.
Since any given block will receive a random block update on average every 82 seconds, we simply multiply n*82 and divide by 60 to get the number of minutes for a single growth.

But I'm still stuck with not knowing how exactly a xycraft soil block effects growth.


*Magic: Hidden math, spooky stuff, a mathematical algorithm that determines the behavior of the object in question.
 

DZCreeper

New Member
Jul 29, 2019
1,469
0
1
From what I remember each XyCraft soil doubles the amount of random ticks for the plant to grow. Because the effect stacks, having 2 XyCraft soil is 4 times faster than normal hydrated soil and so on. I could be wrong, but I am running a 14 spot sugar cane farm and have 16 soil blocks under each. Seems to work at an insane speed.
 

SteveTech

New Member
Jul 29, 2019
144
0
0
Well if that is indeed the case then a stack of soil would be far better(2^n) then a single deep(2*n) farm.
 

Vaygrim

New Member
Jul 29, 2019
533
0
0
There was a Season 4 SMP episode of Direwolf20's that actually had Soaryn (the creator of Xycraft) commenting about the mechanics of the Xycraft Soil blocks and how the 'stacking' mechanism worked. I seem to recall they even gave some estimates on how long certain plants took with specific stack sizes of the X-Soil blocks. I want to say it was Episode 4 but it might be a bit further in. I know for sure that they re-address the blocks and how they behave in the much latter "World Tour" episode. Hope this helps somehow.
 

whythisname

New Member
Jul 29, 2019
474
0
0
I've heard the stacking is additive, not multiplicative. Which means each block you stack adds less compared to the stack you had before (adding 1 block to a stack of 20 increases speed by less than adding 1 block to a stack of 3). Which seems to agree with what I've seen in game.
If it would be multiplicative a stack of 64 would instantly grow anything, it does not. A few blocks however are significantly faster than regular soil, which is just like additive stacking would work (big/decent increases with few blocks, poor increases per block with many blocks).

It also makes sense that it's additive, basically it adds area to the plant to catch ticks. So with 10 blocks of XySoil the plant has 10x more chance to catch a tick. With 20 blocks 20x, overall that's less of a speed increase per block you add though.

Spreading out has another advantage. For example 1 row of 5 plants with a 1 block layer of XySoil underneath = 10 blocks total to catch ticks. 5 blocks of Xysoil with 1 plant on top = 6 blocks total to catch ticks.

All in all I think spreading out is better than stacking up if you want to grow many plants. If you need to grow only a few stacking up would be better of course.
Don't take anything of this as fact though, it's all based on what I've heard, but I've seen no proof or confirmation that it works this way (imho there's just too little info around to know for sure without Soaryn himself confirming it).
 

Vaygrim

New Member
Jul 29, 2019
533
0
0
I do believe that it is additive and not multiplicative, now that you mention it. Soaryn once mentioned in a Direwolf20 episode that he crashed the ForgeCraft server because his Xychorium Soil blocks were multiplicative, so someone made a 64 block tall stack and planted wheat on it. The sheer amount of updates being forced to the server for that one top block got so high that it crashed the server. He then had to go back and change it to make the updates much more tolerable (which means it is probably additive now).
 

BanzaiBlitz

New Member
Jul 29, 2019
429
0
0
I believe the block updates were somewhere around 2 billion with the original xycraft soil math according to what I recall from that DW20 episode about them. :eek:
 

Abdiel

New Member
Jul 29, 2019
1,062
0
0
I did some empirical testing:

I set up several farm plots:

64 blocks of standard dirt (baseline).
8x8x1 blocks of XYsoil
4x8x2 XYsoil
4x4x4
2x4x8
2x2x16
1x1x64 XYsoil

(each plot contains 64 blocks of XYsoil).

I planted reeds on each plot and set a pair of golems to harvest it. The figures will be very slightly affected by golem travel time, but I believe this will be negligible.

I let the set up warm up for a few minutes, and then took a 40 minute measurement of reeds grown. Here are the numbers of reeds harvested in 20 minutes:

Dirt only: 133
8x8x1: 278
4x8x2: 209
4x4x4: 167
2x4x8: 153
2x2x16: 131
1x1x64: 146

Or, in graph form:

8QfnKTb.png


You can clearly see that given a fixed number of soil blocks, one layer is the best option.

Graph 2 shows the number of reeds harvested per block of farmland. This shows the growth rate increase with added XYsoil layers. As you can see, the increase is linear.

fpRo7zC.png


This supports the hypothesis that any XYsoil block catches tick updates and forwards them to whatever is planted on top of the stack.

To confirm, I did one last experiment. I built a 16x16x16 Borg cube of XYsoil covering one entire 16x16x16 chunk section. This cube should therefore catch every tick update (3 per tick) and forward them to the reeds planted on top. According to MC wiki, reeds grow after receiving 16 tick updates. This would mean that every second, the cube receives 20 * 3 = 60 tick updates. This should, on average, cause 60 / 16 = 3.75 reeds to grow every second. And surely enough, observing the farm visually, I counted 3-4 reeds growing every second.
 

Vaygrim

New Member
Jul 29, 2019
533
0
0
So you get faster farm turn around.. just using a 1 block thick layer of Xychorium Soil? Doesn't that kind of defeat the entire purpose of the block's stacking functionality?
 
  • Like
Reactions: DZCreeper

whythisname

New Member
Jul 29, 2019
474
0
0
To me the stacking mechanic is more of a convenience and potentially less resource intensive way to get more out of a farm. I mean if you run an MFR farm increasing its area also means getting better upgrades and/or more Harvesters/Planters, so just sticking more XySoil under it might be the cheapest way to increase production (assuming you're not just running it with infinite fertilizer).

With a Steve's Cart farm you'd have to consider the cost of more rails, though I have to admit that isn't much of a cost.

If Forestry farms ever become XySoil compatible (or are they already?) you obviously have very limited options of expanding a farm's area, so stacking more XySoil would be the only way to increase output per farm.

And I don't know if XyCraft will have any farming machines/mechanics in the future, but perhaps something from XyCraft will give you a good reason to stack instead of spread.



Also if you have only a few seeds/saplings of a certain type of plant and you want to grow more asap, stacking some XySoil under them might be a good idea. Though any type of fertilizer can do this job 1000x better and get you to the point where spreading is more effective than stacking a lot faster.
 

Fuzzlewhumper

New Member
Jul 29, 2019
500
0
0
If you still have your test world set up, can you try this?

Place regular dirt on your XySoil to see if the dirt is given the boost by the soil.
Place regular dirt AND go up three or four blocks (air blocks) and place another dirt. This is to simulate multi-tier farms. I suspect the soil gives the bonus to anything in the same x,z coordinate position.
 

Abdiel

New Member
Jul 29, 2019
1,062
0
0
If you are limited by the total farmable area rather than number of XYsoil blocks, then stacking helps you. The area might be limited by chunk loaders, golems' effective range, whatever your automation is requiring a fixed area (Forestry farms), space in your base, etc. If you don't have any other automation available, you might be able to build a pretty efficient farm using a tall tower of XYsoil with just a few actual plants, and use block breakers to harvest. But yes, given a limited number of XYsoil and unlimited space and seedlings, spreading is more efficient.
 

SteveTech

New Member
Jul 29, 2019
144
0
0
I did some empirical testing:

This supports the hypothesis that any XYsoil block catches tick updates and forwards them to whatever is planted on top of the stack.

Thanks for the reply, very helpful, but now i'm left wondering if it is really so simple. I thought I remembered hearing that they boosted the growth rate and though catching another block tick due to a tower beneath would do this I can't help but wonder if there is more to it than that.
 

KyoNeko66

New Member
Jul 29, 2019
96
0
0
If you still have your test world set up, can you try this?

Place regular dirt on your XySoil to see if the dirt is given the boost by the soil.
Place regular dirt AND go up three or four blocks (air blocks) and place another dirt. This is to simulate multi-tier farms. I suspect the soil gives the bonus to anything in the same x,z coordinate position.
This is something i would like to know as well. I would test this myself but im currently not at home so i cant atm.
 

whythisname

New Member
Jul 29, 2019
474
0
0
Speaking of XySoil, how does it work with Pumpkins/Melons? Can you make them grow faster and if so do you need the XySoil only under the stalk or also under the blocks where a Melon/Pumpkin can grow? Or do you only need it under the places where the Pumpkin/Melon can grow and not under the stalk? (assuming the stalk is fully mature anyway).
 

Fuzzlewhumper

New Member
Jul 29, 2019
500
0
0
In a word, damn yes it works on those guys. Well, that's a bunch of words actually.

I had set up a farm for melons and they grew noticeably faster. When I harvested a row of twenty, I could get to the end turn around and see about 20% had already regrown. It's stupid fast. (Stacked soil 4 deep for this). Planting directly on top of the soil - didn't need to use a layer of dirt because of incompatibility.
 

whythisname

New Member
Jul 29, 2019
474
0
0
In a word, damn yes it works on those guys. Well, that's a bunch of words actually.

I had set up a farm for melons and they grew noticeably faster. When I harvested a row of twenty, I could get to the end turn around and see about 20% had already regrown. It's stupid fast. (Stacked soil 4 deep for this). Planting directly on top of the soil - didn't need to use a layer of dirt because of incompatibility.

Ok, but did you have the XySoil under the plants themselves or under the blocks where the Melons/Pumpkins grow? Or just everywhere?