Datapack Portals

Datapack Portals

484k Downloads

End portals are weird

steve-the-player opened this issue ยท 0 comments

commented

I've tested it with both modded and vanilla blocks, and have found that the End does not work, with the same same behavior as reported in #1
Because of that, I believe it's an issue with the API, so I've put the issue there (kyrptonaught/customportalapi#96). Just to make sure though, I'm also reporting the issue here.
Included below is a copy of the original report:

When creating a custom portal in the overworld, with the dimension set to the end, it builds the portal correctly, but refuses to generate one on the other side. Manually teleporting to the same coordinates in the end and placing a custom portal frame nearby, or even at the exact same coordinates, does not help. Lighting the portal in the End gives the same result. It lights and fills the portal blocks, but stepping into it, even in Creative where you should teleport through immediately. It just plays the spiraling animation like the you have infinite portal cooldown. When I use the add-on that allows trains from the Create mod to go through datapack portals, it breaks the track and gives the message "cannot place portal track: target portal not generated yet". It does this whether both portals are built manually or not, and in both dimensions.
Screenshot 2024-03-27 at 12 01 28 PM

I have only been able to test this on singleplayer, but I have a suspicion that even on a multiplayer server with dedicated threads for each dimension, and players active in the portal's chunks (or even trying to enter) on both sides would not fix the "portal not generated" error. In fact, if the behavior was any different than in singleplayer, I'm guessing it would cause a server crash.

I initially believed this was due to the way the End's exit portal logic works, but further testing shows that this behavior is the same whether the dragon is alive, killed, or respawned. I'm guessing it's probably more related to how entities going into the End always arrive on the obsidian platform, and returning to the overworld places them at world spawn/their respawn point. End portals don't work the same, but it would be so incredibly useful to override that for custom portals. Also, the code from fixing this issue could also be used to allow for custom End-like dimensions with set entrance and/or exit points in new dimension mods that call CustomPortalAPI.