void attackEntity(EntityLivingBase e) {
    ChromaSounds.DISCHARGE.playSoundAtBlock(this);

    ChromaAux.doPylonAttack(e, 5, true);

    PotionEffect eff = CrystalPotionController.getEffectFromColor(color, 200, 2);
    if (eff != null) {
      e.addPotionEffect(eff);
    }
  }
  @Override
  public void onDeath(DamageSource src) {
    ChromaSounds.DISCHARGE.playSound(this, 1F, 2F);
    if (!worldObj.isRemote) {
      Entity e = src.getEntity();
      if (e instanceof EntityPlayer) {
        EntityPlayer ep = (EntityPlayer) e;
        if (doDrops && !ReikaPlayerAPI.isFakeOrNotInteractable(ep, posX, posY, posZ, 8)) {
          int looting = EnchantmentHelper.getLootingModifier((EntityPlayer) src.getEntity());
          ReikaItemHelper.dropItem(
              this,
              ReikaItemHelper.getSizedItemStack(
                  ChromaStacks.beaconDust, rand.nextInt(1 + looting * 2)));
          if (looting > 1) {
            if (color.isPrimary()) ReikaItemHelper.dropItem(this, ChromaStacks.purityDust);
            else ReikaItemHelper.dropItem(this, ChromaStacks.auraDust);
          }
        }
        ProgressStage.BALLLIGHTNING.stepPlayerTo(ep);
      }

      this.sendDeathParticles();
    }
  }
 @ModDependent(ModList.ROTARYCRAFT)
 public void onEMP(TileEntityEMP te) {
   energy = rand.nextBoolean() ? 0 : this.getCapacity();
   worldObj.createExplosion(null, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, 16, false);
   ChromaSounds.DISCHARGE.playSoundAtBlock(this);
 }