24w21b has made significant changes to portal linking logic that serves to break a lot of technical contraptions that rely on precise control of the chunkloading ticket invoked by entities passing through a nether portal.
The following code introduced in 24w21b shows logic which sends the chunkloading ticket to the position an entity arrives in the other dimension. A world download is included with a test setup to verify the behaviour and its changes:
[media]This runs contrary to the previously established behaviour where the chunk loading ticket is sent to the position of the portal block which links to the portal in the dimension where the entity enters the portal. Meaning a change to this behaviour would break a lot of technical contraptions that rely on precise chunk loading using nether portals.
Attachments
Comments 2
can confirm 24w21b
here is a world download with the setup to replicate the issue, steps to replicate:
-open the world in 1.20.6, if you for any reason aren't spawned near the setup (its a portal on the nether roof), then run this command to tp to it:
/execute in minecraft:the_nether run tp @s 10000.26 128.00 10000.47 -90. 0
-press the button on the command block, you will see the message in chat appear saying that the A chunk is loaded, but no message about chunk B being loaded, this is the expected behavior.
-now open the world in 24w21b, press the button on the command block, you will see the message in chat appear saying that the B chunk is loaded, but no message about chunk A being loaded, this difference in chunkloading behavior is the issue, it happens due to the change in the position where the chunkloading ticket is created and this issue breaks (without any way to fix them) a lot of contraptions people have built so far.
brief explanation of how the setup works:
when you press the button on the command block, it spawn an armor stand in the portal in front of you which makes it teleport into the overworld where it loads chunks and depending on which version you are in it loads different chunks with different command blocks which spam the corresponding message.
Placing the portal’s chunk loading ticket based on the location the entity gets placed in the world breaks pretty much the only way we have left for doing lazy looting. With the old system, specific setups would allow the entities to be placed in lazy chunks when they exit a nether portal which was incredibly useful for various technical applications. Lazy looting allowed us to significantly reduce the lag caused by incredibly fast mob farms by keeping the mobs inside of lazy loaded chunks until they get killed. But with the new system it is no longer possible for an entity to exit a nether portal inside of a lazy loaded chunk. The setups for causing this to happen were specific enough that any regular player would not encounter them during normal gameplay, so reverting back to the old system would only really make a difference for us technical players.
Here is a short video showing lazy looting using the old portal mechanics. The player is using a mod to stop the player from loading chunks, so the chunks that the zombies are in is lazy loaded and the chunks to the left are entity processing. https://youtu.be/TocP2SbUy4w?feature=shared
Here is an example of an application for this lazy looting. https://youtu.be/gmWC6Ihosgw?feature=shared