Hello everyone! I wanted to test out a mob farm so I built one in a creative flat world, and it was a 10x10 very small mob farm. Around 20 mobs spawned in the first few seconds, but when I made the exact same thing in the survival world at y: 190 it barely spawned any mobs. I'm pretty sure no mobs outside could've stopped them from spawning inside the farm. So are there higher spawn rates in super flat or something?
Even at y=190, interfering spawns are possible, and probably the number one reason why a lot of mob farms don't come to their full potential when built in actual survival worlds. Have you carefully done the math to ensure that no spawns are possible outside of your mob farm, per the spawning mechanics on the wiki? Also, if you tested your farm on singleplayer (as you would), but built the production version on a multiplayer server, other players' activities (regular survival stuff, or even mob farms of their own) can interfere with the mob cap. If it is a server, are you sure it's vanilla? Modded servers can have a dramatic effect.
Failing any of that (and the obvious, like light levels and being sure to stand in the correct spot for spawning to occur), can you summarize the actual design of your farm? (Or post a link to it, if you're following a guide of some sort)?
I don't think there were any mobs spawning elsewhere because the entity count was 0 wherever I looked. Also y 190 is more than 125 above the ground at y 63 so i think they shouldn't spawn right? I'll try afking at higher levels but I don't think it will spawn the insane amount of mobs that spawned in the flat world. And I did afk more than 25 blocks away and it was singleplayer.
The highest altitude in a chunk directly affects spawn rates by spreading out spawn attempts over the entire range; a world that is only 1 block high will have a 1/16 chance of a successful spawn attempt, while a world that is 256 blocks high will only have a 1/256 chance of a spawn attempt per layer, which will only succeed if it is non-solid and directly above a solid layer (the pack center itself does not need to be above a solid block but individual mob spawns do):
private static BlockPos getRandomChunkPosition(World worldIn, int x, int z)
{
Chunk chunk = worldIn.getChunkFromChunkCoords(x, z);
int i = x * 16 + worldIn.rand.nextInt(16);
int j = z * 16 + worldIn.rand.nextInt(16);
int k = MathHelper.roundUp(chunk.getHeight(new BlockPos(i, 0, j)) + 1, 16);
int l = worldIn.rand.nextInt(k > 0 ? k : chunk.getTopFilledSegment() + 16 - 1);
return new BlockPos(i, l, j);
}
(note that a chunk is vertically divided into 16 block high segments; in older versions the highest segment with blocks was reported in the debug screen as the "lc" value, which was removed in current versions but it is still used internally)
Here is a video that explains this:
Thus, for the best spawn rates you want to build no higher than the surrounding terrain, and light up all caves and the surface within 128 blocks.
Of course, this all assumes that your render distance (or server view distance, if playing on a server) was set to 10 or higher in both tests, since there is a bug that breaks mob spawning if it is lower (mobs spawns too far away to despawn because the game does not process them, but they are still counted, if they are within 2 chunks of the edge of loaded chunks (they normally despawn past 128 blocks or 8 chunks, hence where 10 comes from). Note that the game will attempt to spawn mobs anywhere within a 15x15 chunk area around the player, at any altitude at and below the highest blocks, regardless of render distance, so they can still spawn all the way down to bedrock and not despawn (this bug will not occur if there is nowhere else for them to spawn, but you may as well just build at the surface then).
Also, just because F3 says there are 0 entities does not mean that there aren't any, it doesn't even count every entity in loaded chunks around the player (you may have noticed that entities stop rendering past a certain distance, around 16 blocks for items regardless of render distance; the server also stops sending data to the client past a point, both for optimization purposes).
The highest altitude in a chunk directly affects spawn rates
While the above is true, the following is misleading:
Thus, for the best spawn rates you want to build no higher than the surrounding terrain, and light up all caves and the surface within 128 blocks.
Most decent mob farms are limited by the hostile mob cap and their own kill efficiency (mob survival time). Spawn rate in practice thus very much depends on the size of the mob farm and how quickly mobs are killed. It doesn't take a very big sky farm to hit mob cap. If you are building a tiny mob farm that kills efficiently, you might see a benefit to building low and lighting up or slabbing everything within 128 blocks as you suggest (which is a ton of soul-crushing torch spam work, totally impractical for a small mob farm). More importantly, if you are willing to spend that much time, you may as well stick a farm at build limit and make it bigger; you'll have better results and won't have to torch spam.
I don't think there were any mobs spawning elsewhere because the entity count was 0 wherever I looked. Also y 190 is more than 125 above the ground at y 63 so i think they shouldn't spawn right? I'll try afking at higher levels but I don't think it will spawn the insane amount of mobs that spawned in the flat world. And I did afk more than 25 blocks away and it was singleplayer.
If the ground (or ocean) was at y=63, that should be fine, then, as long as there is nothing within the 128 block sphere centered on the player, except the mob farm spawning surfaces. If you've verified everything else, then I would simply recommend going bigger than 10x10. You're going to have poor rates at 10x10 (disproportionately poor, actually, thanks to pack spawning). I spun up a quick test world and built two 10x10x4 boxes and I too got just a few mobs. Going up to 32x32 got me 35-40 mobs in 3-4 seconds. (You don't have to go that big, of course.)
So, I'd suggest staying near build limit, building your farm a little bigger, and killing mobs as quickly as you can after they spawn. 16x16 is about the smallest I'd personally ever bother building, but 20x20 is nice. Even 16x16 is 2.56 times as many spawning spaces as 10x10, so you have a lot less spawns failing due to overcrowding.
Aside: If you do go a bit bigger, you'll have to keep in mind that at 32 blocks from the player, hostile mobs stop moving. So if you're relying on mobs walking into water channels or something, it's not going to work (at least not for the most distant mobs). But other methods like periodic water dispensers, work fine whether the mobs can move or not.
Thank you TheMasterCaver. So according to that video if you build a mob farm low but build something else at world limit the mob farm still won't spawn much? Sorry if I misunderstood.
Thank you TheMasterCaver. So according to that video if you build a mob farm low but build something else at world limit the mob farm still won't spawn much? Sorry if I misunderstood.
He can correct me if I'm wrong, but all he's saying is that the spawning code has a 'lower priority' so to speak when looking at higher Y value spawning locations. Basically if there is another place they can spawn much lower, they more than likely will spawn down there.
He can correct me if I'm wrong, but all he's saying is that the spawning code has a 'lower priority' so to speak when looking at higher Y value spawning locations. Basically if there is another place they can spawn much lower, they more than likely will spawn down there.
No, the spawns are spread out across the full height a chunk is filled to, in increments of 16 blocks (chunk sections), so a default Superflat world (less than 16 blocks deep, so 1 chunk section) will have a 1/16 chance of a spawn attempt succeeding per layer because the game will randomly choose a location between 0 and 15; by contrast, if the world is 256 layers high, even if the lower 255 layers are empty, there will only be a 1/256 chance of choosing a given layer, so the spawn rate will be 16 times lower, which is enough to impact rates since one attempt is performed per tick, 20 times per second, and 256 / 20 = 12.8 seconds between spawns per layer - a good mob farm ought to remove mobs within that time, and the total time between spawns will be (removal time) + (random spawn time) (since this is not a constant 12.8 seconds any delay in removing the mobs will increase the total time between spawns; likewise, reducing the time between random spawn attempts will also increase rates. A small mob farm is also unlikely to hit the mob cap, making these more important).
Note that underground spawns - but also spawns within a dark room - are favored over surface spawns because skylight, even at night (the game uses the same value that F3 reports), will reduce the chance of a spawn attempt succeeding, which is what you may have been thinking of - but otherwise every layer up to the highest loaded chunk section has an equal probability of being chosen:
/**
* Checks to make sure the light is not too bright where the mob is spawning
*/
protected boolean isValidLightLevel()
{
BlockPos blockpos = new BlockPos(this.posX, this.getEntityBoundingBox().minY, this.posZ);
if (this.worldObj.getLightFor(EnumSkyBlock.SKY, blockpos) > this.rand.nextInt(32))
{
return false;
}
else
{
int i = this.worldObj.getLightFromNeighbors(blockpos);
if (this.worldObj.isThundering())
{
int j = this.worldObj.getSkylightSubtracted();
this.worldObj.setSkylightSubtracted(10);
i = this.worldObj.getLightFromNeighbors(blockpos);
this.worldObj.setSkylightSubtracted(j);
}
return i <= this.rand.nextInt(8);
}
}
(the last bit also means that a light level of 7 will only barely support mob spawns, with a 7/8 chance of failure - a light level of 0 is needed to maximize spawns)
This is nearly unreadable but you can see the similarities to the code I posted earlier:
private static BlockPos getRandomChunkPosition(World worldIn, int x, int z)
{
Chunk chunk = worldIn.getChunkFromChunkCoords(x, z);
int i = x * 16 + worldIn.rand.nextInt(16);
int j = z * 16 + worldIn.rand.nextInt(16);
int k = MathHelper.roundUp(chunk.getHeight(new BlockPos(i, 0, j)) + 1, 16);
int l = worldIn.rand.nextInt(k > 0 ? k : chunk.getTopFilledSegment() + 16 - 1);
return new BlockPos(i, l, j);
}
Also, the "chunk.getHeight" method returns the highest solid block at a specific location so in some ways this makes things worse; if you have half a chunk at y=1 and the other half at y=256 any spawn attempts in the y=1 half will be much more likely to succeed (older versions, such as 1.6.4, only use the highest filled segment; if you look at the code above you can see that it only uses it if the height at a particular location is 0). "MathHelper.roundUp" rounds up to a multiple of the second parameter (16). (both based on 1.10 source but also unlikely to have changed)
(this method of decompiling jars is also how I can see if they actually made any changes to e.g. cave generation, another thing that is often claimed to have been changed in various recent updates - but still identical to that in the 1.7 snapshots. In fact, my very first post was just that)
Also, here is a more recent (2016) Reddit thread that mentions altitude as a factor and why tutorials claiming rates like 19,000 drops (mobs, which average about 1 drop each) per hour are often misleading:
I recently built an 8 floor darkroom flushing mob farm in 1.11.2 as low as possible. I chose a deep ocean biome with the bottom at Y31 as the location, then dug down to bedrock to get as low as possible. I had thought that the location, which should have eliminated most spawnable blocks nearby, would at least give some decent output and would get better with area prep (finding and eliminating all spawnable locations).
I was wrong. Even with my carefully chosen location, the farm was an utter failure. It produced pitiful amounts of mobs that would require me to AFK for weeks to even break even with the items I placed in the sorter filters.
I restored from a backup I had made a few days before and built the same farm up at the build limit, and that baby cranks out mobs!! So I agree with what lukahna said. Unless you are seriously OCD about maxing output, build it higher (and bigger).
I compared the output of my super-flat test world design to the one in my SSP world and there is very little difference. The perfectly prepped test world farm did output a little more, but certainly not 16:1 as suggested in another post. Perhaps with a smaller farm the difference would be greater. ¯\_(ツ)_/¯
I did keep a copy of the world with the bedrock level farm with the idea that I would do area prep and see if I could make that farm work, but after seeing the results from my sky farm I'm not sure it would be worth the effort.
Hello everyone! I wanted to test out a mob farm so I built one in a creative flat world, and it was a 10x10 very small mob farm. Around 20 mobs spawned in the first few seconds, but when I made the exact same thing in the survival world at y: 190 it barely spawned any mobs. I'm pretty sure no mobs outside could've stopped them from spawning inside the farm. So are there higher spawn rates in super flat or something?
We need to know more about the design. Post details and screenshots, please.
No, the spawns are spread out across the full height a chunk is filled to, in increments of 16 blocks (chunk sections), so a default Superflat world (less than 16 blocks deep, so 1 chunk section) will have a 1/16 chance of a spawn attempt succeeding per layer because the game will randomly choose a location between 0 and 15; by contrast, if the world is 256 layers high, even if the lower 255 layers are empty, there will only be a 1/256 chance of choosing a given layer, so the spawn rate will be 16 times lower
The farm still seemed to spawn more in the superflat world at build limit.
Hello everyone! I wanted to test out a mob farm so I built one in a creative flat world, and it was a 10x10 very small mob farm. Around 20 mobs spawned in the first few seconds, but when I made the exact same thing in the survival world at y: 190 it barely spawned any mobs. I'm pretty sure no mobs outside could've stopped them from spawning inside the farm. So are there higher spawn rates in super flat or something?
Even at y=190, interfering spawns are possible, and probably the number one reason why a lot of mob farms don't come to their full potential when built in actual survival worlds. Have you carefully done the math to ensure that no spawns are possible outside of your mob farm, per the spawning mechanics on the wiki? Also, if you tested your farm on singleplayer (as you would), but built the production version on a multiplayer server, other players' activities (regular survival stuff, or even mob farms of their own) can interfere with the mob cap. If it is a server, are you sure it's vanilla? Modded servers can have a dramatic effect.
Failing any of that (and the obvious, like light levels and being sure to stand in the correct spot for spawning to occur), can you summarize the actual design of your farm? (Or post a link to it, if you're following a guide of some sort)?
I don't think there were any mobs spawning elsewhere because the entity count was 0 wherever I looked. Also y 190 is more than 125 above the ground at y 63 so i think they shouldn't spawn right? I'll try afking at higher levels but I don't think it will spawn the insane amount of mobs that spawned in the flat world. And I did afk more than 25 blocks away and it was singleplayer.
The highest altitude in a chunk directly affects spawn rates by spreading out spawn attempts over the entire range; a world that is only 1 block high will have a 1/16 chance of a successful spawn attempt, while a world that is 256 blocks high will only have a 1/256 chance of a spawn attempt per layer, which will only succeed if it is non-solid and directly above a solid layer (the pack center itself does not need to be above a solid block but individual mob spawns do):
(note that a chunk is vertically divided into 16 block high segments; in older versions the highest segment with blocks was reported in the debug screen as the "lc" value, which was removed in current versions but it is still used internally)
Here is a video that explains this:
Thus, for the best spawn rates you want to build no higher than the surrounding terrain, and light up all caves and the surface within 128 blocks.
Of course, this all assumes that your render distance (or server view distance, if playing on a server) was set to 10 or higher in both tests, since there is a bug that breaks mob spawning if it is lower (mobs spawns too far away to despawn because the game does not process them, but they are still counted, if they are within 2 chunks of the edge of loaded chunks (they normally despawn past 128 blocks or 8 chunks, hence where 10 comes from). Note that the game will attempt to spawn mobs anywhere within a 15x15 chunk area around the player, at any altitude at and below the highest blocks, regardless of render distance, so they can still spawn all the way down to bedrock and not despawn (this bug will not occur if there is nowhere else for them to spawn, but you may as well just build at the surface then).
Also, just because F3 says there are 0 entities does not mean that there aren't any, it doesn't even count every entity in loaded chunks around the player (you may have noticed that entities stop rendering past a certain distance, around 16 blocks for items regardless of render distance; the server also stops sending data to the client past a point, both for optimization purposes).
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
While the above is true, the following is misleading:
Most decent mob farms are limited by the hostile mob cap and their own kill efficiency (mob survival time). Spawn rate in practice thus very much depends on the size of the mob farm and how quickly mobs are killed. It doesn't take a very big sky farm to hit mob cap. If you are building a tiny mob farm that kills efficiently, you might see a benefit to building low and lighting up or slabbing everything within 128 blocks as you suggest (which is a ton of soul-crushing torch spam work, totally impractical for a small mob farm). More importantly, if you are willing to spend that much time, you may as well stick a farm at build limit and make it bigger; you'll have better results and won't have to torch spam.
If the ground (or ocean) was at y=63, that should be fine, then, as long as there is nothing within the 128 block sphere centered on the player, except the mob farm spawning surfaces. If you've verified everything else, then I would simply recommend going bigger than 10x10. You're going to have poor rates at 10x10 (disproportionately poor, actually, thanks to pack spawning). I spun up a quick test world and built two 10x10x4 boxes and I too got just a few mobs. Going up to 32x32 got me 35-40 mobs in 3-4 seconds. (You don't have to go that big, of course.)
So, I'd suggest staying near build limit, building your farm a little bigger, and killing mobs as quickly as you can after they spawn. 16x16 is about the smallest I'd personally ever bother building, but 20x20 is nice. Even 16x16 is 2.56 times as many spawning spaces as 10x10, so you have a lot less spawns failing due to overcrowding.
Aside: If you do go a bit bigger, you'll have to keep in mind that at 32 blocks from the player, hostile mobs stop moving. So if you're relying on mobs walking into water channels or something, it's not going to work (at least not for the most distant mobs). But other methods like periodic water dispensers, work fine whether the mobs can move or not.
And, by all means, post some screenshots!
Thank you TheMasterCaver. So according to that video if you build a mob farm low but build something else at world limit the mob farm still won't spawn much? Sorry if I misunderstood.
He can correct me if I'm wrong, but all he's saying is that the spawning code has a 'lower priority' so to speak when looking at higher Y value spawning locations. Basically if there is another place they can spawn much lower, they more than likely will spawn down there.
by c0yote
I tried it with terrible results. I gave my wife my glasses for a second, a creeper showed up and now my wife is pregnant.
Stupid 3D..
No, the spawns are spread out across the full height a chunk is filled to, in increments of 16 blocks (chunk sections), so a default Superflat world (less than 16 blocks deep, so 1 chunk section) will have a 1/16 chance of a spawn attempt succeeding per layer because the game will randomly choose a location between 0 and 15; by contrast, if the world is 256 layers high, even if the lower 255 layers are empty, there will only be a 1/256 chance of choosing a given layer, so the spawn rate will be 16 times lower, which is enough to impact rates since one attempt is performed per tick, 20 times per second, and 256 / 20 = 12.8 seconds between spawns per layer - a good mob farm ought to remove mobs within that time, and the total time between spawns will be (removal time) + (random spawn time) (since this is not a constant 12.8 seconds any delay in removing the mobs will increase the total time between spawns; likewise, reducing the time between random spawn attempts will also increase rates. A small mob farm is also unlikely to hit the mob cap, making these more important).
Note that underground spawns - but also spawns within a dark room - are favored over surface spawns because skylight, even at night (the game uses the same value that F3 reports), will reduce the chance of a spawn attempt succeeding, which is what you may have been thinking of - but otherwise every layer up to the highest loaded chunk section has an equal probability of being chosen:
(the last bit also means that a light level of 7 will only barely support mob spawns, with a 7/8 chance of failure - a light level of 0 is needed to maximize spawns)
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
I think the chunk height limit (the range checked for mob spawns) was changed recently so it's always 256 and not the highest block in that chunk.
So for example there's no point in building an Enderman farm especially low.
I decompiled the 1.12 jar (using JD-GUI, not MCP) and it appears that it contains the same code that I found on a Github page, which was for 1.10:
This is nearly unreadable but you can see the similarities to the code I posted earlier:
Also, the "chunk.getHeight" method returns the highest solid block at a specific location so in some ways this makes things worse; if you have half a chunk at y=1 and the other half at y=256 any spawn attempts in the y=1 half will be much more likely to succeed (older versions, such as 1.6.4, only use the highest filled segment; if you look at the code above you can see that it only uses it if the height at a particular location is 0). "MathHelper.roundUp" rounds up to a multiple of the second parameter (16). (both based on 1.10 source but also unlikely to have changed)
(this method of decompiling jars is also how I can see if they actually made any changes to e.g. cave generation, another thing that is often claimed to have been changed in various recent updates - but still identical to that in the 1.7 snapshots. In fact, my very first post was just that)
Also, here is a more recent (2016) Reddit thread that mentions altitude as a factor and why tutorials claiming rates like 19,000 drops (mobs, which average about 1 drop each) per hour are often misleading:
https://www.reddit.com/r/Minecraft/comments/4bhbdg/the_fastest_survivalfriendly_mob_farm_tutorial/
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
I started a survival world in superflat. It seems like more mobs spawn in Superflat then a regular world.
I recently built an 8 floor darkroom flushing mob farm in 1.11.2 as low as possible. I chose a deep ocean biome with the bottom at Y31 as the location, then dug down to bedrock to get as low as possible. I had thought that the location, which should have eliminated most spawnable blocks nearby, would at least give some decent output and would get better with area prep (finding and eliminating all spawnable locations).
I was wrong. Even with my carefully chosen location, the farm was an utter failure. It produced pitiful amounts of mobs that would require me to AFK for weeks to even break even with the items I placed in the sorter filters.
I restored from a backup I had made a few days before and built the same farm up at the build limit, and that baby cranks out mobs!! So I agree with what lukahna said. Unless you are seriously OCD about maxing output, build it higher (and bigger).
I compared the output of my super-flat test world design to the one in my SSP world and there is very little difference. The perfectly prepped test world farm did output a little more, but certainly not 16:1 as suggested in another post. Perhaps with a smaller farm the difference would be greater. ¯\_(ツ)_/¯
I did keep a copy of the world with the bedrock level farm with the idea that I would do area prep and see if I could make that farm work, but after seeing the results from my sky farm I'm not sure it would be worth the effort.
We need to know more about the design. Post details and screenshots, please.
The farm still seemed to spawn more in the superflat world at build limit.