urbanxx001 Posted August 12, 2020 Share Posted August 12, 2020 (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 August 12, 2020 by urbanxx001 Quote Link to comment Share on other sites More sharing options...
poopoodice Posted August 12, 2020 Share Posted August 12, 2020 So are your items food?... Quote Link to comment Share on other sites More sharing options...
urbanxx001 Posted August 12, 2020 Author Share Posted August 12, 2020 (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 August 12, 2020 by urbanxx001 Quote Link to comment Share on other sites More sharing options...
poopoodice Posted August 12, 2020 Share Posted August 12, 2020 What are you trying to do? Quote Link to comment Share on other sites More sharing options...
urbanxx001 Posted August 12, 2020 Author Share Posted August 12, 2020 ? 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. Quote Link to comment Share on other sites More sharing options...
poopoodice Posted August 12, 2020 Share Posted August 12, 2020 maybe is because its container is bowl? if (stack_container == Items.BOWL) { ReturnUseAction = UseAction.DRINK;} Quote Link to comment Share on other sites More sharing options...
urbanxx001 Posted August 12, 2020 Author Share Posted August 12, 2020 (edited) Yes, it's supposed to check for that... Edited August 12, 2020 by urbanxx001 Quote Link to comment Share on other sites More sharing options...
urbanxx001 Posted August 12, 2020 Author Share Posted August 12, 2020 (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 August 12, 2020 by urbanxx001 Quote Link to comment Share on other sites More sharing options...
urbanxx001 Posted August 12, 2020 Author Share Posted August 12, 2020 (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 August 12, 2020 by urbanxx001 Quote Link to comment Share on other sites More sharing options...
Draco18s Posted August 12, 2020 Share Posted August 12, 2020 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* Quote 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. Link to comment Share on other sites More sharing options...
urbanxx001 Posted August 12, 2020 Author Share Posted August 12, 2020 (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 August 12, 2020 by urbanxx001 Quote Link to comment Share on other sites More sharing options...
Draco18s Posted August 12, 2020 Share Posted August 12, 2020 Knowing what method overriding is and how it works is a pretty core concept to OOP. Quote 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. Link to comment Share on other sites More sharing options...
urbanxx001 Posted August 12, 2020 Author Share Posted August 12, 2020 (edited) . Edited August 12, 2020 by urbanxx001 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.