HypixelDev/PublicAPI

Skyblock auctions duplicate gemstones issue

MattTheCuber opened this issue · 0 comments

Hello,

Problem Statement: There is no way to reliably find what gemstones an item has applied to it.

I finally decided to dive deep into how gemstones display in the API on items. I ran a lot of logging to try to accumulate what it looks like in the API. I do not currently know if this is limited to the auctions endpoint, I assume it would apply to items on a general level therefore affecting every endpoint that includes items.

Here is a sample of the possible options:

{
    "TYPE_X": "TIER",
    // and/or
    "CATEGORY_X": "TIER",
    "CATEGORY_X_gem": "Type",
    // and sometimes
    "unlocked_slots": {
        "values": ["TYPE_X", "CATEGORY_X"]
    }
}

This looks like it should work fine, that's when you start getting duplicates.
For example auction 9e64458f6dee43839b5d6f67a2fa3e59 has it's gemstones like this:

{
    "COMBAT_0": "FINE",
    "COMBAT_0_gem": "SAPPHIRE",
    "UNIVERSAL_0": "FLAWLESS",
    "UNIVERSAL_0_gem": "SAPPHIRE",
    "SAPPHIRE_0": "FINE"
}

Now from in-game this is very easy to see what it has:
image
But through looking in the API only, I would assume it had a Fine Sapphire, a Flawless Sapphire, and another Fine Sapphire.

You might think I would be able to ignore keys starting with a gemstone type if there are keys starting with a slot type (e.g. ignore the SAPPHIRE_0 key), but this is not the case. See the example below of auction e818236f5c9a42109947f1ef5ec3ae9c:

{
    "COMBAT_0": "FLAWLESS",
    "COMBAT_0_gem": "SAPPHIRE",
    "SAPPHIRE_0": "FLAWLESS"
}

and in-game:
image

I hope by now you can see the confusion I am having. There is no way to reliably find what gemstones an item has applied to it. I have also tried using the items endpoint to find the available slots for an item, but this does not work because you still can't tell what the duplicate gemstone is.

I don't know what the cause of this issue is, but I am hoping that the development team will take a look at this issue so that developers can reliably calculate how many and what type of gemstones are applied to items. This issue can cause a large issue on networth calculations, displaying items, listing the gemstones that are applied to an auction.