Jump to content

[1.8] HELP: Checking for items and removing [SOLVED!]


CritiqualError

Recommended Posts

So, I am relatively new to Forge modding... bear with me please xD

 

I'm wondering how to check if a player as x amount of an item, then remove x amount of that item from their inventory.

any help would be appreciated. thank you.

 

EDIT: I know there is the consumeInventoryItem but that is only 1 at a time. is there a way to do more than 1?

Link to comment
Share on other sites

Well:

int count = 0;
for (int i; i < 36; ++i)
{
    ItemStack stack = player.inventory.mainInventory[i];
    if (stack != null && stack.getItem() == Item.someItem) count += stack.stackSize;
}
if (count >= requiredToRemove)
{
    int i = 0;
    while (requiredToRemove > 0)
    {
        ItemStack stack = player.inventory.mainInventory[i];
        if (stack != null && stack.getItem() == Item.someItem)
        {
            if (requiredToRemove >= stack.stackSize) player.inventory.mainInventory[i] = null;
            else stack.stackSize -= requiredToRemove;
            requiredToRemove -= stack.stackSize;
        }
        ++i;
}

 

Something like this. Wrote it here so probably forgot something. This can be done better.

1.7.10 is no longer supported by forge, you are on your own.

Link to comment
Share on other sites

It's something to work with, thanks for the help, I'll see what I can do with it.

 

Well:

int count = 0;
for (int i; i < 36; ++i)
{
    ItemStack stack = player.inventory.mainInventory[i];
    if (stack != null && stack.getItem() == Item.someItem) count += stack.stackSize;
}
if (count >= requiredToRemove)
{
    int i = 0;
    while (requiredToRemove > 0)
    {
        ItemStack stack = player.inventory.mainInventory[i];
        if (stack != null && stack.getItem() == Item.someItem)
        {
            if (requiredToRemove >= stack.stackSize) player.inventory.mainInventory[i] = null;
            else stack.stackSize -= requiredToRemove;
            requiredToRemove -= stack.stackSize;
        }
        ++i;
}

 

Something like this. Wrote it here so probably forgot something. This can be done better.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

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