HalestormXV Posted August 9, 2015 Posted August 9, 2015 Hello there. I have just taken up creating mods. I am working on my first mod and it is coming along very nicely. (Or at least I think so lol). I am running into a tiny issue that I can't seem to figure out. I have read multiple tutorials. Specifically I read this one (http://www.minecraftforge.net/wiki/Tutorials/Basic_Shooter_Item_-_Blaster_Rifle) and watched some tutorial videos to get my "Grenade" item working fine. So my grenade does EXACTLY what it is supposed to do and I am very happy with it. However I am looking to add a cost to it. So, if the player doesnt have the "reagent" item in their inventory the event will fail and the item will not be used. Here is my class: http://pastebin.com/vGAMLzgY So this works. Actually it subtracts the item requirement as well. I know what the issue is. In my if I simply am subtracting the itemstack provided you have the "reagent" item as well. So what the code does is subtract both the "reagent" item as well as the item stack. I am trying to make it so that if you do not have the "reagent" item in your inventory you cannot use the item. I know am sure it is really simple to do, but since I am a noobie coder/modder I am missing something so obvious. Thank You in Advanced. Quote
Choonster Posted August 9, 2015 Posted August 9, 2015 Only spawn the grenade entity and play the sound if you successfully consumed the reagent (in the if (player.inventory.consumeItem(...)) block). Item#setMaxStackSize should only be called once (in the constructor or wherever you instantiate the class). There's no reason to call it every time the item is right clicked. Quote Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.
HalestormXV Posted August 9, 2015 Author Posted August 9, 2015 Outstanding, I knew it was probably a small oversight that I just wasn't aware of. And I also set the maxStack size in the appropriate location. Thank you for pointing that out to me. My last question with these grenades seems to be how I cast the entity. I cast it too Living base and it works, but I don't think Minecraft likes that. How should I alter the code? Here is the rather obvious error lol: http://pastebin.com/1H0wQyBV And here is my entity class: http://pastebin.com/Ve2f04vr Once again I apologize for how noobish I sound and how obvious these errors are but I really am trying to learn and I would rather learn correctly, rather then let the errors sit there since the item works as is. Thank you again. Quote
Choonster Posted August 9, 2015 Posted August 9, 2015 It looks like you've tried to add your grenade as a naturally spawning entity with EntityRegistry.addSpawn (like a mob or animal), but this doesn't work because it doesn't extend EntityLiving . You shouldn't have added it as a naturally spawning entity in the first place. Quote Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.
HalestormXV Posted August 9, 2015 Author Posted August 9, 2015 Perfect, once again it was a dumb oversight on my part. I had this being registered via my RegisterMonster function as opposed to my RegisterItemEntity function (both are identical but one doesn't add the spawn) Thank you again for the help. The issue seems to have been corrected. Quote
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.