Global Exact Algorithm for Determining Map Art Island Validity

Discussion in 'Player Guides' started by Nel, Nov 14, 2024.

Tags:

  1. Nel
    Offline

    Nel Member

    Joined:
    Jan 3, 2024
    Messages:
    8
    IGN:
    Nel3601
    Hello!

    Never posted a thread here before, was trying to find a map art island, and I wasn't able to find an exact algorithm for determining whether or not an island is map-art compatible on the forums.

    This guide seeks to rectify any ambiguity!

    For those that aren't into the math, there's a conclusion at the bottom :).

    To start off, we can study the center/spawnpoint of an island. Islands spawn in coordinate multiples of 200, with the exact center of an island being at 0+200 x n, where n is a positive or negative integer, away from the 0,0 point in x/z coordinates.
    Example: you could have an island at 42000, -18200 which when divided by 200 results in an integer.

    In terms of location of the island center with respect to a chunk, there 3 types of island spawn: zero-zero, half-zero, half-half.

    zero-zero:
    In a zero zero island, both x and z coordinates when divided by 16 result in a whole number. These islands spawn with center directly next to the border of a chunk on both sides.

    half-zero:
    In a half-zero island, one coordinate results in a whole number when divided by 16 and the other results in a whole number plus or minus 0.5 when divided by 16. These islands spawn with center directly next to the border of a chunk on only one side.

    half-half:
    In a half-half island, both x and z coordinates result in a whole number plus or minus 0.5 when divided by 16. These islands spawn with center not directly next to any borders.

    The bedrock on an island typically represents the coordinate of the spawn block.

    In the next section, the following definitions will be used:
    zero direction: a coordinate which when the spawn block is divided by 16 gives a whole number (decimal .0)
    half direction: a coordinate which when the spawn block is divided by 16 gives a half number (decimal .5)
    coordinates: refer to x and z coordinates


    The specifics for how to tell if a map art island is valid depends on the type of island you have from the above list. zero-zero, half-zero, or half-half.

    Now that we have concluded with island spawn types, we can study the specifics of each island type's requirements for map-art validity.

    To begin, one note: maps, when right clicked, map blocks within an 8x8 chunk square, where the center coordinates, when divided by 128, give a whole number in both x and z. This is to say the center coordinates are a multiple of 128. 4 chunks on all sides of the center.

    Noting 8 chunks * 16 blocks per chunk = 128 blocks means a map is 128 blocks across. This means that no matter what, you will always need at least a 149x149 island expansion to make map art, since 128 is larger than the default 99x99 island size.

    To start, we can study 149x149 expansion:

    zero-zero:
    16 blocks x 8 chunks = 128 blocks, 16 blocks x 10 chunks = 160 which is over the 149 limit. A map already needs 8x8 chunks, therefore, on a zero-zero island, the spawn coordinates need to be exactly divisible by 128 for 149x149 expansion map art in both directions.

    half-zero:

    exactly divisible by 128 in the zero direction (the direction where the coordinates are divisible by 16 to result in a whole number). See the math on zero-zero island for proof. In the half direction, the limit is 149 - 16 = 133, since the spawn is in the middle of a chunk, so we subtract 16 blocks from the limit. 16 blocks x 8 chunks = 128 blocks, 16 blocks x 10 chunks = 160, which is over 133, so there are 8 + 1 = 9 full chunks in the half direction. This means that either side of the spawn chunk in the half direction could be used as a center for map art. The remaining blocks divide into the 128 map art size as 8 / 128 = 0.0625 meaning on a half-zero island, the half direction coordinate needs to be divisible by 128 plus or minus decimal 0.0625, and the zero direction coordinate needs to be exactly divisible by 128 for 149x149 expansion map art.

    half-half:
    From the math in the half-zero island, a half-half island needs to be divisible by 128 in both coordinates plus or minus decimal 0.0625 for 149x149 expansion map art.

    It can also be noted that if an island is divisible exactly by 128 in a coordinate, it is by default a zero-zero island, since 128 is divisible by 16. Therefore, the requirements can just be summed up as: an island is 149x149 expansion map art compatible if both coordinates of the exact center of the island are divisible by 128 with a buffer of equal to or less than 0.0625.

    Next we can study 199x199 expansion:

    199x199 expansion map art-compatible islands are by far the most common, since there are far more ways they can occur (they do however cost more as you need to buy a 199x199 expansion instead of 149x149 expansion)

    zero-zero:
    16 blocks x 12 chunks = 192, 16 blocks x 14 chunks = 224, which is over the 199 limit, therefore a zero-zero island contains 12x12 chunks when expanded with a 199x199 expansion. This gives a square of 5x5 possible map centers. The remaining blocks divide into the 128 map art size as: (2 chunks x 16 blocks) /128 blocks = 0.25, therefore on a zero-zero island, both coordinates need to be divisible by 128 plus or minus 0.25 for 199x199 expansion map art.

    half-zero:

    divisible by 128 in the zero direction plus or minus 0.25, see the zero-zero island math for proof. In the half direction, 199 - 16 = 183 as a limit, 16 x 10 = 160, 16 x 12 = 192, which is over the 183 block limit. Therefore in the half direction, a 199x199 expansion gives 10 + 1 = 11 full chunks. The remaining blocks divide into the 128 map art size as (8+16)/128 = 0.1875, meaning on a half-zero island, the half direction needs to be divisible by 128 plus or minus 0.1875, and the zero direction needs to be divisible by 128 plus or minus 0.25 for 199x199 expansion map art.

    half-half:

    from the math on half-zero island, a half-half island needs to be divisible by 128 in both coordinates plus or minus decimal 0.1875 for 199x199 expansion map art.

    It can also be noted that if a half coordinate which is invalid would also be over 0.25, therefore the requirements can be summed up as: an island is 199x199 expansion map art compatible if both coordinates of the exact center are divisible by 128 with a buffer of equal to or less than 0.25.

    Conclusion:
    • 149x149 expansion:
    Both coordinates of the exact center of the island (the island coordinate exactly divisible by 200) are divisible by 128 with a buffer of equal to or less than 0.0625.
    • 199x199 expansion:
    Both coordintes of the exact center of the island (the island coordinate exactly divisible by 200) are divisible by 128 with a buffer of equal to or less than 0.25.

    Of course also, the sbutils mod also has a great tool for determining map art validity quickly using the /centered command.

    Hope someone finds this useful in determining what to look for! And also to tell if a map art island will be coming up soon, as a new island will be spawning with a compatible coordinate in the generation spiral radius!

    Happy mapping! :D
     
    • Informative Informative x 1
    Last edited: Nov 15, 2024
  2. Pillow
    Offline

    Pillow blanky Premium

    Joined:
    May 27, 2019
    Messages:
    1,981
    IGN:
    Pilberry
    Oh so thats the bounds for 199x. Very helpful!
    Don't forget https://skyblock.onl/centred
     
    • Winner Winner x 1
  3. Nel
    Offline

    Nel Member

    Joined:
    Jan 3, 2024
    Messages:
    8
    IGN:
    Nel3601
    Looks like a good website!

    Under further thought, it also occured to me that if the coordinates for a zero-zero island are exactly divisible by 128, they would also be exactly divisible by 16, thus the 149x149 expansion can be justified as simply: Coordinates divisible by 128 within a margin of 0.0625. No need to study separate island types, since if it is exactly divisible, you already know its a zero-zero island.

    Likewise, for the 199x199 expansion, it can be summed up as any island with center divisible by 128 with a margin of 0.25, since a half island which is not compatible would result in a division more than 0.25.

    Well that turned out to be nice and simple! It seems I made it needlessly complicated lol...

    149x149 expansion map art: exact center of island divisible by 128 with a buffer of equal to or less than 0.0625

    199x199 expansion map art: exact center of island divisible by 128 with a buffer of equal to or less than 0.25

    I'll update the original post.
     
    Last edited: Nov 15, 2024
  4. Pillow
    Offline

    Pillow blanky Premium

    Joined:
    May 27, 2019
    Messages:
    1,981
    IGN:
    Pilberry
    oh that is very simple

    https://skyblock.onl/centred should work for 199x now
     

Share This Page