Posted May 1, 20205 yr Hey, I'm struggling with how to make my custom item edible. I get that i probably need a new item group for food items, but I'm pretty new to modding, so could anyone walk me through on how to do this? ❤️ Here's my registry code for my foods: // Food public static final RegistryObject<Item> COTTON_STEAK_RAW = ITEMS.register("cotton_steak_raw", ItemBase::new); public static final RegistryObject<Item> COTTON_STEAK = ITEMS.register("cotton_steak", ItemBase::new);
May 1, 20205 yr I wonder how vanilla does it. Also, Code Style #4 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.
May 1, 20205 yr Food is a property, and Foods is a class that has foods there, sounds pretty straight forward isn't it.? Edited May 1, 20205 yr by poopoodice
May 1, 20205 yr Author I've edited the code, it's got a bunch of errors and I'm very confused. // Food public static final RegistryObject<Item> COTTON_STEAK_RAW = ITEMS.register("cotton_steak_raw", Foods::new); public static final RegistryObject<Item> COTTON_STEAK = ITEMS.register("cotton_steak", Foods::new); Edited May 1, 20205 yr by PixxiBunny
May 1, 20205 yr Create an instance of Food.Builder and build your food item with it. Some tips: Spoiler Modder Support: Spoiler 1. Do not follow tutorials on YouTube, especially TechnoVision (previously called Loremaster) and HarryTalks, due to their promotion of bad practice and usage of outdated code. 2. Always post your code. 3. Never copy and paste code. You won't learn anything from doing that. 4. Quote Programming via Eclipse's hotfixes will get you nowhere 5. Learn to use your IDE, especially the debugger. 6. Quote The "picture that's worth 1000 words" only works if there's an obvious problem or a freehand red circle around it. Support & Bug Reports: Spoiler 1. Read the EAQ before asking for help. Remember to provide the appropriate log(s). 2. Versions below 1.11 are no longer supported due to their age. Update to a modern version of Minecraft to receive support.
May 1, 20205 yr 1 minute ago, PixxiBunny said: I've edited the code, it's got a bunch of errors and I'm very confused. // Food public static final RegistryObject<Item> COTTON_STEAK_RAW = ITEMS.register("cotton_steak_raw", Foods::new); public static final RegistryObject<Item> COTTON_STEAK = ITEMS.register("cotton_steak", Foods::new); I believe Food is a property, and the food itself is an item
May 1, 20205 yr Author 2 minutes ago, DavidM said: Create an instance of Food.Builder and build your food item with it. I'm sorry, but how would I do this?
May 2, 20205 yr 4 minutes ago, PixxiBunny said: I'm sorry, but how would I do this? new Food.Builder(....).build() then when instantiating your item, pass in your food instance: new Item.Properties().food(foodinstance) Edited May 2, 20205 yr by kaydogz typo
May 2, 20205 yr Author Here's what I got, still not letting me eat it: // Food public static final RegistryObject<Item> COTTON_STEAK_RAW = ITEMS.register("cotton_steak_raw", ItemBase::new); public static final RegistryObject<Item> COTTON_STEAK = ITEMS.register("cotton_steak", ItemBase::new); public static class Foods { public static final Food COTTON_STEAK = (new Food.Builder()).hunger(8).saturation(12.8f).meat().build(); }
May 2, 20205 yr 13 minutes ago, PixxiBunny said: Here's what I got, still not letting me eat it: // Food public static final RegistryObject<Item> COTTON_STEAK_RAW = ITEMS.register("cotton_steak_raw", ItemBase::new); public static final RegistryObject<Item> COTTON_STEAK = ITEMS.register("cotton_steak", ItemBase::new); public static class Foods { public static final Food COTTON_STEAK = (new Food.Builder()).hunger(8).saturation(12.8f).meat().build(); } It's not letting you eat it because you haven't applied the food to the item's Item.Properties
May 2, 20205 yr You need to apply the Food you created to your item. Edited May 2, 20205 yr by DavidM Some tips: Spoiler Modder Support: Spoiler 1. Do not follow tutorials on YouTube, especially TechnoVision (previously called Loremaster) and HarryTalks, due to their promotion of bad practice and usage of outdated code. 2. Always post your code. 3. Never copy and paste code. You won't learn anything from doing that. 4. Quote Programming via Eclipse's hotfixes will get you nowhere 5. Learn to use your IDE, especially the debugger. 6. Quote The "picture that's worth 1000 words" only works if there's an obvious problem or a freehand red circle around it. Support & Bug Reports: Spoiler 1. Read the EAQ before asking for help. Remember to provide the appropriate log(s). 2. Versions below 1.11 are no longer supported due to their age. Update to a modern version of Minecraft to receive support.
May 2, 20205 yr 2 hours ago, PixxiBunny said: I've looked through the source, but I wasn't able to find any classes... Apparently you didn't look at Items.java where things like cooked porkchop get instantiated to find out what classes were involved. Edited May 2, 20205 yr by Draco18s 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.
May 2, 20205 yr Author 1 hour ago, DavidM said: You need to apply the Food you created to your item. How would I do this? I'm sorry I'm asking so much, I'm fairly new to this.
May 2, 20205 yr 14 minutes ago, PixxiBunny said: How would I do this? I'm sorry I'm asking so much, I'm fairly new to this. new Item(new Item.Properties().food(foodInstance)) PLEASE learn basic java before you start modding, so you won't have to ask questions like these.
May 2, 20205 yr Author 4 minutes ago, kaydogz said: new Item(new Item.Properties().food(foodInstance)) PLEASE learn basic java before you start modding, so you won't have to ask questions like these. It's saying cannot resolve symbol 'foodInstance'. Also, where would I place this code? // Food public static final RegistryObject<Item> COTTON_STEAK_RAW = ITEMS.register("cotton_steak_raw", ItemBase::new); public static final RegistryObject<Item> COTTON_STEAK = ITEMS.register("cotton_steak", ItemBase::new); public static class Foods { public static final Food COTTON_STEAK = (new Food.Builder()).hunger(8).saturation(12.8f).meat().build(); } new Item(new Item.Properties().food(foodInstance)) }
May 2, 20205 yr 15 minutes ago, PixxiBunny said: It's saying cannot resolve symbol 'foodInstance'. Also, where would I place this code? // Food public static final RegistryObject<Item> COTTON_STEAK_RAW = ITEMS.register("cotton_steak_raw", ItemBase::new); public static final RegistryObject<Item> COTTON_STEAK = ITEMS.register("cotton_steak", ItemBase::new); public static class Foods { public static final Food COTTON_STEAK = (new Food.Builder()).hunger(8).saturation(12.8f).meat().build(); } new Item(new Item.Properties().food(foodInstance)) } foodInstance is what I put as a placeholder for the instance of your food, which is for you, Foods.COTTON_STEAK. You would put the line as such: ITEMS.register("itemregistryname", () -> new Item(new Item.Properties().food(foodInstance))); As I said before, please learn java before you start modding. Edit: And please remember to swap my placeholders for your values. Edited May 2, 20205 yr by kaydogz typo
May 2, 20205 yr Author 2 minutes ago, kaydogz said: foodInstance is what I put as a placeholder for the instance of your food, which is for you, Foods.COTTON_STEAK. You would put the line as such: ITEMS.register("itemregistryname", () -> return new Item(new Item.Properties().food(foodInstance))); As I said before, please learn java before you start modding. Alright, here's what I got. Still some errors though, any idea what's wrong? // Food public static final RegistryObject<Item> COTTON_STEAK_RAW = ITEMS.register("cotton_steak_raw", ItemBase::new); public static final RegistryObject<Item> COTTON_STEAK = ITEMS.register("cotton_steak", () -> return new Item(new Item.Properties().food(Foods.COTTON_STEAK))); public static class Foods { public static final Food COTTON_STEAK = (new Food.Builder()).hunger(8).saturation(12.8f).meat().build(); }
May 2, 20205 yr 1 minute ago, PixxiBunny said: Alright, here's what I got. Still some errors though, any idea what's wrong? // Food public static final RegistryObject<Item> COTTON_STEAK_RAW = ITEMS.register("cotton_steak_raw", ItemBase::new); public static final RegistryObject<Item> COTTON_STEAK = ITEMS.register("cotton_steak", () -> return new Item(new Item.Properties().food(Foods.COTTON_STEAK))); public static class Foods { public static final Food COTTON_STEAK = (new Food.Builder()).hunger(8).saturation(12.8f).meat().build(); } Sorry, my bad. I had a typo from before. Just remove the return
May 2, 20205 yr Author 4 minutes ago, kaydogz said: Sorry, my bad. I had a typo from before. Just remove the return That works! Thank you so much, and sorry if I was getting annoying lol. I'd be annoyed at me too.
February 23, 20241 yr I would recommend watching this video its a verry nice and clear explanation of what you need to do
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.