Jump to content

Recommended Posts

Posted (edited)

Title says it all. In my ModItems class, I added the following override (which should be default game behavior tbh):

@Override
public UseAction getUseAction(ItemStack stack) {

    UseAction ReturnUseAction;

    if (stack.getItem().isFood()) {
        if (stack.hasContainerItem()) {

            Item stack_container = stack.getContainerItem().getItem();

            if (stack_container == Items.BOWL) { ReturnUseAction = UseAction.DRINK;}
            else { ReturnUseAction = UseAction.EAT;}
        }
        else { ReturnUseAction = UseAction.EAT;}
        }
    else { ReturnUseAction = UseAction.NONE;}

    return ReturnUseAction;
}

For reference, the original is:

public UseAction getUseAction(ItemStack stack) {
   return stack.getItem().isFood() ? UseAction.EAT : UseAction.NONE;
}

But all foods still return the eating action in-game.

Edited by urbanxx001
Posted (edited)

Yea it should apply to all food items, including vanilla, since the class extends to the Item class. Is the problem that I need to pass something into ItemStack in the ModItems class, or does it already know what to pass based on the Item class?

Edited by urbanxx001
Posted

? It applies the drinking animation to soup items (those items that have a container with a bowl), since in the base game consuming soup uses the eating animation for whatever reason. So the code is just overriding getUseAction which is built-in the source code.

Posted (edited)
7 hours ago, diesieben07 said:

Please learn what overriding actually means and how programming works.

You could have described why it didn't work instead of an insult. 

 

I'll look into LivingEntityUseItemEvent though, thanks. I appreciate the help that regular users like you and Draco give in the forum, your names appear a lot when researching old posts. 

Edited by urbanxx001
Posted (edited)

It's an insult when you're able to explain what the issue is but instead say to look elsewhere for help. This says you don't want to take the time to explain it when it could just take a few sentences to do so. Please don't further this, I don't want it to derail into something bad. 

Edited by urbanxx001
Posted
Quote

Modder Support

This is the support section for those modding with Forge. Help with modding goes in here, however, please keep in mind that this is not a Java school. You are expected to have basic knowledge of Java before posting here.

*cough*

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted (edited)

I know enough about Java to code the method above, which would work if it was in the source code. Not knowing one thing (or a few things counting other posts) doesn't invalidate my understanding of everything else about Java.

Edited by urbanxx001
Posted

Knowing what method overriding is and how it works is a pretty core concept to OOP.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

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.