I get a error on setItem [solve]

version spongevanilla-1.8-2.1-DEV-66

this is my code
()
but i get error
()
()

Please paste in plain text in future, use pastebin if it’s long

This seemed really weird, until I noticed that there is a difference between Forge and Vanilla’s armor inventory.

In forge:

    public void setCurrentItemOrArmor(int slotIn, ItemStack stack)
    {
        if (slotIn == 0) //Forge: Fix issue in Player where it doen't take into account selected item
        {
            this.inventory.mainInventory[this.inventory.currentItem] = stack;
        }
        else
        {
            this.inventory.armorInventory[slotIn - 1] = stack;
        }
    }

and in vanilla:

    public void setCurrentItemOrArmor(int slotIn, ItemStack stack)
    {
        this.inventory.armorInventory[slotIn] = stack;
    }

So the slotIn parameter is off by one in vanilla.

For now, just use SpongeForge

2 Likes

I’ve fixed it now
https://github.com/SpongePowered/SpongeVanilla/commit/542e5c6e4ec78458e1b8788e09425d343af91cb3

1 Like

Good job,i like it😆