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); }