Jump to content

Zyke

Members
  • Posts

    7
  • Joined

  • Last visited

Everything posted by Zyke

  1. Thanks everyone for the help Everything works as it should, except the item getting damaged. I was probably going to make it a one-use item anyway.
  2. Do you mean itemInteractionForEntity is going to be the same, even if I add another parameter like World? Also, passing null for the itemStack damage crashes the game, when in survival and creative. I don't know if it is my fault or null just cannot be used.
  3. setDead() works fine, but in this case, I think that the whole method is not working because I didn't override it. Doing that would not allow me to use EntityPlayer as a parameter. Any ideas on how I can use entityPlayer in the method? @Override public boolean itemInteractionForEntity(ItemStack itemStack, EntityLiving entityLiving /*, EntityPlayer entityPlayer*/) { entityLiving.setDead(); itemStack.damageItem(1, entityPlayer); << I need entityPlayer return true; }
  4. Doesn't seem to work either. If removeEntity says this: public void removeEntity(Entity par1Entity) { if (par1Entity.riddenByEntity != null) { par1Entity.riddenByEntity.mountEntity((Entity)null); } if (par1Entity.ridingEntity != null) { par1Entity.mountEntity((Entity)null); } par1Entity.setDead(); if (par1Entity instanceof EntityPlayer) { this.playerEntities.remove(par1Entity); this.updateAllPlayersSleepingFlag(); } } then basically is doing the same as setDead(), but being just a bit more specific about what the entity is doing, right?
  5. I'm trying to kill a mob on right-click with an item, but without "hurting" the mob because that would make it drop items (and I don't want that as you can probably guess). entityLiving.setDead() and entityLiving.kill() don't seem to work. Any ideas? public boolean itemInteractionForEntity(ItemStack itemStack, EntityLiving entityLiving, EntityPlayer entityPlayer) { entityLiving.kill(); itemStack.damageItem(1, entityPlayer); return true; }
  6. Although that didn't answer my question, thanks for the clarification.
  7. I'm trying to make an item that, when right clicking, destroys obsidian instantly. This is the code in the item class I made (not all of it): //@Override < I read somewhere that I needed to override, but adding that gives me another error public boolean onItemUse(ItemStack itemStack, EntityPlayer entityPlayer, World world, int x, int y, int z) { System.out.println("Something happened!"); if(!world.isRemote) { if (world.getBlockId(x, y, z) == Block.obsidian.blockID) { itemStack.damageItem(1, entityPlayer); world.destroyBlock(x, y, z, true); } } return true; } The problem is that nothing is happening when I right click on anything. Nothing gets printed out. What am I doing wrong? Do I have to use onGameTick or sometihng? Edit: Apparently this seems to do the job: public boolean onItemUseFirst(ItemStack itemStack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) { int blockId = world.getBlockId(x, y, z); if (blockId == Block.obsidian.blockID) { itemStack.damageItem(1, player); world.destroyBlock(x, y, z, true); return !world.isRemote; } return false; }
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.