PluginBugs / Issues-ItemsAdder

Repository used to keep track of issues of my plugin ItemsAdder
https://itemsadder.devs.beer
53 stars 21 forks source link

Merged pack items don't respect custom_model_data priorities #3470

Closed MinecraftAdmin closed 6 months ago

MinecraftAdmin commented 8 months ago

Terms

Discord tag (optional)

No response

What happened?

When merging .json from multiple packs, the order of custom_model_data in the merged file is not correct.

Here is a _diamondsword.json created by ItemsAdder after merging diamond sword item from 2 different packs. One pack has model data of 50XXX series, and the other pack has 18XXX and 1404XXX series. But in the file the 50XXX models are being placed before the 18XXX and 1404XXX series instead of being inbetween the 18XXX and 1404XXX series.

This causes the item in-game to show a different model than intended.

        {
            "parent": "item/handheld",
            "textures":
            {
                "layer0": "item/diamond_sword"
            },
            "overrides":
            [
                {
                    "predicate":
                    {
                        "custom_model_data": 50001
                    },
                    "model": "item/toolskins/atlantis/sword"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 50002
                    },
                    "model": "item/toolskins/celestial/sword"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 50003
                    },
                    "model": "item/toolskins/crimson/sword"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 50004
                    },
                    "model": "item/toolskins/devil/sword"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 50005
                    },
                    "model": "item/toolskins/emerald/sword"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 50006
                    },
                    "model": "item/toolskins/halloween/sword"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 50007
                    },
                    "model": "item/toolskins/heaven/sword"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 50008
                    },
                    "model": "item/toolskins/monster/sword"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 50009
                    },
                    "model": "item/toolskins/moon/sword"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 50010
                    },
                    "model": "item/toolskins/mud/sword"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 50011
                    },
                    "model": "item/toolskins/nether/sword"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 50012
                    },
                    "model": "item/toolskins/panther/sword"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 50013
                    },
                    "model": "item/toolskins/pegasus/sword"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 50014
                    },
                    "model": "item/toolskins/radiant/sword"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 50015
                    },
                    "model": "item/toolskins/thunder/sword"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 50016
                    },
                    "model": "item/toolskins/twilight/sword"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 50017
                    },
                    "model": "item/toolskins/warrior/sword"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 18001
                    },
                    "model": "magic:weapons/emerald_sword"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 18002
                    },
                    "model": "magic:other/sword_master"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 18003
                    },
                    "model": "magic:sabers/lightsaber_green"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 18004
                    },
                    "model": "magic:sabers/lightsaber_blue"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 18005
                    },
                    "model": "magic:sabers/lightsaber_red"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 18006
                    },
                    "model": "magic:sabers/lightsaber_orange"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 18007
                    },
                    "model": "magic:sabers/lightsaber_purple"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 18008
                    },
                    "model": "magic:weapons/emerald_sword"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 18009
                    },
                    "model": "magic:wands/valkglow"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 18010
                    },
                    "model": "magic:other/whitedagger"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 18011
                    },
                    "model": "magic:weapons/demon_sword"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 18012
                    },
                    "model": "magic:wands/felmglow"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 18013
                    },
                    "model": "magic:wands/rivenglow"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 18014
                    },
                    "model": "magic:wands/silver"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 18015
                    },
                    "model": "magic:wands/lavad"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 18102
                    },
                    "model": "magic:icons/spells/wound"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 18103
                    },
                    "model": "magic:icons_disabled/spells/wound"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 18104
                    },
                    "model": "magic:icons/spells/sharpen_sword"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 18105
                    },
                    "model": "magic:icons_disabled/spells/sharpen_sword"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 18106
                    },
                    "model": "magic:icons/upgrades/mode_sword"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 1404001
                    },
                    "model": "magic:halloween/pumpkin_hammer"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 1404002
                    },
                    "model": "magic:halloween/scyth_small"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 1404003
                    },
                    "model": "magic:halloween/hsword"
                },
                {
                    "predicate":
                    {
                        "custom_model_data": 1404004
                    },
                    "model": "magic:halloween/scythe_death"
                }
            ]
        }

Steps to reproduce the issue

Verge two pack together.

Server version

No response

ItemsAdder Version

3.6.3-beta-12 (I know beta 13 is the current version but the changelog doesn't show anything related to my issue)

ProtocolLib Version

v5.2.0-SNAPSHOT-679

LoneLibs Version

1.0.45

FULL server log

No response

Error (optional)

No response

Problematic items yml configuration file (optional)

No response

Other files, you can drag and drop them here to upload. (optional)

No response

Screenshots/Videos (you can drag and drop files or paste links)

No response

github-actions[bot] commented 8 months ago

Hello, your report will be looked into as soon as possible. Please do not bump this thread and don't post it on multiple platforms.

Thanks a lot for your patience.

MinecraftAdmin commented 8 months ago

Okay setting priority in config.yml helped... but

    contents-folders-priority:
    - vanilla
    - _iainternal
    - magic
    - base

...now its putting the 50XXX series after the 18XXX and 1404XXX series. Ideally, the items should be ordered like 18XXX, 50XXX, 1404XXX.

Here is diamond_sword.json file after I set priorities

{
    "parent": "minecraft:item/handheld",
    "textures":
    {
        "layer0": "minecraft:item/diamond_sword"
    },
    "overrides":
    [
        {
            "predicate":
            {
                "custom_model_data": 18001
            },
            "model": "magic:weapons/emerald_sword"
        },
        {
            "predicate":
            {
                "custom_model_data": 18002
            },
            "model": "magic:other/sword_master"
        },
        {
            "predicate":
            {
                "custom_model_data": 18003
            },
            "model": "magic:sabers/lightsaber_green"
        },
        {
            "predicate":
            {
                "custom_model_data": 18004
            },
            "model": "magic:sabers/lightsaber_blue"
        },
        {
            "predicate":
            {
                "custom_model_data": 18005
            },
            "model": "magic:sabers/lightsaber_red"
        },
        {
            "predicate":
            {
                "custom_model_data": 18006
            },
            "model": "magic:sabers/lightsaber_orange"
        },
        {
            "predicate":
            {
                "custom_model_data": 18007
            },
            "model": "magic:sabers/lightsaber_purple"
        },
        {
            "predicate":
            {
                "custom_model_data": 18008
            },
            "model": "magic:weapons/emerald_sword"
        },
        {
            "predicate":
            {
                "custom_model_data": 18009
            },
            "model": "magic:wands/valkglow"
        },
        {
            "predicate":
            {
                "custom_model_data": 18010
            },
            "model": "magic:other/whitedagger"
        },
        {
            "predicate":
            {
                "custom_model_data": 18011
            },
            "model": "magic:weapons/demon_sword"
        },
        {
            "predicate":
            {
                "custom_model_data": 18012
            },
            "model": "magic:wands/felmglow"
        },
        {
            "predicate":
            {
                "custom_model_data": 18013
            },
            "model": "magic:wands/rivenglow"
        },
        {
            "predicate":
            {
                "custom_model_data": 18014
            },
            "model": "magic:wands/silver"
        },
        {
            "predicate":
            {
                "custom_model_data": 18015
            },
            "model": "magic:wands/lavad"
        },
        {
            "predicate":
            {
                "custom_model_data": 18102
            },
            "model": "magic:icons/spells/wound"
        },
        {
            "predicate":
            {
                "custom_model_data": 18103
            },
            "model": "magic:icons_disabled/spells/wound"
        },
        {
            "predicate":
            {
                "custom_model_data": 18104
            },
            "model": "magic:icons/spells/sharpen_sword"
        },
        {
            "predicate":
            {
                "custom_model_data": 18105
            },
            "model": "magic:icons_disabled/spells/sharpen_sword"
        },
        {
            "predicate":
            {
                "custom_model_data": 18106
            },
            "model": "magic:icons/upgrades/mode_sword"
        },
        {
            "predicate":
            {
                "custom_model_data": 1404001
            },
            "model": "magic:halloween/pumpkin_hammer"
        },
        {
            "predicate":
            {
                "custom_model_data": 1404002
            },
            "model": "magic:halloween/scyth_small"
        },
        {
            "predicate":
            {
                "custom_model_data": 1404003
            },
            "model": "magic:halloween/hsword"
        },
        {
            "predicate":
            {
                "custom_model_data": 1404004
            },
            "model": "magic:halloween/scythe_death"
        },
        {
            "predicate":
            {
                "custom_model_data": 50001
            },
            "model": "item/toolskins/atlantis/sword"
        },
        {
            "predicate":
            {
                "custom_model_data": 50002
            },
            "model": "item/toolskins/celestial/sword"
        },
        {
            "predicate":
            {
                "custom_model_data": 50003
            },
            "model": "item/toolskins/crimson/sword"
        },
        {
            "predicate":
            {
                "custom_model_data": 50004
            },
            "model": "item/toolskins/devil/sword"
        },
        {
            "predicate":
            {
                "custom_model_data": 50005
            },
            "model": "item/toolskins/emerald/sword"
        },
        {
            "predicate":
            {
                "custom_model_data": 50006
            },
            "model": "item/toolskins/halloween/sword"
        },
        {
            "predicate":
            {
                "custom_model_data": 50007
            },
            "model": "item/toolskins/heaven/sword"
        },
        {
            "predicate":
            {
                "custom_model_data": 50008
            },
            "model": "item/toolskins/monster/sword"
        },
        {
            "predicate":
            {
                "custom_model_data": 50009
            },
            "model": "item/toolskins/moon/sword"
        },
        {
            "predicate":
            {
                "custom_model_data": 50010
            },
            "model": "item/toolskins/mud/sword"
        },
        {
            "predicate":
            {
                "custom_model_data": 50011
            },
            "model": "item/toolskins/nether/sword"
        },
        {
            "predicate":
            {
                "custom_model_data": 50012
            },
            "model": "item/toolskins/panther/sword"
        },
        {
            "predicate":
            {
                "custom_model_data": 50013
            },
            "model": "item/toolskins/pegasus/sword"
        },
        {
            "predicate":
            {
                "custom_model_data": 50014
            },
            "model": "item/toolskins/radiant/sword"
        },
        {
            "predicate":
            {
                "custom_model_data": 50015
            },
            "model": "item/toolskins/thunder/sword"
        },
        {
            "predicate":
            {
                "custom_model_data": 50016
            },
            "model": "item/toolskins/twilight/sword"
        },
        {
            "predicate":
            {
                "custom_model_data": 50017
            },
            "model": "item/toolskins/warrior/sword"
        }
    ]
}
LoneDev6 commented 8 months ago

Strange, if I recall I coded a reordering of the entries based on their custom model data value after merging is done. I will check that and let you know.

LoneDev6 commented 6 months ago

I cannot reproduce the issue by recreating a similar set of json files, they get correctly ordered. Please provide all your diamond_sword.json files so I can test it directly.