Jump to content

ThePocketSoul

Members
  • Posts

    12
  • Joined

  • Last visited

Converted

  • Gender
    Undisclosed
  • Personal Text
    I am new!

ThePocketSoul's Achievements

Tree Puncher

Tree Puncher (2/8)

3

Reputation

  1. Thanks but getItemDamage doesn't work... i changed it to this and it worked public void removeItem(EntityPlayer ep, ItemStack removeitem, int remove, int metadata) { IInventory inv = ep.inventory; for(int i=0; i < inv.getSizeInventory(); i++) { if(inv.getStackInSlot(i) != null) { ItemStack j = inv.getStackInSlot(i); if(j.getItem() != null && j.getItem() == removeitem.getItem() && j.getItem().getDamage(j) == metadata) { inv.decrStackSize(i, remove); } } } }
  2. Hello! I'm having a problem with removing metadata items. The problem isn't its not removing one of the item, it does, but it removes one of each of the metadata items if you have them in your inventory... Code: public void removeItem(EntityPlayer ep, ItemStack removeitem, int remove) { IInventory inv = ep.inventory; for(int i=0; i < inv.getSizeInventory(); i++) { if(inv.getStackInSlot(i) != null) { ItemStack j = inv.getStackInSlot(i); if(j.getItem() != null && j.getItem() == removeitem.getItem()) { inv.decrStackSize(i, remove); } } } } Thanks ahead of time!
  3. change par4 to event.X change par5 to event.Y change par6 to event.Z
  4. ah... i didn't see that there was no World parameter try adding one like "World par3World"
  5. Use this http://www.minecraftforum.net/topic/1798625-162sobiohazardouss-forge-keybinding-tutorial/
  6. put this in the usedBonemeal event par3World.spawnParticle("villagerHappy", par4, par5, par6, 0.0D, 0.5D, 0.0D);
  7. Here use this ItemStack dirtStack = new ItemStack(Block.dirt); ItemStack matchAnyDamageValueItemStack = new ItemStack(MyItem, 1, WILDCARD_VALUE); GameRegistry.addRecipe(new ItemStack(Block.cobblestone), "xy", "yx", 'x', dirtStack, 'y', matchAnyDamageValueItemStack); and put this somewhere too public static final int WILDCARD_VALUE = Short.MAX_VALUE;
  8. okay the onCreated method works, just the getting of the integer in the NBT tag doesn't seem to work...
  9. will do! thanks ahead of time... i'll come back to tell ya if it works
  10. i'm crafting them... otherwise the nbt data wouldn't be created
  11. this is whats on line 162 int f1 = par1ItemStack.stackTagCompound.getInteger("discombob"); and here is the full class package tps.dbm.items; import java.util.List; import java.util.Random; import tps.dbm.ItemDBM; import tps.dbm.Reference; import tps.dbm.SonicKeyBind; import tps.dbm.Strings; import tps.dbm.mod_MainClass; import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.monster.EntityBlaze; import net.minecraft.entity.monster.EntityCaveSpider; import net.minecraft.entity.monster.EntityCreeper; import net.minecraft.entity.monster.EntitySkeleton; import net.minecraft.entity.monster.EntitySlime; import net.minecraft.entity.monster.EntitySpider; import net.minecraft.entity.monster.EntityZombie; import net.minecraft.entity.passive.EntityChicken; import net.minecraft.entity.passive.EntityCow; import net.minecraft.entity.passive.EntityPig; import net.minecraft.entity.passive.EntitySheep; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.Icon; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class MultiScrewdriver extends ItemDBM { public static final String[] SONIC_NAMES = new String[] { "Sonic Screwdriver", "Sonic Mobalyzer", "Sonic Dead-ination", "Sonic Discombobulator", "Sonic Signalator" }; @SideOnly(Side.CLIENT) private Icon[] icons; public int x3; public int x4; public MultiScrewdriver(int id) { super(id); this.setHasSubtypes(true); this.setCreativeTab(mod_MainClass.DBMItems); maxStackSize = 1; this.setNoRepair(); } public void onCreated(ItemStack itemStack, World world, EntityPlayer player) { itemStack.stackTagCompound = new NBTTagCompound(); itemStack.stackTagCompound.setInteger("discombob", 1); } public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) { int meta = MathHelper.clamp_int(par1ItemStack.getItemDamage(), 0, 4); int p = par1ItemStack.getItemDamage(); if(meta<=4){ if(SonicKeyBind.Key == true){ if(par2EntityPlayer.inventory.hasItemStack(new ItemStack(mod_MainClass.Dusts, 1, 2))){ par2EntityPlayer.inventory.consumeInventoryItem(itemID); par2EntityPlayer.inventory.addItemStackToInventory(new ItemStack(this, 1, p+1)); par3World.playSoundAtEntity(par2EntityPlayer, "dbm:sonicmodeswitch", 1.0F, 1.0F); } else{ par2EntityPlayer.addChatMessage("Cannot Switch Mode Missing Pockika Dust"); } if(meta==4){ if(SonicKeyBind.Key == true){ if(par2EntityPlayer.inventory.hasItemStack(new ItemStack(mod_MainClass.Dusts, 1, 2))){ par2EntityPlayer.inventory.consumeInventoryItem(itemID); par2EntityPlayer.inventory.addItemStackToInventory(new ItemStack(this, 1, 0)); par3World.playSoundAtEntity(par2EntityPlayer, "dbm:sonicmodeswitch", 1.0F, 1.0F); } else{ par2EntityPlayer.addChatMessage("Cannot Switch Mode Missing Pockika Dust"); } } } } if(meta==0){ if(SonicKeyBind.Key == false){ if (par7 == 0) { --par5; } if (par7 == 1) { ++par5; } if (par7 == 2) { --par6; } if (par7 == 3) { ++par6; } if (par7 == 4) { --par4; } if (par7 == 5) { ++par4; } if (!par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack)) { return false; } else if (par3World.isAirBlock(par4, par5, par6)) { par3World.playSoundAtEntity(par2EntityPlayer, "dbm:sonicscrewdriver", 1.0F, 1.0F); par3World.setBlock(par4, par5, par6, mod_MainClass.PhantomRedstone.blockID); } } } if(meta==4){ if(SonicKeyBind.Key == false){ boolean t1 = par3World.isDaytime(); boolean t2 = par3World.isRaining(); boolean t3 = par3World.isThundering(); if(!(par3World.isRemote)){ if(t1 == true){ par2EntityPlayer.addChatMessage("Daytime : Yes"); } else if(t1 == false){ par2EntityPlayer.addChatMessage("Daytime : No"); } if(t2 == true){ par2EntityPlayer.addChatMessage("Raining : Yes"); } else if (t2 == false){ par2EntityPlayer.addChatMessage("Raining : No"); } if(t3 == true){ par2EntityPlayer.addChatMessage("Thundering : Yes"); } else if(t3 == false){ par2EntityPlayer.addChatMessage("Thundering : No"); } } } } if(meta==3){ int f1 = par1ItemStack.stackTagCompound.getInteger("discombob"); if(SonicKeyBind.Key == false){ if (!par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack)) { return false; } else if (!(par3World.isAirBlock(par4, par5, par6)) ) { if (par2EntityPlayer.isSneaking() && par2EntityPlayer.inventory.hasItemStack(new ItemStack(mod_MainClass.Dust, 1, 14))){ removeItem(par2EntityPlayer, new ItemStack(mod_MainClass.Dust, 1, 14), 1); par1ItemStack.stackTagCompound.setInteger("discombob", f1 + 100); } else if (!(par3World.getBlockId(par4, par5, par6) == Block.bedrock.blockID || par3World.getBlockId(par4, par5, par6) == 34 || par3World.getBlockId(par4, par5, par6) == 104 || par3World.getBlockId(par4, par5, par6) == 105 || par3World.getBlockId(par4, par5, par6) == 90 || par3World.getBlockId(par4, par5, par6) == 119 || par3World.getBlockId(par4, par5, par6) == 120 || par1ItemStack.stackTagCompound.getInteger("discombob") <= 0)){ int x1 = par3World.getBlockId(par4, par5, par6); int x2 = par3World.getBlockMetadata(par4, par5, par6); if(x1 == 62){ x1 = 61; } if(x1 == 75){ x1 = 76; } if(x1 == 94 || x1 == 93){ x1 = 356; } if(x1 == 150 || x1 == 149){ x1 = 404; } if(x1 == 60 || x1 == 2){ x1 = 3; } if(x1 == 55){ x1 = 331; } if(x1 == 26){ x1 = 355; } par3World.playSoundAtEntity(par2EntityPlayer, "dbm:sonicbob", 1.0F, 1.0F); if(!(par2EntityPlayer.capabilities.isCreativeMode)){ par2EntityPlayer.inventory.addItemStackToInventory(new ItemStack(x1, 1, x2)); par1ItemStack.stackTagCompound.setInteger("discombob", f1 - 1); } par3World.setBlockToAir(par4, par5, par6); } } } } } return true; } public boolean func_111207_a(ItemStack itemstack, EntityPlayer player, EntityLivingBase target) { int meta = MathHelper.clamp_int(itemstack.getItemDamage(), 0, 4); if(meta==0){ } else if(meta==2){ if(!(target instanceof EntityChicken)){ target.motionY = 2; target.setFire(600); } else if(target instanceof EntityChicken){ target.setEntityHealth(1); target.setFire(5); } } else if(meta==1){ if(target.worldObj.isRemote) { if(target instanceof EntityZombie) { player.playSound("dbm:sonicanalyze", 1.0F, 1.0F); player.addChatMessage("Name: Zombie, MaxHealth: 10 Hearts, AttackType: Physical, Strength: 1 to 4 1/2 Hearts (Difficulty Based)"); } else if (target instanceof EntityCreeper){ player.playSound("dbm:sonicanalyze", 1.0F, 1.0F); player.addChatMessage("Name: Creeper, MaxHealth: 10 Hearts, AttackType: Explosion, Strength: (Normal: 24 Hearts, Charged: 48 1/2 Hearts (Difficulty Based))"); } else if (target instanceof EntitySkeleton){ player.playSound("dbm:sonicanalyze", 1.0F, 1.0F); player.addChatMessage("Name: Skeleton, MaxHealth: 10 Hearts, AttackType: Ranged, Strength: 2 to 6 Hearts (Difficulty Based)"); } else if (target instanceof EntityBlaze){ player.playSound("dbm:sonicanalyze", 1.0F, 1.0F); player.addChatMessage("Name: Blaze, MaxHealth: 10 Hearts(Size Based), AttackType: Physical/Ranged/Fire, Strength: (FireBall: 1 1/2 to 3 1/2 Hearts, Contact: 2 to 4 1/2 Hearts)"); } else if(target instanceof EntityPlayer) { player.playSound("dbm:sonicanalyze", 1.0F, 1.0F); player.motionY = 10; player.addChatMessage("I Believe I Can Fly!"); } else if (target instanceof EntitySpider){ player.playSound("dbm:sonicanalyze", 1.0F, 1.0F); player.addChatMessage("Name: Spider, MaxHealth: 8 Hearts, AttackType: Physical, Strength: 1 to 1 1/2 Hearts (Difficulty Based)"); } else if (target instanceof EntityCaveSpider){ player.playSound("dbm:sonicanalyze", 1.0F, 1.0F); player.addChatMessage("Name: Cave Spider, MaxHealth: 6 Hearts, AttackType: Physical/Poison, Strength: 1 to 6 1/2 Hearts (Difficulty Based And If Poisoned)"); } else if (target instanceof EntitySlime){ player.playSound("dbm:sonicanalyze", 1.0F, 1.0F); player.addChatMessage("Name: Slime, MaxHealth: 8 to 1/2 Hearts(Size Based), AttackType: Physical, Strength: 0 to 2 Hearts (Size Based)"); } else if (target instanceof EntityPig){ player.playSound("dbm:sonicanalyze", 1.0F, 1.0F); player.addChatMessage("Name: Pig, MaxHealth: 5 Hearts, Drops: 1 to 3 Raw Porkchops(Cooked If On Fire When Dies)"); } else if (target instanceof EntityCow){ player.playSound("dbm:sonicanalyze", 1.0F, 1.0F); player.addChatMessage("Name: Cow, MaxHealth: 5 Hearts, Drops: 1 to 3 Raw Steaks(Cooked If On Fire When Dies) And 0 to 3 Leather."); } else if (target instanceof EntityChicken){ player.playSound("dbm:sonicanalyze", 1.0F, 1.0F); player.addChatMessage("Name: Chicken, MaxHealth: 2 Hearts, Drops: 1 to 3 Raw Chicken(Cooked If On Fire When Dies) And 0 to 3 Feathers."); } else if (target instanceof EntitySheep){ player.playSound("dbm:sonicanalyze", 1.0F, 1.0F); player.addChatMessage("Name: Sheep, MaxHealth: 4 Hearts, Drops: 1 Wool When Dies(1 to 3 Wool When Sheared)"); } else if(!(target instanceof EntitySheep || target instanceof EntityPig || target instanceof EntityPlayer || target instanceof EntityCow || target instanceof EntityZombie || target instanceof EntityChicken || target instanceof EntityCreeper || target instanceof EntitySlime || target instanceof EntityBlaze || target instanceof EntitySpider || target instanceof EntitySkeleton)){ player.addChatMessage("Can't find out whatever this is"); player.playSound("dbm:sonicfail", 1.0F, 1.0F); } } } return false; } @Override public void addInformation(ItemStack itemStack, EntityPlayer player, List list, boolean par4) { int meta = MathHelper.clamp_int(itemStack.getItemDamage(), 0, 4); if(meta==3){ if (itemStack.stackTagCompound != null) { int discombob = itemStack.stackTagCompound.getInteger("discombob"); if (discombob <= 0) { list.add(EnumChatFormatting.GREEN + "Fuel: " + discombob); } else { list.add(EnumChatFormatting.RED + "Fuel: " + "Empty"); } } } } @Override public String getUnlocalizedName(ItemStack itemStack) { int meta = MathHelper.clamp_int(itemStack.getItemDamage(), 0, 4); return super.getUnlocalizedName() + Strings.SONIC_NAMES[meta]; } @Override @SideOnly(Side.CLIENT) /** * Gets an icon index based on an item's damage value */ public Icon getIconFromDamage(int meta) { int j = MathHelper.clamp_int(meta, 0, 4); return icons[j]; } @Override @SideOnly(Side.CLIENT) public void registerIcons(IconRegister iconRegister) { icons = new Icon[sONIC_NAMES.length]; for (int i = 0; i < SONIC_NAMES.length; ++i) { icons[i] = iconRegister.registerIcon(Reference.MOD.ID.toLowerCase() + ":" + Strings.SCREWDRIVER_NAME + Strings.SONIC_NAMES[i]); } } @Override @SideOnly(Side.CLIENT) public void getSubItems(int id, CreativeTabs creativeTab, List list) { for (int meta = 0; meta < 5; ++meta) { list.add(new ItemStack(id, 1, meta)); } } public void removeItem(EntityPlayer ep, ItemStack removeitem, int remove) { IInventory inv = ep.inventory; for(int i=0; i < inv.getSizeInventory(); i++) { if(inv.getStackInSlot(i) != null) { ItemStack j = inv.getStackInSlot(i); if(j.getItem() != null && j.getItem() == removeitem.getItem()) { ep.inventory.decrStackSize(i, remove); } } } } }
  12. I am trying to read the NBT data from an item i created and it keeps tossing a NullPointer Exception making the NBT data : public void onCreated(ItemStack itemStack, World world, EntityPlayer player) { itemStack.stackTagCompound = new NBTTagCompound(); itemStack.stackTagCompound.setInteger("discombob", 1); } code : int f1 = par1ItemStack.stackTagCompound.getInteger("discombob"); if(SonicKeyBind.Key == false){ if (!par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack)) { return false; } else if (!(par3World.isAirBlock(par4, par5, par6)) ) { if (par2EntityPlayer.isSneaking() && par2EntityPlayer.inventory.hasItemStack(new ItemStack(mod_MainClass.Dust, 1, 14))){ removeItem(par2EntityPlayer, new ItemStack(mod_MainClass.Dust, 1, 14), 1); par1ItemStack.stackTagCompound.setInteger("discombob", f1 + 100); } else if (!(par3World.getBlockId(par4, par5, par6) == Block.bedrock.blockID || par3World.getBlockId(par4, par5, par6) == 34 || par3World.getBlockId(par4, par5, par6) == 104 || par3World.getBlockId(par4, par5, par6) == 105 || par3World.getBlockId(par4, par5, par6) == 90 || par3World.getBlockId(par4, par5, par6) == 119 || par3World.getBlockId(par4, par5, par6) == 120 || par1ItemStack.stackTagCompound.getInteger("discombob") <= 0)){ int x1 = par3World.getBlockId(par4, par5, par6); int x2 = par3World.getBlockMetadata(par4, par5, par6); if(x1 == 62){ x1 = 61; } if(x1 == 75){ x1 = 76; } if(x1 == 94 || x1 == 93){ x1 = 356; } if(x1 == 150 || x1 == 149){ x1 = 404; } if(x1 == 60 || x1 == 2){ x1 = 3; } if(x1 == 55){ x1 = 331; } if(x1 == 26){ x1 = 355; } par3World.playSoundAtEntity(par2EntityPlayer, "dbm:sonicbob", 1.0F, 1.0F); if(!(par2EntityPlayer.capabilities.isCreativeMode)){ par2EntityPlayer.inventory.addItemStackToInventory(new ItemStack(x1, 1, x2)); par1ItemStack.stackTagCompound.setInteger("discombob", f1 - 1); } par3World.setBlockToAir(par4, par5, par6); crash report : 2013-11-10 11:36:59 [iNFO] [sTDOUT] java.lang.NullPointerException 2013-11-10 11:36:59 [iNFO] [sTDOUT] at tps.dbm.items.MultiScrewdriver.onItemUse(MultiScrewdriver.java:162) 2013-11-10 11:36:59 [iNFO] [sTDOUT] at net.minecraft.item.ItemStack.tryPlaceItemIntoWorld(ItemStack.java:152) 2013-11-10 11:36:59 [iNFO] [sTDOUT] at net.minecraft.client.multiplayer.PlayerControllerMP.onPlayerRightClick(PlayerControllerMP.java:408) 2013-11-10 11:36:59 [iNFO] [sTDOUT] at net.minecraft.client.Minecraft.clickMouse(Minecraft.java:1378) 2013-11-10 11:36:59 [iNFO] [sTDOUT] at net.minecraft.client.Minecraft.runTick(Minecraft.java:1854) 2013-11-10 11:36:59 [iNFO] [sTDOUT] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:898) 2013-11-10 11:36:59 [iNFO] [sTDOUT] at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:826) 2013-11-10 11:36:59 [iNFO] [sTDOUT] at net.minecraft.client.main.Main.main(Main.java:93) 2013-11-10 11:36:59 [iNFO] [sTDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 2013-11-10 11:36:59 [iNFO] [sTDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 2013-11-10 11:36:59 [iNFO] [sTDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 2013-11-10 11:36:59 [iNFO] [sTDOUT] at java.lang.reflect.Method.invoke(Unknown Source) 2013-11-10 11:36:59 [iNFO] [sTDOUT] at net.minecraft.launchwrapper.Launch.launch(Launch.java:57) 2013-11-10 11:36:59 [iNFO] [sTDOUT] at net.minecraft.launchwrapper.Launch.main(Launch.java:18)
×
×
  • Create New...

Important Information

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