Jump to content

Error when adding item to inventory


Alastar

Recommended Posts

On server side I'm giving item to player with:

  InfoItem itemInfo = m_Infos.get(s);
        if (itemInfo != null) {
            EntityPlayerMP player = (EntityPlayerMP) MinecraftServer.getServer().getEntityWorld().getPlayerEntityByName(s1);
            if (player != null) {
                ItemStack stack = new ItemStack(itemInfo);
                itemInfo.writeNBT(stack);
                stack.setStackDisplayName(s);
                player.inventory.addItemStackToInventory(stack);
                player.addChatMessage(new ChatComponentText("You were given a " + s + "!"));
            }
        }

I keep different item info in hashmap and attaching it in nbt when instantiating it.

This throws next error on client:

error.PNG.c021877cc8bdf9971f0c7a74871d4977.PNG

InfoItem is just empty item class:

public class InfoItem extends Item {

    public HashMap<RandomRange, ItemStack> m_Items;

    public CaseItem(String aCase) {
        super();

        this.setUnlocalizedName(aCase);
        this.setCreativeTab(CreativeTabs.tabMisc);
        this.setTextureName(CaseMod.MODID + ":info");

    }

    public void writeNBT(ItemStack stack){
        NBTTagCompound tag = new NBTTagCompound();
        NBTTagCompound items = new NBTTagCompound();
        for (RandomRange randomRange : m_Items.keySet()) {
            ItemStack st = m_Items.get(randomRange);
            NBTTagCompound compound = new NBTTagCompound();
            st.writeToNBT(compound);
            compound.setInteger("rarity", randomRange.getRarity());
            items.setTag(st.getDisplayName(), compound);
        }
        tag.setTag("info_items", items);
        stack.setTagCompound(tag);
    }
}

 

Edited by Alastar
Link to comment
Share on other sites

  • Guest locked this topic
Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.