Item - v3


In EntityPizza.java

    protected void onImpact(MovingObjectPosition movingObjectPosition) {
      if (movingObjectPosition.entityHit != null) {
        float damage = 0;
        if(movingObjectPosition.entityHit instanceof EntityZombie) {
          damage = 5;
          movingObjectPosition.entityHit.motionY=3;
        } else  if (movingObjectPosition.entityHit instanceof EntitySkeleton) {
          damage = 20;
          movingObjectPosition.entityHit.motionY=3;
        }
        movingObjectPosition.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.getThrower()), damage);
    }
    for (int i = 0; i <6; ++i) {
      //double red = 202D / 255D;
      //double green = 112D / 255D;
      //double blue = 15D / 255D;
      //this.worldObj.spawnParticle("reddust", this.posX, this.posY, this.posZ, red, green, blue);
      PizzaParticleEffects.spawnParticle("pizzaPiece",this.posX, this.posY, this.posZ, 0, -0.1, 0);
    }
    if (!this.worldObj.isRemote) {
     this.setDead();
    }
}


PizzaParticleEffects.java

package wsdec13.peter;
import net.minecraft.client.Minecraft;
import net.minecraft.client.particle.EntityBreakingFX;
import net.minecraft.client.particle.EntityFX;
import net.minecraft.client.renderer.texture.TextureManager;
import net.minecraft.item.Item;
import net.minecraft.world.World;
public class PizzaParticleEffects {
  private static Minecraft mc = Minecraft.getMinecraft();
  private static World theWorld = mc.theWorld;
  private static TextureManager renderEngine = mc.renderEngine;
  public static EntityFX spawnParticle(String particleName, double par2, double par4, double par6, double par8, double par10, double par12) {
    if (mc != null && mc.renderViewEntity != null && mc.effectRenderer != null) {
      int var14 = mc.gameSettings.particleSetting;
      if (var14 == 1 && theWorld.rand.nextInt(3) == 0) {
        var14 = 2;
      }
      double var15 = mc.renderViewEntity.posX - par2;
      double var17 = mc.renderViewEntity.posY - par4;
      double var19 = mc.renderViewEntity.posZ - par6;
      EntityFX var21 = null;
      double var22 = 16.0D;
      if (var15 * var15 + var17 * var17 + var19 * var19 > var22 * var22) {
        return null;
      } else if (var14 > 1) {
        return null;
      } else {
        if (particleName.equals("pizzaPiece")) {
          var21 = new EntityBreakingFX(theWorld, par2, par4, par6, PetersMod.pizza);
        }
        mc.effectRenderer.addEffect(var21);
        return var21;
      }
    }
    return null;
  }
}