package com.hbm.items.tool; import java.util.List; import com.hbm.entity.logic.EntityBomber; import com.hbm.lib.Library; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.ChatComponentText; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; public class ItemBombCaller extends Item { public ItemBombCaller() { super(); this.setHasSubtypes(true); } @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { list.add("Aim & click to call an airstrike!"); if(itemstack.getItemDamage() == 0) list.add("Type: Carpet bombing"); if(itemstack.getItemDamage() == 1) list.add("Type: Napalm"); if(itemstack.getItemDamage() == 2) list.add("Type: Poison gas"); if(itemstack.getItemDamage() == 3) list.add("Type: Agent orange"); if(itemstack.getItemDamage() == 4) list.add("Type: Atomic bomb"); if(itemstack.getItemDamage() == 5) list.add("Type: VT stinger rockets"); if(itemstack.getItemDamage() == 6) list.add("Type: PIP OH GOD"); if(itemstack.getItemDamage() == 7) list.add("Type: Cloud the cloud oh god the cloud"); } @Override public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { MovingObjectPosition pos = Library.rayTrace(player, 500, 1); int x = pos.blockX; int y = pos.blockY; int z = pos.blockZ; boolean b = false; if(!world.isRemote) { if(stack.getItemDamage() == 0) if(world.spawnEntityInWorld(EntityBomber.statFacCarpet(world, x, y, z))) b = true; if(stack.getItemDamage() == 1) if(world.spawnEntityInWorld(EntityBomber.statFacNapalm(world, x, y, z))) b = true; if(stack.getItemDamage() == 2) if(world.spawnEntityInWorld(EntityBomber.statFacChlorine(world, x, y, z))) b = true; if(stack.getItemDamage() == 3) if(world.spawnEntityInWorld(EntityBomber.statFacOrange(world, x, y, z))) b = true; if(stack.getItemDamage() == 4) if(world.spawnEntityInWorld(EntityBomber.statFacABomb(world, x, y, z))) b = true; if(stack.getItemDamage() == 5) if(world.spawnEntityInWorld(EntityBomber.statFacStinger(world, x, y, z))) b = true; if(stack.getItemDamage() == 6) if(world.spawnEntityInWorld(EntityBomber.statFacBoxcar(world, x, y, z))) b = true; if(stack.getItemDamage() == 7) if(world.spawnEntityInWorld(EntityBomber.statFacPC(world, x, y, z))) b = true; if(b) { player.addChatMessage(new ChatComponentText("Called in airstrike!")); world.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F); } else { world.playSoundAtEntity(player, "hbm:item.techBoop", 1.0F, 1.0F); } } stack.stackSize -= b ? 1 : 0; return stack; } @Override @SideOnly(Side.CLIENT) public void getSubItems(Item p_150895_1_, CreativeTabs p_150895_2_, List p_150895_3_) { p_150895_3_.add(new ItemStack(p_150895_1_, 1, 0)); p_150895_3_.add(new ItemStack(p_150895_1_, 1, 1)); p_150895_3_.add(new ItemStack(p_150895_1_, 1, 2)); p_150895_3_.add(new ItemStack(p_150895_1_, 1, 3)); p_150895_3_.add(new ItemStack(p_150895_1_, 1, 4)); } @Override @SideOnly(Side.CLIENT) public boolean hasEffect(ItemStack p_77636_1_) { return p_77636_1_.getItemDamage() >= 4; } }