Advertisement
Guest User

Untitled

a guest
Sep 16th, 2014
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.43 KB | None | 0 0
  1. package ShadoTECH.Entity;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. import ShadoTECH.sT_Items;
  7. import cpw.mods.fml.common.FMLCommonHandler;
  8. import net.minecraft.block.material.Material;
  9. import net.minecraft.entity.Entity;
  10. import net.minecraft.entity.item.EntityItem;
  11. import net.minecraft.entity.player.EntityPlayer;
  12. import net.minecraft.init.Blocks;
  13. import net.minecraft.init.Items;
  14. import net.minecraft.item.ItemStack;
  15. import net.minecraft.nbt.NBTTagCompound;
  16. import net.minecraft.util.AxisAlignedBB;
  17. import net.minecraft.util.DamageSource;
  18. import net.minecraft.util.MathHelper;
  19. import net.minecraft.util.WeightedRandom.Item;
  20. import net.minecraft.world.World;
  21. import net.minecraftforge.oredict.OreDictionary;
  22.  
  23. public class entityItemIngotObsidian extends EntityItem
  24. {    
  25.     public entityItemIngotObsidian(World world, double x, double y, double z)
  26.     {
  27.         super(world);
  28.     }
  29.    
  30.     public entityItemIngotObsidian(World world, double x, double y, double z, ItemStack itemStack)
  31.     {
  32.         super(world, x, y, z);        
  33.     }
  34.  
  35.    
  36.     @Override
  37.     public boolean attackEntityFrom(DamageSource damageSource, float damage)
  38.     {
  39.         if(damageSource.isExplosion())
  40.         {
  41.             ingotIron();
  42.             return true;
  43.         }
  44.         return super.attackEntityFrom(damageSource, damage);
  45.     }
  46.    
  47.     public boolean ingotIron()
  48.     {
  49.         AxisAlignedBB bounds = AxisAlignedBB.getBoundingBox(this.posX - 1.0D, this.posY - 1.0D, this.posZ - 1.0D, this.posX + 1.0D, this.posY + 1.0D, this.posZ + 1.0D);
  50.         List<Entity> list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, bounds);
  51.      
  52.         EntityItem ingotIron = null;
  53.         for (Entity entity : list)
  54.         {
  55.             if(((entity instanceof EntityItem)) && (!entity.isDead))
  56.             {
  57.                 ItemStack itemStack = ((EntityItem)entity).getEntityItem();
  58.                 if((itemStack != null) && (itemStack.stackSize > 0))
  59.                 {
  60.                     ingotIron = (EntityItem)entity;
  61.                 }
  62.             }
  63.         }
  64.         if(ingotIron != null)
  65.         {
  66.             getEntityItem().stackSize -= 1;
  67.             ingotIron.getEntityItem().stackSize -= 1;
  68.             if(getEntityItem().stackSize <= 0) setDead();
  69.             if(ingotIron.getEntityItem().stackSize <= 0) ingotIron.setDead();
  70.             List<ItemStack> i = new ArrayList();
  71.        
  72.             ItemStack Output = new ItemStack(Items.diamond, 8);
  73.             this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.posX, this.posY, this.posZ, Output));
  74.            
  75.             return true;
  76.         }
  77.         return false;
  78.     }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement