Steps to Reproduce:
1) Teleport up 120 blocks using this command
/tp @s ~ ~120 ~
2) Place villagers in a small space and provide them with beds
3) Trigger a raid by drinking a bottle of bad omen
4) Watch as illagers start to spawn and fall to the ground
Observed Results:
You can see all the illagers being summoned to the ground without going through the waves.
Expected Results:
If there is no land within 112 blocks of the raid point, the raid must end without starting.
Linked issues
relates to 2
Attachments
Comments 10
Please update the 'steps to reproduce' section to have numbered steps for everything someone would need to do to reproduce this issue from scratch. This means any commands, etc
Speedrunners and raid farmers both use this to their advantage.
This has been the case since MC 1.14 when raids were added. Basically the raid wave spawning rules is various sizes of circles with top block (sky access) determining y height, forming a cylinder of locations. Mob detection range is a sphere, so like putting a ball down a tube, the space below and above the tube yields the results in the OG report.
CAUTION IF CHANGING CODE:
During the development of 1.14, there was tons of bugs regarding "endless" raids due to wave members falling into caves or wonder far in the opposite direction out of render/sim distance. The current setup was a patch to address that issue. So any new changes need to keep that in mind.
See MC-151014 for example (as well as the ringing bell highlight feature)
Reopening the issue as it has been tested internally and was reproduced on the latest version 1.21.1
They meant it was reproduced in an internal version after 1.21.1 (and after 24w33a), not in 1.21.1 itself.
So I just had a look at this "bugfix" and I think it has a problem:
At first let's have a look at the code. It looks roughly like this:Raid#findRandomSpawnPos(int proximity, int tries)
looks like this
int i = proximity == 0 ? 2 : 2 - proximity;
// ...
int y = this.world.getTopY(Heightmap.Type.WORLD_SURFACE, x, z);
if (MathHelper.abs(y - this.center.getY()) > 32 * i) continue; // <-- this line is new and is the fix for this "bug" here
Now to the code's behavior:
The changes effectively limit the vertical distance (Y) where a raid wave can spawn, limiting the "ring" like structure on the "top and bottom".
However the vertical distance is not hardcoded to the mentioned 112 blocks in the issue but instead dynamically derived from the proximity
/"ring" of the spawn location.
The higher proximity
the closer it spawns to the center of the raid.
Proximity | Y difference must be smaller or equal than |
---|---|
0 | 64 |
1 | 32 |
2 | 0 |
I think that these values e.g. for the are way to small and result in unexpected behavior, for example:
When the proximity is 2 (innermost "ring") - which is btw what every raid farm uses - it's nearly impossible (spawnable blocks are picked at random in the "ring") to get a raid spawned as the y distance of the spawn location now has to be exactly 0.
Here's a showcase:
Although very unlikely this might also affect normal villages that sometimes generate in very rough terrain (e.g. a cliff or on small islands in the ocean) which might cause all spawn attempts to fail - resulting in the raid just vanishing
I would propose the following solutions in preferred order:
1. If possible revert this change - Which naturally generated village is 112 blocks away from the ground in the first place?
2. If reverting is not an option: Make the innermost ring ignore the Y difference limit, to force the raid to spawn and not "vanish"
3. Increase the Y difference. At best to a static value like the mentioned 112 blocks in the issue.
Β No, that was even before the MC-274911 report was resolved. That issue is MC-275279 and MC-275007
This new code is not present in 1.21.1, so it's not possible that this happend before.
MC-275279 is affecting only 24w33a, so it's likely the same problem as I described below.
MC-275007 is likely working as intended as it has been this way for years. The behavior is also described in the wiki.
We do not have enough information to reproduce this issue.
Please include the following information to help us understand your problem:
Please also attach any needed commands, datapacks, resourcepacks, screenshots, videos, or worlds needed to help reproduce this issue.
Refer to the Bug Tracker Guidelines for more information about how to write helpful bug reports. Bug reports with insufficient information may be closed as Incomplete.
This issue is being temporarily resolved as Awaiting Response. Once the requested information has been delivered, the report will be reopened automatically.
Quick Links:
π Bug Tracker Guidelines β π¬ Community Support β π§ Mojang Support (Technical Issues) β π§ Microsoft Support (Account Issues)
π Project Summary β βοΈ Feedback and Suggestions β π Game Wiki