Posted September 9, 201411 yr I am wanting to find a way to drop Items into lava and have dropped items exploded by TnT give the player a different Item. So like If I drop Items A, B, and C into a lava block It will consume those 3 and give the player Item D, and If I drop Item A and explode it with TnT it will drop item B.
September 9, 201411 yr You could maybe mess around with the ItemTossEvent, that might work. I'm not sure if ItemExpireEvent gets called when it /expires/ or just whenever the EntityItem dies. Otherwise, you can do what I had to do a while back. Using the WorldTickEvent event, iterate through the event.world.loadedEntityList, if the entity is an instanceof EntityItem, do your checks (handleLavaMovement() is for lava), and if there are whatever other EntityItems of the type you want (EntityItem#getEntityItem and ItemStack#getItem), then remove the entities and spawn the one you want. There probably is a better way to do it, but that's all I can think of right now BEFORE ASKING FOR HELP READ THE EAQ! I'll help if I can. Apologies if I do something obviously stupid. If you don't know basic Java yet, go and follow these tutorials.
September 16, 201411 yr Author So I managed to get it working with tnt or lava yay! The only issues are, It looks like stone, doesn't get consumed and when I toss it it goes straight up and doesn't arc like normal items.
September 16, 201411 yr Author I was actually wrong, you don't even need a custom Item, because EntityItem's track who threw them already (didn't know that, it's new in 1.7). So you can use func_145800_j on the Item to get the player who threw the Item, then you don't need a custom Item. Sorry for the wrong advice. Yeah I ended up with a entity item didn't need to really check who threw it, onUpdate checking if its in lava and preventing it from taking damage, and attackEntityFrom i got TnT working etc.. Now just trying to figure why when I throw the Item it looks like a stone block and it doesn't arc and travel a distance like vanilla items.
September 16, 201411 yr Author Show your code. This is my item http://pastebin.com/cMLiUBgB and this is my EntityItem http://pastebin.com/03qpav3u
September 16, 201411 yr Did you register this entity class ? this.itemIcon = iconRegister.registerIcon(Reference.MODID.toLowerCase() + ":" + (this.getUnlocalizedName().substring(5))); And did you put your item texture in the correct lowercase folder ? Or is this unlocalized name set ? Is your entity supposed to reduce another entity item stacksize if close-by ?
September 16, 201411 yr Author In your constructor that takes the ItemStack you call the wrong super-constructor. For the "arc" of the Item you need to also copy the motion. I also suggestion copying delayBeforeCanPickup for less glitchy behavior when using /give. Yeah the constructor was the cause of everything.. noob mistake there on my part. But everything is working now and I learned a few things that's all that matters!
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.