So i got the Witch farm all done and ready, as seen in the Videos, i'm getting some okay results - they won't be as great as in the videos, because i'm playing on a multiplayer server. I've lit up the caves as far as i can, but obviously i wouldn't get all of them without cheating.
Now since the witch hut lowest level is at 63, i wonder if it's any beneficial to dig down to bedrock in this type of farm? For mob farms it kind of made sense, because you build them low in the world anyway, but what about witch farms, that only start at 63? Does it make a difference?
Even with haste 2 beacon and efficiency 5 it would take a lot of time to dig out just the area around the roof, that's why i'm asking.
I'm not really up to date so something might have changed but last I heard it's a good thing to have the spawning platform as low as possible and remove everything above it. (Obviously for a witch hut that would be Y=63)
I don't think you gain anything from removing anything below it.
The way I think it works is that the spawning routine looks at how high the highest solid block in the chunk is and spreads out the spawn attempts between there and the bottom of the world.
A witch hut does not invalidate all other valid blocks outside of its bounding box. The game still picks spots randomly, but it will not pick spots that do not contain valid blocks (it, it won't attempt to spawn-check air or glass blocks and probably bedrock as well). Removing those increases the chances of an attempt landing in your witch farm BUT if you left the intervening ground beneath the farm then the game can still choose those valid blocks to make a spawn attempt on--and thus waste a witch spawn because it'll likely fail (too bright, not enough space to fit the mob, covered in liquid, etc). Remove the underground and you will force the game to only spawn mobs inside the witch-hut bounding box and therefore only spawn witches.
Will it improve rates? Not really, there's too much going against witch spawns already and this one thing won't overcome all of that.
A witch hut does not invalidate all other valid blocks outside of its bounding box. The game still picks spots randomly, but it will not pick spots that do not contain valid blocks (it, it won't attempt to spawn-check air or glass blocks and probably bedrock as well). Removing those increases the chances of an attempt landing in your witch farm BUT if you left the intervening ground beneath the farm then the game can still choose those valid blocks to make a spawn attempt on--and thus waste a witch spawn because it'll likely fail (too bright, not enough space to fit the mob, covered in liquid, etc). Remove the underground and you will force the game to only spawn mobs inside the witch-hut bounding box and therefore only spawn witches.
Will it improve rates? Not really, there's too much going against witch spawns already and this one thing won't overcome all of that.
This isn't how mob spawning works - the game simply chooses a random xyz coordinate within each chunk and if the location isn't suitable it fails entirely, with the only factor affecting the chance of choosing a location within a spawnable area (e.g. witch farm) being the altitude of the blocks in a chunk. I decompiled 1.15 with the help of the of the obfuscation mappings and while it was hard to read the spawner class looked very similar to the same class for 1.6.4 (as far as I know the only changes since then is that prior to 1.8 the game used the highest loaded chunk section to determine the altitude range (since the game never removes sections even if they are empty this means that if you placed a block at y=240-255 it would permanently reduce spawn rates even if you removed it), while since then it uses the highest block, which was also changed in 1.14 to be the highest non-air block instead of highest light-blocking block, so e.g. glass will now count. Also, prior to 1.8 the pack center had to be an air block, so mobs would spawn a lot less often on the surface of biomes like Ice Plains (in fact, not at all if it was entirely flat, while since then any non-solid block is valid; until 1.9 this included blocks like rails). The Wiki also makes no mention of any changes other than the ones mentioned above (Spawn:History).
In fact, due to the spread of individual mobs within a pack you may reduce rates by removing blocks outside of the spawning zone (the game may choose a block next to it and individual attempts can land inside of it, but not if the altitude is lower than the spawn platform).
Either way, I have not seen any actual proof (e.g. properly deobfuscated code) to indicate that there were major changes to mob spawning in recent versions.
If you build the witch farm in such a way that get the witches out of the farm and, instead of dropping them 40 blocks to kill them, you bring them up into the sky, you would only need to afk 128 blocks from the lowest point of the witch farm. If the spawning space's lowest point is 63 and you drop the witches 4 (y=59) blocks in to a water stream and then use a bubble elevator to bring them up into the sky then you would afk 128 blocks above that at y=187. This would limit the spawning area around the witch farm because the spawning radius around the player is spherical. As long as the blocks you build your afk platform and collection system out of non spawnable blocks you should see increased rates.
As long as the blocks you build your afk platform and collection system out of non spawnable blocks you should see increased rates.
Is there a trusted source, including source code, that confirms changes to spawn mechanistic in a recent version? As mentioned before, the game simply checks a random coordinate within each chunk from y=0 to the highest non-air block (previously light-blocking block).
This bug report also confirms what I said about any block, even non-spawnable blocks like glass, counting in the height calculation:
As of 1.14, all blocks other than air raise the max height of any particular (x, z) coordinate. Every slime spawn attempt at a particular (x, z) coordinate is distributed from bedrock to the corresponding max height. In previous versions, blocks like water and glass didn't raise the max height, so you could simply bomb a little hole in the bottom of the ocean and cover the top with glass to make a slime farm. Now in 1.14, you need to remove every block above the farm to get the same rates as previously.
(this affects all mobs, not just slimes; it is just more apparent with them since they have a low spawn rate to begin with and people apparently usually dig out an entire chunk down to bedrock to maximize rates, now they just can't cover it with glass)
Also, this appears to be the same code in 1.15 as in 1.6.4, even as badly obfuscated the 1.15 code is (as mentioned before, 1.6.4 used the "lc" value while since 1.8 it has been the highest block in a column, using the same heightmap as lighting (hence transparent blocks not counting) until 1.14):
private static fk a(bjt ?, cai ?)
{
bje ? = ?.g();
int ? = ?.d() + ?.o.nextInt(16);
int ? = ?.e() + ?.o.nextInt(16);
int ? = ?.a(cbs.a.b, ?, ?) + 1;
int ? = ?.o.nextInt(? + 1);
return new fk(?, ?, ?);
}
protected static ChunkPosition getRandomSpawningPointInChunk(World par0World, int par1, int par2)
{
Chunk var3 = par0World.getChunkFromChunkCoords(par1, par2);
int var4 = par1 * 16 + par0World.rand.nextInt(16);
int var5 = par2 * 16 + par0World.rand.nextInt(16);
int var6 = par0World.rand.nextInt(var3 == null ? par0World.getActualHeight() : var3.getTopFilledSegment() + 16) + 1;
return new ChunkPosition(var4, var6, var5);
}
True, if you want the absolute best rates possible, you have to remove all the blocks. What I am talking about is the mob cap. By making sure there are no spawnable spaces within the 128 block radius of the player, that will also increase rates because the spawns will be more frequent to fill the mob cap.
True, if you want the absolute best rates possible, you have to remove all the blocks. What I am talking about is the mob cap. By making sure there are no spawnable spaces within the 128 block radius of the player, that will also increase rates because the spawns will be more frequent to fill the mob cap.
I was referring to the claims made about changes to mob spawning by DuhDerp, both in this thread and another thread i referenced; in particular, they keep claiming that having blocks that mobs can spawn on but can't will reduce overall spawn rates, as if the game now seeks out spawnable blocks (based on the block itself, not light level or other such criteria, so even if you light up caves spawn rates will be reduced compared to digging out the entire chunk (or filling in all caves?):
A witch hut does not invalidate all other valid blocks outside of its bounding box. The game still picks spots randomly, but it will not pick spots that do not contain valid blocks (it, it won't attempt to spawn-check air or glass blocks and probably bedrock as well). Removing those increases the chances of an attempt landing in your witch farm BUT if you left the intervening ground beneath the farm then the game can still choose those valid blocks to make a spawn attempt on--and thus waste a witch spawn because it'll likely fail (too bright, not enough space to fit the mob, covered in liquid, etc). Remove the underground and you will force the game to only spawn mobs inside the witch-hut bounding box and therefore only spawn witches.
Secondly, the mob spawning algorithm no longer includes blocks that mobs cannot spawn on AND will no longer travel to those blocks when choosing the next location for evaluation. Air and glass are the two most common blocks, which means that all the spawn attempts stay on or in the ground rather than floating off a ledge into mid-air. This directly translates into a higher frequency of successful spawns, but it does NOT increase the number of spawn attempts.
They also claim that this had a major impact on spawn rates (time needed to fill the cap, from 30 seconds down to 2-3 seconds - but I see the latter happening in 1.6.4; in fact, even after I reduced the per-chunk spawn rate by 75% (only 1/4 of chunks in succession can spawn mobs per cycle, mainly as an optimization) the cap was still filled within seconds, which should be of no surprise since the game makes tens of thousands of individual spawn attempts per second (225 spawning chunks * 12 attempts per pack (4 of which may succeed) * 20 TPS = 54000 attempts and up to 18000 mobs spawned per second. I reduced this to 121 spawning chunks (a circular radius of 6 chunks, with the mob cap being 70 * chunks / 121 instead of 70 * chunks / 289; vanilla uses a 17x17 area to count chunks around each player) of which only 30 or 31 (average 30.25) spawn mobs per cycle, giving a rate which is still 7260 attempts and 2420 mobs per second.
Only after I also reduced the number of attempts per mob from 3 to 1 (12 to 4 per pack) if the number of mobs is below half the cap (this reduces overall rates by 12-fold compared to vanilla) did it take longer, but still only around 10 seconds, and with no noticeable effect on how many mobs I encounter while caving (in fact, due to the increased density of mobs I encountered significantly more than in vanilla, in one case killing nearly a thousand in a 3-4 hour session). Of course, mob farms would be at least 4 times slower). Only in a Superflat Tunneler's Dream preset did the game fail to keep up with spawning while flying around (since the ground is close to 4 times normal sea level per-layer spawn rates are 1/4 as high).
Another erroneous claim they made is that the game favored lower y-coordinates, which is simply not true as the game randomly chooses a layer with a uniform distribution (they were probably confused by the fact that the lower the highest point is the higher the per-layer spawn rate will be - which has always been how things worked. Otherwise, I can only read this as meaning that the game now always uses the full world height when choosing a layer, which would reduce per-layer rates by 3-4 times in most terrain):
Thirdly, y-level no longer matters for the purposes of spawning. In 1.13, mobs have the same weighting to spawn at y=200 as they do at y=6 whereas in 1.12 and earlier a lower y value would have an increased likelihood of catching a spawn.
They even claim that the following change increased overall spawn rates, which is completely impossible (the only way this could possibly have had any effect is if the game only made a certain number of spawn attempts per cycle regardless of the area covered, so by reducing the area the density would increase, or it only made as many spawn attempts as necessary to reach the cap, which is actually only checked once at the beginning of a spawn cycle). I made the same change myself and it certainly had no impact; I only did it to avoid wastefully spawning mobs that immediately despawn, not to increase spawn rates or anything:
Fourthly, 1.13 no longer even attempts to spawn any mobs outside of the 128-block radius (in 1.12, mobs that spawn beyond 128 would flicker in and outs of existence as they were immediately despawned).
Either way, I haven't seen any actual evidence of these changes anywhere; I did find a Reddit thread where somebody claimed that in 1.13 mob spawning worked by the highest block instead of sub-chunks but that was a change which was actually made all the way back in 1.8 and would only matter if you tried clearing out a chunk or ever placed any blocks higher up (once generated sub-chunks are always retained even if they later become empty, otherwise, this would be most noticeable in a default Superflat world as the LC height of 16 is 4 times the actual height of 4).
Lighting up the area will reduce mob Limit, but not spawn attempts
Removing the area will reduce mob Limit and spawn attempts
More spawn attempts in the witch hut means more witches
A bit confusing is the "Transparent Blocks do not count". This basically means, that my roof of the witch farm is actually limiting it? If so, then how would i "fix" this issue? Besides my Little Glass afk platform above will also limit the rates?
Lighting up the area will reduce mob Limit, but not spawn attempts
Removing the area will reduce mob Limit and spawn attempts
More spawn attempts in the witch hut means more witches
A bit confusing is the "Transparent Blocks do not count". This basically means, that my roof of the witch farm is actually limiting it? If so, then how would i "fix" this issue? Besides my Little Glass afk platform above will also limit the rates?
The mob cap is fixed at 70 no matter how small or large the spawnable area is - as I've tried to explain, DuhDerp is wrong about how mob spawning works and/or has not provided actual evidence (preferably code; I've decompiled it but it is obfuscated and all the variables are question marks so it is hard to read but it does look a lot like the MCP-deobfuscated code for 1.6.4) - if you only have a 16x16 area for mobs to spawn in the entire mob cap will spawn within it (provided that there is enough space since entities must not collide with other entities).
Likewise, blocks that mobs can spawn on but can't due to e.g. light level have no impact whatsoever on spawn rate in areas they can spawn in as long as they don't increase the height - all the game does is randomly choose a coordinate for the pack center and if it is a non-solid block it attempts to spawn up to 4 mobs within a 41x41 area at the same y-coordinate, with most being close to the center:
As far as blocks like glass go, since 1.14 (per the bug report I mentioned in comment #6) they count as a block for the purposes of determining the highest block in a column, so placing glass above a farm will reduce the rates proportional to how high it is relative to the ground below (e.g a ceiling at y=128 with the ground at y=64 will halve the spawn rates). Previously, from 1.8 to 1.12.2 they did not count since the game only had a single height map, which was mainly used by the lighting engine to store the highest block which blocked sky light, but now there are more height maps (6 according to the Wiki; I'm guessing that mob spawning uses WORLD_SURFACE, which is the highest non-air block). Older versions used the height of the highest loaded chunk section (16x16x16 cube) so every column in a chunk had the same height; as with 1.14+ this included all non-air blocks (so in a sense 1.8-1.12.2 represent the anomalous behavior with regards to blocks and mob spawn height).
So i got the Witch farm all done and ready, as seen in the Videos, i'm getting some okay results - they won't be as great as in the videos, because i'm playing on a multiplayer server. I've lit up the caves as far as i can, but obviously i wouldn't get all of them without cheating.
Now since the witch hut lowest level is at 63, i wonder if it's any beneficial to dig down to bedrock in this type of farm? For mob farms it kind of made sense, because you build them low in the world anyway, but what about witch farms, that only start at 63? Does it make a difference?
Even with haste 2 beacon and efficiency 5 it would take a lot of time to dig out just the area around the roof, that's why i'm asking.
I wouldn't think that would help.
I'm not really up to date so something might have changed but last I heard it's a good thing to have the spawning platform as low as possible and remove everything above it. (Obviously for a witch hut that would be Y=63)
I don't think you gain anything from removing anything below it.
The way I think it works is that the spawning routine looks at how high the highest solid block in the chunk is and spreads out the spawn attempts between there and the bottom of the world.
Just testing.
A witch hut does not invalidate all other valid blocks outside of its bounding box. The game still picks spots randomly, but it will not pick spots that do not contain valid blocks (it, it won't attempt to spawn-check air or glass blocks and probably bedrock as well). Removing those increases the chances of an attempt landing in your witch farm BUT if you left the intervening ground beneath the farm then the game can still choose those valid blocks to make a spawn attempt on--and thus waste a witch spawn because it'll likely fail (too bright, not enough space to fit the mob, covered in liquid, etc). Remove the underground and you will force the game to only spawn mobs inside the witch-hut bounding box and therefore only spawn witches.
Will it improve rates? Not really, there's too much going against witch spawns already and this one thing won't overcome all of that.
This isn't how mob spawning works - the game simply chooses a random xyz coordinate within each chunk and if the location isn't suitable it fails entirely, with the only factor affecting the chance of choosing a location within a spawnable area (e.g. witch farm) being the altitude of the blocks in a chunk. I decompiled 1.15 with the help of the of the obfuscation mappings and while it was hard to read the spawner class looked very similar to the same class for 1.6.4 (as far as I know the only changes since then is that prior to 1.8 the game used the highest loaded chunk section to determine the altitude range (since the game never removes sections even if they are empty this means that if you placed a block at y=240-255 it would permanently reduce spawn rates even if you removed it), while since then it uses the highest block, which was also changed in 1.14 to be the highest non-air block instead of highest light-blocking block, so e.g. glass will now count. Also, prior to 1.8 the pack center had to be an air block, so mobs would spawn a lot less often on the surface of biomes like Ice Plains (in fact, not at all if it was entirely flat, while since then any non-solid block is valid; until 1.9 this included blocks like rails). The Wiki also makes no mention of any changes other than the ones mentioned above (Spawn:History).
In fact, due to the spread of individual mobs within a pack you may reduce rates by removing blocks outside of the spawning zone (the game may choose a block next to it and individual attempts can land inside of it, but not if the altitude is lower than the spawn platform).
ETA: Here is a post where I looked at the decompiled code for 1.15.1 to see if any changes had actually been made to mob spawning (and refute other misconceptions, like the game weighting spawns deeper down before 1.13 - it has always been uniform from y=0 to the highest valid layer): https://www.minecraftforum.net/forums/minecraft-java-edition/recent-updates-and-snapshots/2947457-excessive-mob-spawning?comment=7
Either way, I have not seen any actual proof (e.g. properly deobfuscated code) to indicate that there were major changes to mob spawning in recent versions.
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?
It depends on the witch farm you build.
If you build the witch farm in such a way that get the witches out of the farm and, instead of dropping them 40 blocks to kill them, you bring them up into the sky, you would only need to afk 128 blocks from the lowest point of the witch farm. If the spawning space's lowest point is 63 and you drop the witches 4 (y=59) blocks in to a water stream and then use a bubble elevator to bring them up into the sky then you would afk 128 blocks above that at y=187. This would limit the spawning area around the witch farm because the spawning radius around the player is spherical. As long as the blocks you build your afk platform and collection system out of non spawnable blocks you should see increased rates.
Is there a trusted source, including source code, that confirms changes to spawn mechanistic in a recent version? As mentioned before, the game simply checks a random coordinate within each chunk from y=0 to the highest non-air block (previously light-blocking block).
This bug report also confirms what I said about any block, even non-spawnable blocks like glass, counting in the height calculation:
(this affects all mobs, not just slimes; it is just more apparent with them since they have a low spawn rate to begin with and people apparently usually dig out an entire chunk down to bedrock to maximize rates, now they just can't cover it with glass)
Also, this appears to be the same code in 1.15 as in 1.6.4, even as badly obfuscated the 1.15 code is (as mentioned before, 1.6.4 used the "lc" value while since 1.8 it has been the highest block in a column, using the same heightmap as lighting (hence transparent blocks not counting) until 1.14):
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?
True, if you want the absolute best rates possible, you have to remove all the blocks. What I am talking about is the mob cap. By making sure there are no spawnable spaces within the 128 block radius of the player, that will also increase rates because the spawns will be more frequent to fill the mob cap.
I was referring to the claims made about changes to mob spawning by DuhDerp, both in this thread and another thread i referenced; in particular, they keep claiming that having blocks that mobs can spawn on but can't will reduce overall spawn rates, as if the game now seeks out spawnable blocks (based on the block itself, not light level or other such criteria, so even if you light up caves spawn rates will be reduced compared to digging out the entire chunk (or filling in all caves?):
They also claim that this had a major impact on spawn rates (time needed to fill the cap, from 30 seconds down to 2-3 seconds - but I see the latter happening in 1.6.4; in fact, even after I reduced the per-chunk spawn rate by 75% (only 1/4 of chunks in succession can spawn mobs per cycle, mainly as an optimization) the cap was still filled within seconds, which should be of no surprise since the game makes tens of thousands of individual spawn attempts per second (225 spawning chunks * 12 attempts per pack (4 of which may succeed) * 20 TPS = 54000 attempts and up to 18000 mobs spawned per second. I reduced this to 121 spawning chunks (a circular radius of 6 chunks, with the mob cap being 70 * chunks / 121 instead of 70 * chunks / 289; vanilla uses a 17x17 area to count chunks around each player) of which only 30 or 31 (average 30.25) spawn mobs per cycle, giving a rate which is still 7260 attempts and 2420 mobs per second.
Only after I also reduced the number of attempts per mob from 3 to 1 (12 to 4 per pack) if the number of mobs is below half the cap (this reduces overall rates by 12-fold compared to vanilla) did it take longer, but still only around 10 seconds, and with no noticeable effect on how many mobs I encounter while caving (in fact, due to the increased density of mobs I encountered significantly more than in vanilla, in one case killing nearly a thousand in a 3-4 hour session). Of course, mob farms would be at least 4 times slower). Only in a Superflat Tunneler's Dream preset did the game fail to keep up with spawning while flying around (since the ground is close to 4 times normal sea level per-layer spawn rates are 1/4 as high).
Another erroneous claim they made is that the game favored lower y-coordinates, which is simply not true as the game randomly chooses a layer with a uniform distribution (they were probably confused by the fact that the lower the highest point is the higher the per-layer spawn rate will be - which has always been how things worked. Otherwise, I can only read this as meaning that the game now always uses the full world height when choosing a layer, which would reduce per-layer rates by 3-4 times in most terrain):
They even claim that the following change increased overall spawn rates, which is completely impossible (the only way this could possibly have had any effect is if the game only made a certain number of spawn attempts per cycle regardless of the area covered, so by reducing the area the density would increase, or it only made as many spawn attempts as necessary to reach the cap, which is actually only checked once at the beginning of a spawn cycle). I made the same change myself and it certainly had no impact; I only did it to avoid wastefully spawning mobs that immediately despawn, not to increase spawn rates or anything:
Either way, I haven't seen any actual evidence of these changes anywhere; I did find a Reddit thread where somebody claimed that in 1.13 mob spawning worked by the highest block instead of sub-chunks but that was a change which was actually made all the way back in 1.8 and would only matter if you tried clearing out a chunk or ever placed any blocks higher up (once generated sub-chunks are always retained even if they later become empty, otherwise, this would be most noticeable in a default Superflat world as the LC height of 16 is 4 times the actual height of 4).
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?
Sorry guys, this topic is a bit hard to follow.
If i understood correctly:
A bit confusing is the "Transparent Blocks do not count". This basically means, that my roof of the witch farm is actually limiting it? If so, then how would i "fix" this issue? Besides my Little Glass afk platform above will also limit the rates?
The mob cap is fixed at 70 no matter how small or large the spawnable area is - as I've tried to explain, DuhDerp is wrong about how mob spawning works and/or has not provided actual evidence (preferably code; I've decompiled it but it is obfuscated and all the variables are question marks so it is hard to read but it does look a lot like the MCP-deobfuscated code for 1.6.4) - if you only have a 16x16 area for mobs to spawn in the entire mob cap will spawn within it (provided that there is enough space since entities must not collide with other entities).
Likewise, blocks that mobs can spawn on but can't due to e.g. light level have no impact whatsoever on spawn rate in areas they can spawn in as long as they don't increase the height - all the game does is randomly choose a coordinate for the pack center and if it is a non-solid block it attempts to spawn up to 4 mobs within a 41x41 area at the same y-coordinate, with most being close to the center:
https://minecraft.gamepedia.com/Spawn#Pack_spawning
https://minecraft.gamepedia.com/File:Spawning_science.jpg
As far as blocks like glass go, since 1.14 (per the bug report I mentioned in comment #6) they count as a block for the purposes of determining the highest block in a column, so placing glass above a farm will reduce the rates proportional to how high it is relative to the ground below (e.g a ceiling at y=128 with the ground at y=64 will halve the spawn rates). Previously, from 1.8 to 1.12.2 they did not count since the game only had a single height map, which was mainly used by the lighting engine to store the highest block which blocked sky light, but now there are more height maps (6 according to the Wiki; I'm guessing that mob spawning uses WORLD_SURFACE, which is the highest non-air block). Older versions used the height of the highest loaded chunk section (16x16x16 cube) so every column in a chunk had the same height; as with 1.14+ this included all non-air blocks (so in a sense 1.8-1.12.2 represent the anomalous behavior with regards to blocks and mob spawn height).
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?