Talk:Tutorials/Mushroom farming

I created the page but I'm not too experienced with wikis so I'm relying on everyone else to flesh it out for me... I Make Things 08:23, 29 May 2011 (UTC)

Update to The Simple Methods
I believe that the simple method descriptions should be updated to include a strategy that I have used for my simple farming setups. Rather than keeping the whole farm 1-block high and then having to dig/alter it to get to all the mushrooms, it should be suggested to instead use glass as a floor block. Glass prevents spawning and allows for 2+ block high walkways for access to the whole farm. This makes a pitch-black, mob-proof, permanent mushroom farm possible that requires no upkeep or on-going modification. Mikedoyal 20:11, 27 June 2011 (UTC)

My current farm is netherack paved (in normal realm) and doesn't seem to spawn mobs while pitch black and a 2 high cavity. This takes a little setting up (excavate, gather netherack, lay netherack) but is probably the easiest to harvest for a simple design Fists 06:34, 8 July 2011 (UTC) Scratch that, creepers Fists 07:07, 8 July 2011 (UTC)

Technique Discussion
I haven't tried anything fancy yet, usually its just a dim cave thing that I put my mushrooms in. I was thinking though, having, say, 1 block with a mushroom on it that is surrounded by a light level of 12 on all sides could allow you to make an automatic farm, where a mushroom spreads to a nearby block and is quickly popped up by the light into water currents or something. I Make Things 08:26, 29 May 2011 (UTC)

...that would work, but since mushroom farming is so slow, it would be hard for it to work effectively... I think using that on a much larger scale, where you use either 4 or 9 mushrooms, surrounded by fire covered in glass to create a 12 nd 13-light area around it, while preventing the mushrooms from getting burned... ...the only problem would be collection, and that's why I posted below ---Dark Pulse 01:11, 6 June 2011 (UTC)

Harvesting Possibilities
there are a few possible harvesting methods I'd like to explore, and I'm not sure if they work or not, if known, please comment:

1. Sand - Do mushrooms hold the same property of holding up sand that torches do? if so, perhaps slowly layering mushrooms could be a harvesting method (but it appears mushrooms can't climb 2 layers (IE, grow on the block directly above them) - and if they do, will they "pop out" on a large collapse? 2. Water - what's a mushrooms interaction with water? will the mushrooms pop out if hit by water? this would mean a method simmilar to sugar cane farming would be very easy. 3. any other harvesting possibilities??? --Dark Pulse 01:04, 6 June 2011 (UTC)

Red and Brown comparison
I started my own farm with something like 3 red mushrooms. I found about 4 brown mushrooms a good few days later. Only one red mushroom has grown in all of their time, but the brown mushrooms have been spreading like mad, with 3 or 4 new ones popping up. I Make Things 08:29, 29 May 2011 (UTC)

I'm not sure and haven't tried it but i'm going to make a room with one glass wall to look through and a door on one side have a hatch in the roof, which is three blocks from the ground, and have a torch behind it and have one of those every four or so blocks because that will, most likely, give the room enough light to grow the shrooms and not allow mobs to spawn.--Ormidda 08:49, 31 May 2011 (UTC)

sorry put it in wrong one it is supposed to be in tequnique. --Ormidda 08:51, 31 May 2011 (UTC)

(This is SMP) It seems to me that Red Mushrooms grow much slower than brown ones, though I may just be being unlucky. Nbord 22:58, 31 May 2011 (UTC)

(ssp) i have one room with even numbers of red and brown mushrooms, lit by redstone torches, and in there the growth rate is fairly similar but in another larger room i planted one red and one brown mushroom and left it completely dark. when i came back there were about a hundred brown mushrroms but the one red one hadnt spread at all in total darkness. The big un 13:47, 8 June 2011 (UTC)

My Own Analysis
I've left Minecraft running on both SSP and SMP, observed both planted and natural/generated mushroom fields growth. I made a slight effort to do controls, but mushrooms are tolerant to everything but bright light. I set up a mushroom farm and left it running for 6 hours, and went from this, to this, to this, and the mushrooms passed through the wall to outside the farm. (Note, my texture pack is "Visibility", blue/purple mushrooms are red mushrooms, green mushrooms are brown mushrooms)

My initial conclusions (which may be proven incorrect) about mushroom growth are:
 * Mushrooms can spread, in order of preference/likelihood, 1 square either diagonally or orthogonally, 2 squares orthogonally, up a layer via an adjacent step/block, and rarely down a layer via an adjacent step/block (if at all).
 * The 2 square orthogonal growth ignores 1 block wide walls, meaning mushrooms can expand beyond the walls of the mushroom farm (as indicated by the 3rd screenshot above). Does this mean mushrooms exhibit the ability of quantum tunneling?
 * Brown mushrooms seem to grow faster than red mushrooms.
 * Growth rate may be affected by light, and this may contribute to brown mushrooms' faster growth rate, at least in complete darkness, since they emit level 1 light. Both mushrooms seems to grow slightly less in darkness, but I am not positive.
 * Proximity to water and the material the mushroom is planted on has no discernible effect on growth rate.
 * Mushrooms will not spread to a tile with a light level greater then 12, understandable considering they cannot naturally spawn in light greater than 12.

I found that the best pattern is one that simply allows for the most lateral growth. Assembling the mushrooms in a grid pattern, 3 squares apart (2 empty squares in between, with each mushroom getting 8 empty squares to themselves). If space is limited, the mushrooms can be placed 2 squares apart, though more frequent harvesting is required (roughly 4 hours compared to 6, with my farm sizes of 8 each of both mushroom types). Alternatively, simply exploring the nether and then idling in the nether will eventually cause literal fields of mushrooms (this is near the entry to the nether on the SMP server I frequent, after about a day of the nether being activated on the server: http://oi51.tinypic.com/24kxj4z.jpg apologies for the darkness, the texture pack should make things easier to see. A day later, the size of the brown mushroom field about doubled) AndroidAR 15:12, 30 May 2011 (UTC)

I think that brown mushrooms spread faster in complete darkness, but red ones faster in light levels above 8. I had a room in 0 light with 2 brown mushrooms and approx. 100 blocks of space, and came back 2 hours later, and there was 5 mushrooms. My dimly lit (7-10 light) semi-auto farm had more brown seeds than red, but the reds spread only slightly slower. Stripminer123 09:35, 9 July 2011 (UTC)

Comments by CrispyLiquids: I have a mushroom farm on an SMP server, it's 18x18 blocks and contains an equal amount of brown and red mushrooms. Though I am not a registered user on this wiki (I logged in with BugMeNot), I thought I should share my findings on this topic, as my farm is doing great. The layout I'm using divides the brown and red mushrooms diagonally, with the diagonal line having no mushrooms planted on them. I started out by leaving an empty block in between two mushrooms every time, and leaving an empty line between two rows of mushrooms. Note that this farm is in complete darkness, there are no torches whatsoever and the room height is 2 blocks, underground. Being on SMP, I didn't not measure the time it took, but it quickly grew and completely filled the farm with mushrooms (against expectations). I noticed, time after time, that the Red Mushrooms (not the Brown ones, as mentioned in AndroirAR's experiment) outnumbered the Brown ones; meaning they grew quicker in these conditions (Would total darkness benefit Red Mushroom growth, whereas non-total darkness benefit Brown Mushroom growth?).

As for the most efficient mushroom farm, the method I just described is not the most efficient one when it comes to 'time to harvest' vs. harvest. I think the least time consuming and efficient way is to harvest compelete rows of mushrooms by simply holding your left mousebutton while walking in that row, like one would do with Sugar Canes (but not with Wheat, as you would crush the crops). Personally I harvest one row and leave the next one, and continue like that. The truely optimal setup will depend on how frequently you wish to harvest your mushrooms; after all the more time you leave in between harvests, the more space your mushrooms will need to spread further. As I was writing this text, which did not take too long, 11 Brown and 18 Red Mushrooms grew on my farm. Minecraft wiki 12:42, 5 June 2011 (UTC)

Should this be merged with mushrooms?
I don't think so because cacti and reeds got their own pages, and there is already a lot of discussion here that would clog up the mushroom discussion, not to mention the mushroom article being quite long enough already. I Make Things 09:52, 31 May 2011 (UTC)

However, this article is currently a stub, and needs drastic expansion to be considered a full article. A tutorial for a simple automatic mushroom farm would probably help many people.Thehiddenones 17:33, 31 May 2011 (UTC)

I think this page should remain. There's a lot of information to cover on this topic. Nbord 22:59, 31 May 2011 (UTC)


 * I vote keep this pageTheesexiestman 21:53, 2 June 2011 (UTC)
 * well enough time had passed and most you all want it to stay...what ever, I'll take down my request.--Yurisho 21:59, 2 June 2011 (UTC)

Which blocks do mushrooms spread to?
Title. This can be added to the main article. I know right now they spread on: Nbord 23:01, 31 May 2011 (UTC)
 * 1) Dirt
 * 2) Grass
 * 3) Sand
 * 4) Stone
 * 5) Cobblestone
 * 6) Chests
 * 7) Furnaces

They just spread to any opaque, solid block. C ali nou - talk × contribs » 23:08, 31 May 2011 (UTC)

Ah, okay. I'd still like to see this tested, though. Thanks! Nbord 23:10, 31 May 2011 (UTC)

including black wool?

Time to update?
It seems like a few things can be agreed upon: -Stuff Mushrooms grow on -Brown grows faster than red (About 2x as fast, in my experience) -The only major factor on growth is light - common sense

I think it's time that we added some of that stuff to the stub. Snails 06:00, 7 June 2011 (UTC)

Spread Mechanics
I've updated the main page with a description of how mushrooms spread. Here is the more concise, technical version:


 * firstChosen.x = mushroom.x + rand[-1, 0, +1]
 * firstChosen.y = mushroom.y + rand[-1, 0, 0, +1]
 * firstChosen.z = mushroom.z + rand[-1, 0, +1]


 * secondChosen.x = firstChosen.x + rand[-1, 0, +1]
 * secondChosen.y = firstChosen.y
 * secondChosen.z = firstChosen.z + rand[-1, 0, +1]

It's not easy to visualize the "spread map" in one's head. (Well, my head, anyway.) It's symmetrical and obviously prefers the immediate neighboring blocks, but that's about all I can deduce without writing a simulator or reverting to using pen, paper and probability (*shudder*).

I'm not sure it's worth the trouble; I'd just build a "flat" farm, but it may be interesting to figure out the optimal seed pattern.


 * This does favor mushroom farms with completely flat spreading surfaces, right? I'd like to know for sure because I'm designing my own automatic mushroom farm. I want it to be as efficient as possible. (Resource and space efficiency don't matter to me). Papersphere (talk) 22:00, 28 October 2013 (UTC)

I'm not sure if the spread mechanics are correct.

1 tick = 1/20 seconds 100 ticks(how often on average a mushroom will try to spread) = 5 seconds

take a mushroom planted on level ground with an open 5x5 square around it

50% chance middle 3x3 will be chosen 8/9 chance the first block will be open 8/9 chance second block will be open

5/0.5/(8/9)/(8/9) = ~12.66 seconds

I certainly have never seen mushrooms grow that fast. I was thinking maybe there is just less chance per tick to spread? Any ideas? Basilisk 06:11, 22 July 2011 (UTC)

Are we certain that the above formulas are correct? If so then the growing pattern for a mushroom is 5x5x3 and not 5x5x5 which is what the main article seems to suggest to me. (Though it's a bit unclear, unlike the above psudocode... Or is that the actual code?) There's no mention of the source of the above and I wouldn't know where to look to try to verify it in the code it-self. It seems to be on the level, though and thus I'd suggest maybe an edit to the article to make it more clear. Mannon 18:48, 24 July 2011 (UTC)

I think you misinterpreted the (dirty) source code there.

int l = (i + random.nextInt(3)) - 1; int i1 = (j + random.nextInt(2)) - random.nextInt(2); int j1 = (k + random.nextInt(3)) - 1; if(world.isAirBlock(l, i1, j1) && canBlockStay(world, l, i1, j1)) {               i += random.nextInt(3) - 1; k += random.nextInt(3) - 1; if(world.isAirBlock(l, i1, j1) && canBlockStay(world, l, i1, j1)) {                   world.setBlockWithNotify(l, i1, j1, blockID); }           }

That's what we get with MCP. There are obiously two checks (if clauses) there. But the checks refer to the same variables which aren't changed inbetween. Also, the variables that are changed inbetween the checks aren't used again. So I think those 3 lines are absolutely rendundant and this is what we get:

int l = (i + random.nextInt(3)) - 1; int i1 = (j + random.nextInt(2)) - random.nextInt(2); int j1 = (k + random.nextInt(3)) - 1; if(world.isAirBlock(l, i1, j1) && canBlockStay(world, l, i1, j1)) {                   world.setBlockWithNotify(l, i1, j1, blockID); }

As already pointed out, that would make a mushroom spread at the same level with a chance of 50% and with a chance of 25% each it spreads one block up or down.

The timing is hard to tell. I think the updateTick method in which this code is called with a chance of 1% isn't actually called every single game tick. It's another kind of tick that's also used for trees, cacti etc and harder to understand.

--Taurose 11:27, 26 July 2011 (UTC)

I'm just not understanding where this 50% chance to spread on the same level is coming from. It's not apparent in either of the code examples provided.

The code from MCP also seems to imply that the mushrooms can spread 2 levels above the source mushroom below so long as its possible to populate the block with a mushroom.

A source for the initial algorithm posted in this discussion and especially one for the algorithm currently up on the wiki would be great for clearing up the technical behind mushroom propagation.

--Slayorious 15:09, 13 September 2011 (UTC)

I think the source code posted in this talk section is faulty (because I have seen mushrooms spawn with space between the new mushroom and the source shroom...) At any rate, assuming the description of the mechanics in the article is correct, we have the following square centered around the mushroom:

bkrkb

kBRBk

rRXRr

kBRBk

bkrkb

Where "X" is the source mushroom, the other squares are labeled based on chess pieces.

Now for the tricky part: given that the mushroom has attempted to spawn HORIZONTALLY, there are 81 "possibilities", 17 of which result in no new mushroom. These are kept distinct, even though there are only 25 tiles that are under consideration. Given that the mushroom would successfully spawn given a flat surface, there are 64 possibilities (a very, VERY convenient number, so I shall call said possibility the mushroom tick), and the mushroom probabilities are as follows... for a given tile: each b tile= 1/64 each k tile= 2/64 each r tile= 3/64 each B tile= 3/64 each R tile=5/64 while the chance of spawning on a letter is as follows:

b=4/64=1/16 k=16/64=4/16=1/4 r=12/64=3/16 B=12/64=3/16 R=20/64=5/16

HOWEVER, if you take out a "B" tile or an "R" tile (perhaps by placing another mushroom there), you'll reduce the chance by a bit more than 3 or 5 chances (10 or 12 to be exact). Knocking out the entire outer ring reduces the spawn chance by about 50%.

To score a farm with lots of squares knocked out, you'll want to score the ring around the mushroom: for each viable tile touching the source mushroom, count up how many viable tiles are touching it, and write that number down. when all the tiles touching that mushroom are written down, add them up and write that as the score for the mushroom; add up all the mushroom scores to get the total score for the farm. (Just make sure your clusters are far enough apart, or you'll get a "high scoring" farm that doesn't actually produce).

In conclusion, the best farm is based on clusters of 2 mushrooms planted on opposite corners of a 3x3 or 4x4 square. The best automatic farm is probably based on a line of 3-4 mushrooms, while an ideal semi-automatic farm is based on wide tunnels with protected source shrooms in the walls.

(If anyone thinks this should be shifted to it's own talk section of "advanced mushroom spread analysis", go ahead. if you can fix my "chess-grid" so it's only on 5 lines, please do so. ) 168.156.99.24 16:08, 16 March 2012 (UTC)

Light
Is there any method to know, do the different light levels affect on the mushroom spread speed, by opening some game files or viewing game code? I mean, is the exact answer to this question? --R0B 18:43, 7 June 2011 (UTC)

You can decompile the code and and look at BlockMushroom.java yourself. The only thing needed, in regard to light, is a light level less than 13. Mushrooms do NOT grow slower for every light level above 1. The front page is wrong. --Darkhand 11:58, 18 July 2011 (UTC)

Huge Mushroom Cultivation
I've been testing this morning, and I am pretty sure that if you want to cultivate a huge mushroom in a room, the mushroom needs to be in the center of a room at least 9x9x8 (7x7x8 doesn't seem to work for me). I'm shy about changing the wiki page, though. Can anyone verify?

Kelly Coyle 14:10, 21 August 2012 (UTC)

Giant Mushroom farming with Bone Meal
I could not get Bone Meal to work on my Mushroom until I took out the Stone under the Mushroom and replaced it with Dirt. The room is big enough, and the Bone Meal was not being consumed, so I'm pretty sure that was the cause. I'd assume Mycelium would also work, does anyone know for certain? This should be added to the section on Huge Mushroom Farming. It's been a problem over several worlds of mine, because I have a lousy memory.PuzzleMage 00:34, 29 August 2012 (UTC)


 * This is mentioned at Huge Mushrooms, added it here too. Dirt, grass, and mycelium all work. -- Orthotope 03:58, 29 August 2012 (UTC)

Spread mechanics analysis (1.16)
From the discussions above (from like 8 years ago), it seems that people had looked at the source code to better understand the spread mechanics. I did the same thing in 1.16 (using decompiled source code created with DecompilerMC). I found that, assuming I'm understanding the source code correctly, the spread mechanics as described on the wiki page are incorrect.

The actual spread mechanics are a bit too complicated to describe in words. Here is pseudo-code I wrote up to summarize the relevant section of the source code:

Each time the shroom receives a random block tick, generate random int in range [0, 25). If the random number is 0, run this code:   pos1 = (current mushroom coordinates);

if there are at least 5 mushrooms of the same type in the region bounded by    (pos1.x - 4, pos1.y - 1, pos1.z - 4) to (pos1.x + 4, pos1.y + 1, pos1.z + 4): exit this function without running the code below pos2 = new position, offset from pos1 as follows: x offset: -1, 0, or +1 (equal chances of each) y offset: -1, 0, or +1 (50% chances of being 0, 25% chance of -1, 25% chance of +1) z offset: -1, 0, or +1 (equal chances of each)

loop -- repeat 4 times: if a mushroom can be planted at pos2 (see below): pos1 = pos2; pos2 = a new position, offset from pos1 as follows: x offset: -1, 0, or +1 (equal chances of each) y offset: -1, 0, or +1 (50% chances of being 0, 25% chance of -1, 25% chance of +1) z offset: -1, 0, or +1 (equal chances of each)

if a mushroom can be planted at pos2: plant a mushroom at pos2

Here are the conditions for being able to plant a mushroom at a location:


 * the block at the location you're planting a mushroom at must be air
 * the block below that must be a block that allows a mushroom to be planted on it. (idk the exact conditions. But for example, it can't be glass.)
 * if the block below is not Mycelium/Podzol/Nylium, then the light level at the new potential mushroom location must be < 13

Some conclusions from the above pseudocode:

I will probably try to update this article and the Mushroom page in the near future to have more accurate information.
 * Mushroom spread is determined by random ticks (i.e, the thing you set with /gamerule randomTickSpeed). This can be confirmed by setting randomTickSpeed to a larger number and seeing mushrooms spread faster. However each random tick a mushroom block receives, it has a 4% chance of going through the code above. Note that the article says "Every tick, every mushroom is given a 1% chance to do the following", which is incorrect.
 * The process by which a mushroom spreads is more complicated than what the article says.
 * Mushrooms can theoretically spread up to 5 blocks away in the right conditions, although I haven't seen this happen and I'd imagine it has an extremely small probability of occurring.
 * I observed a mushroom that spread diagonally 3 blocks along the z-axis and 2 blocks along the x. This is the furthest spread I've observed.

Greenpepperpasta (talk) 07:12, 26 December 2020 (UTC)