I believe the two portals in the overworld have to be under 128 blocks apart total and also should be at least 8 blocks apart horizontally. I just used some simple 3D coodinate math and built the one in the nether at the midpoint.

  • Lvxferre@lemmy.ml
    link
    fedilink
    English
    arrow-up
    3
    ·
    11 months ago

    I like those 2-in-1 portals - building them involves a lot of small tidbits of maths, to ensure that they work well, but they’re a great way to access floating bases without ruining their looks.

    Do you mind if I drop a mini-tutorial here on how to do it?

    You need to keep track of the following coordinates:

    • overworld portal “A” - let’s say that it is at (ax, ay, az)
    • overworld portal “B” - let’s say that it is at (bx, by, bz)
    • the block “N” of the Nether portal being used to access “A” - let’s say (nx, ny, nz).
    • the block “M” of the Nether portal being used to access “B” - let’s say (mx, my, mz).

    In OP’s image, the block “N” would be the block of the Nether portal immediately above the red concrete blocks; it’s where your feet would be, once you hop into the portal. While “M” is the one immediately above the blue concrete.

    Your Nether portal will link to both A and B if:

    • (8nx-ax)² + (ny-ay)² + (8nz-az)² < (8nx-bx)² + (ny-by)² + (8nz-bz)²
    • (8mx-bx)² + (my-by)² + (8mz-bz)² < (8mx-ax)² + (my-ay)² + (8mz-az)²

    This might look complicated, but it boils down to “N is closer to A than to B; M is closer to B than to A”.

    Notice the 8’s in both equations. They’re important there because 1m in the Nether = 8m in the Overworld, but only in the X and Z axes. Don’t add those 8’s to the Y coordinates!

    If you want to be a bit lazy, make sure that both overworld portals share one or two coordinates. For example, if portal A is at (10, 200, -10) and portal B is at (20, 70, -10), then their Z coordinate is the same, and you can simplify the inequations to remove any term with “z” in it. And if the portals were exactly one above another, the inequations collapse to

    • (ny-ay)² < (ny-by)²
    • (my-by)² < (my-ay)²

    Or if they’re on the same X and Y coordinates, and only Z is different:

    • (8nz-az)² < (8nz-bz)²
    • (8mz-bz)² < (8mz-az)²

    (If anyone wants, I can help out with the maths for a practical situation.)

    • CodyCannoli@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      11 months ago

      Interesting, my method was to use ((ax+bx)/2)/8 , (ay+by)/2 , ((az+bz)/2)/8 to find the coordinates for the portal in the nether. Then just a little trial and error to calibrate it correctly. However, your method seems a lot more robust and would be a lot easier to troubleshoot.

      • Lvxferre@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        11 months ago

        Your method is simpler, and it works great. The problem appears when you’re a bit more specific on where to put the portal in the Nether. For example, in my current world:

        • Portal A had to go at y=200, in the free corner of my floating island
        • Portal B had to go at y=(65~80), on the ground (there’s a big slope there)
        • the Nether portal had to go at y=120, due to my Nether hub, and I wasn’t willing to break the bedrock ceiling

        Averaging A and B would force me to put the Nether portal around y=(132~140), outside my hub and over the roof. So I had to calculate the coords for B instead, to push it far enough in the X and Z axes to compensate the Y distance. Those inequations did the trick.