@Override public void onLivingEvent(AndroidPlayer androidPlayer, int level, LivingEvent event) { if (event instanceof MOEventEnergyWeapon.Overheat && random.nextFloat() < COOLDOWN_CHANGE) { event.setCanceled(true); ((MOEventEnergyWeapon.Overheat) event).energyWeapon.setHeat(((MOEventEnergyWeapon.Overheat) event).weaponStack, 0); event.getEntity().world.playSound(null, event.getEntityLiving().posX, event.getEntityLiving().posY, event.getEntityLiving().posZ, MatterOverdriveSounds.weaponsOverheat, SoundCategory.PLAYERS, 1F, 1f); } }
@Override public void onLivingEvent(AndroidPlayer androidPlayer, int level, LivingEvent event) { if (event instanceof LivingEvent.LivingJumpEvent && isActive(androidPlayer, level)) { if (!MinecraftForge.EVENT_BUS.post(new MOEventBionicStat(this, level, androidPlayer))) { if (!androidPlayer.getPlayer().isSneaking()) { if (!event.getEntity().world.isRemote) { androidPlayer.extractEnergyScaled(ENERGY_PER_JUMP * level); } Vec3d motion = new Vec3d(event.getEntityLiving().motionX, event.getEntityLiving().motionY, event.getEntityLiving().motionZ); motion = motion.normalize().addVector(0, 1, 0).normalize(); event.getEntityLiving().addVelocity(motion.x * 0.25 * level, motion.y * 0.25 * level, motion.z * 0.25 * level); } } } }
int energyReqired = MathHelper.ceil(((LivingAttackEvent) event).getAmount() * ENERGY_PER_DAMAGE); if (isDamageValid(source) && event.isCancelable()) { if (source.getTrueSource() != null) { event.setCanceled(true);
@Override public void onLivingEvent(AndroidPlayer androidPlayer, int level, LivingEvent event) { if ((event instanceof LivingFallEvent || event instanceof PlayerFlyableFallEvent) && event.getEntityLiving().isSneaking() && this.equals(androidPlayer.getActiveStat())) { if (event instanceof LivingFallEvent) { createShockwave(androidPlayer, event.getEntityLiving(), ((LivingFallEvent) event).getDistance()); } else { createShockwave(androidPlayer, event.getEntityLiving(), ((PlayerFlyableFallEvent) event).getDistance()); } } }
@Override public void onLivingEvent(AndroidPlayer androidPlayer, int level, LivingEvent event) { if (event instanceof LivingAttackEvent) { DamageSource source = ((LivingAttackEvent) event).getSource(); if (!OverdriveBioticStats.shield.getShieldState(androidPlayer)) { if (OverdriveBioticStats.shield.isDamageValid(source) && event.isCancelable() && OverdriveBioticStats.shield.canActivate(androidPlayer)) { OverdriveBioticStats.shield.setShield(androidPlayer, true); } } } }
public void triggerEventOnStats(LivingEvent event) { if (event.getEntityLiving() instanceof EntityPlayer) { AndroidPlayer androidPlayer = MOPlayerCapabilityProvider.GetAndroidCapability(event.getEntityLiving()); if (androidPlayer.isAndroid()) { for (IBioticStat stat : MatterOverdrive.STAT_REGISTRY.getStats()) { int unlockedLevel = androidPlayer.getUnlockedLevel(stat); if (unlockedLevel > 0 && stat.isEnabled(androidPlayer, unlockedLevel)) { stat.onLivingEvent(androidPlayer, unlockedLevel, event); } } } } }