Refine search
@Override public boolean execute(CommandSender sender, String currentAlias, String[] args) { if (!testPermission(sender)) return true; if (sender instanceof Player) { Player player = (Player) sender; EntityDamageEvent ede = new EntityDamageEvent(player, EntityDamageEvent.DamageCause.SUICIDE, 1000); Bukkit.getPluginManager().callEvent(ede); if (ede.isCancelled()) return true; ede.getEntity().setLastDamageCause(ede); player.setHealth(0); sender.sendMessage("Ouch. That look like it hurt."); } else { sender.sendMessage("You can only perform this command as a player"); } return true; }
/** * Runs an EntityDamageEvent and updates {@link org.bukkit.entity.Entity#setLastDamageCause} and * (for a {@link LivingEntity} only) {@link LivingEntity#setLastDamage(double)}. * * @param event the event to run * @param <T> the event's type * @return the completed event */ public <T extends EntityDamageEvent> T onEntityDamage(T event) { T result = callEvent(event); if (!result.isCancelled()) { result.getEntity().setLastDamageCause(result); if (result.getEntity() instanceof LivingEntity) { ((LivingEntity) result.getEntity()).setLastDamage(result.getDamage()); } } return result; }
double oldRemaining = getDamage(DamageModifier.BASE); for (DamageModifier modifier : MODIFIERS) { if (!isApplicable(modifier)) { continue; double old = getDamage(modifier); if (old > 0) { setDamage(modifier, Math.max(0, old - difference)); } else { setDamage(modifier, Math.min(0, old - difference)); setDamage(DamageModifier.BASE, damage);
@EventHandler public void onPlayerFall(EntityDamageEvent e) { if (e.getEntity() instanceof Player) { if (e.getCause() == EntityDamageEvent.DamageCause.FALL) { Player player = (Player) e.getEntity(); if (fallMap.containsKey(player)) { e.setCancelled(true); fallMap.remove(player); } } } }
@EventHandler(priority=EventPriority.MONITOR) public void onDamage(EntityDamageEvent e) { if (e.getEntity() instanceof Player && !e.isCancelled()) { Player p = (Player) e.getEntity(); for (ItemStack armor: p.getInventory().getArmorContents()) { if (armor != null && SlimefunItem.getByItem(armor) != null) { if (SlimefunItem.getByItem(armor).isItem(SlimefunItems.ENDER_BOOTS) && Slimefun.hasUnlocked(p, SlimefunItems.ENDER_BOOTS, true)) { if (e instanceof EntityDamageByEntityEvent) { if (((EntityDamageByEntityEvent) e).getDamager() instanceof EnderPearl) e.setCancelled(true); if (e.getCause() == DamageCause.FALL) e.setCancelled(true); if (e.getCause() == DamageCause.FALL) { e.setCancelled(true); p.getWorld().playSound(p.getLocation(), Sound.ENTITY_ZOMBIE_BREAK_WOODEN_DOOR, 2F, 2F); p.setVelocity(new Vector(0.0, 0.7, 0.0)); for (Entity n: p.getNearbyEntities(4, 4, 4)) { n.setVelocity(n.getLocation().toVector().subtract(p.getLocation().toVector()).normalize().multiply(1.4)); if (p.getWorld().getPVP()) { EntityDamageByEntityEvent event = new EntityDamageByEntityEvent(p, n, DamageCause.ENTITY_ATTACK, e.getDamage() / 2); Bukkit.getPluginManager().callEvent(event); if (!event.isCancelled()) ((LivingEntity) n).damage(e.getDamage() / 2); if (e.getCause() == DamageCause.FALL) e.setCancelled(true);
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) public void onVisitorGetDamage(EntityDamageEvent e) { World world = e.getEntity().getWorld(); if (!(e.getEntity() instanceof Player) || !getIWM().inWorld(e.getEntity().getLocation()) || !getIWM().getIvSettings(world).contains(e.getCause().name()) || getIslands().userIsOnIsland(world, User.getInstance(e.getEntity()))) { return; e.setCancelled(true); Player p = (Player) e.getEntity(); if(e.getCause().equals(DamageCause.VOID)) { if (getIslands().getIslandAt(p.getLocation()).isPresent()) { p.setGameMode(GameMode.SPECTATOR); getIslands().getIslandAt(p.getLocation()).ifPresent(i -> new SafeSpotTeleport.Builder(getPlugin()).entity(p).island(i).build()); } else if (getIslands().hasIsland(p.getWorld(), p.getUniqueId())) { } else { e.setCancelled(false);
private PowerResult<Double> rescue(Player target, ItemStack stack, EntityDamageEvent event, boolean canceled) { if (!checkCooldown(this, target, cooldown, true, true)) return PowerResult.cd(); if (!getItem().consumeDurability(stack, cost)) return PowerResult.cost(); target.sendMessage(I18n.format("power.rescue.info")); DamageCause cause = event.getCause(); if (!canceled) { target.addPotionEffect(new PotionEffect(PotionEffectType.HEALTH_BOOST, 2, 255)); target.setHealth(healthTrigger + event.getDamage()); } else { event.setCancelled(true); } target.addPotionEffect(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, 200, 10), true); target.addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION, 400, 2), true); target.addPotionEffect(new PotionEffect(PotionEffectType.SATURATION, 400, 2), true); target.getWorld().playSound(target.getLocation(), Sound.BLOCK_ENCHANTMENT_TABLE_USE, 10, 1); if (inPlace && cause != DamageCause.DRAGON_BREATH && cause != DamageCause.DROWNING && cause != DamageCause.SUFFOCATION && cause != DamageCause.VOID) { target.addPotionEffect(new PotionEffect(PotionEffectType.GLOWING, 160, 10)); } else if (useBed && target.getBedSpawnLocation() != null) target.teleport(target.getBedSpawnLocation()); else target.teleport(target.getWorld().getSpawnLocation()); return PowerResult.ok(0.0); } }
@SuppressWarnings("deprecation") @EventHandler(priority = EventPriority.HIGH) public void onLastDamage(EntityDamageEvent event) { if (event.isCancelled() || !cancel) { return; if (event.getEntity() instanceof Player) { final Player player = (Player) event.getEntity(); final String playerID = PlayerConverter.getID(player); if (containsPlayer(playerID) && player.getHealth() - event.getFinalDamage() <= 0 && checkConditions(playerID)) { event.setCancelled(true); try { player.setHealth(player.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue()); } catch (LinkageError e) { player.setHealth(player.getMaxHealth());
@EventHandler(priority = EventPriority.HIGHEST) public void onRodLand(ProjectileHitEvent e){ if(player.getUniqueId().equals(rodder.getUniqueId())) return; if(player.getGameMode() == GameMode.CREATIVE) return; Bukkit.getPluginManager().callEvent(event); if(module().getBoolean("checkCancelled") && event.isCancelled()){ HandlerList hl = event.getHandlers();
return false; switch (entityDamageEvent.getCause()) { case FALL: McMMOPlayer mcMMOPlayer = EventUtils.getMcMMOPlayer(entityDamageEvent.getEntity()); Player player = (Player) ((EntityDamageEvent) event).getEntity(); if (canRoll(player)) { entityDamageEvent.setDamage(rollCheck(player, mcMMOPlayer, entityDamageEvent.getDamage())); if (entityDamageEvent.getFinalDamage() == 0) { entityDamageEvent.setCancelled(true); return true;
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) public void onPlayerDamage(final EntityDamageEvent event) { if (event.getEntity() instanceof Player) { final Player player = (Player) event.getEntity(); final BendingPlayer bPlayer = BendingPlayer.getBendingPlayer(player); if (bPlayer.hasElement(Element.EARTH) && event.getCause() == DamageCause.FALL) { if (bPlayer.getBoundAbilityName().equalsIgnoreCase("Shockwave")) { new Shockwave(player, true); if (bPlayer.hasElement(Element.AIR) && event.getCause() == DamageCause.FALL) { if (bPlayer.getBoundAbilityName().equalsIgnoreCase("AirBurst")) { new AirBurst(player, true); if (bPlayer.hasElement(Element.AIR) && event.getCause() == DamageCause.FALL && bPlayer.canBendPassive(CoreAbility.getAbility(GracefulDescent.class)) && bPlayer.canUsePassive(CoreAbility.getAbility(GracefulDescent.class)) && CoreAbility.getAbility(GracefulDescent.class).isEnabled() && PassiveManager.hasPassive(player, CoreAbility.getAbility(GracefulDescent.class))) { event.setDamage(0D); event.setCancelled(true); } else if (bPlayer.hasElement(Element.EARTH) && event.getCause() == DamageCause.FALL && bPlayer.canBendPassive(CoreAbility.getAbility(DensityShift.class)) && bPlayer.canUsePassive(CoreAbility.getAbility(DensityShift.class)) && CoreAbility.getAbility(DensityShift.class).isEnabled() && PassiveManager.hasPassive(player, CoreAbility.getAbility(DensityShift.class))) { if (DensityShift.softenLanding(player)) { event.setDamage(0D); event.setCancelled(true); } else if (bPlayer.hasElement(Element.WATER) && event.getCause() == DamageCause.FALL && bPlayer.canBendPassive(CoreAbility.getAbility(HydroSink.class)) && bPlayer.canUsePassive(CoreAbility.getAbility(HydroSink.class)) && CoreAbility.getAbility(HydroSink.class).isEnabled() && PassiveManager.hasPassive(player, CoreAbility.getAbility(HydroSink.class))) { if (HydroSink.applyNoFall(player)) { event.setDamage(0D); event.setCancelled(true); if (bPlayer.hasElement(Element.CHI) && event.getCause() == DamageCause.FALL && bPlayer.canBendPassive(CoreAbility.getAbility(Acrobatics.class)) && bPlayer.canUsePassive(CoreAbility.getAbility(Acrobatics.class)) && CoreAbility.getAbility(Acrobatics.class).isEnabled() && PassiveManager.hasPassive(player, CoreAbility.getAbility(Acrobatics.class))) { final double initdamage = event.getDamage(); final double newdamage = event.getDamage() * Acrobatics.getFallReductionFactor();
@EventHandler(priority=EventPriority.MONITOR) public void onDamageGet(EntityDamageEvent e) { if (!e.isCancelled()) { if (e instanceof EntityDamageByEntityEvent) { if (((EntityDamageByEntityEvent) e).getDamager() instanceof Player && SlimefunStartup.chance(100, 45)) { if (SlimefunManager.isItemSimiliar(((Player) ((EntityDamageByEntityEvent) e).getDamager()).getInventory().getItemInMainHand(), SlimefunItem.getItem("BLADE_OF_VAMPIRES"), true)) { ((Player) ((EntityDamageByEntityEvent) e).getDamager()).playSound(((EntityDamageByEntityEvent) e).getDamager().getLocation(), Sound.ENTITY_ARROW_HIT_PLAYER, 0.7F, 0.7F); ((Player) ((EntityDamageByEntityEvent) e).getDamager()).addPotionEffect(new PotionEffect(PotionEffectType.HEAL, 1, 1)); if (e.getEntity() instanceof Player) { if (!e.isCancelled()) { if (e.getCause() == DamageCause.LAVA) Talisman.checkFor(e, SlimefunItem.getByID("LAVA_TALISMAN")); if (e.getCause() == DamageCause.DROWNING) Talisman.checkFor(e, SlimefunItem.getByID("WATER_TALISMAN")); if (e.getCause() == DamageCause.FALL) Talisman.checkFor(e, SlimefunItem.getByID("ANGEL_TALISMAN")); if (e.getCause() == DamageCause.FIRE) Talisman.checkFor(e, SlimefunItem.getByID("FIRE_TALISMAN")); if (e.getCause() == DamageCause.ENTITY_ATTACK) Talisman.checkFor(e, SlimefunItem.getByID("WARRIOR_TALISMAN")); if (e.getCause() == DamageCause.ENTITY_ATTACK) Talisman.checkFor(e, SlimefunItem.getByID("KNIGHT_TALISMAN")); if (e.getCause() == DamageCause.PROJECTILE) { if (Talisman.checkFor(e, SlimefunItem.getByID("WHIRLWIND_TALISMAN"))) { if (((EntityDamageByEntityEvent) e).getDamager() instanceof Projectile) { Vector direction = ((Player) e.getEntity()).getEyeLocation().getDirection().multiply(2.0); Projectile projectile = (Projectile) e.getEntity().getWorld().spawnEntity(((LivingEntity) e.getEntity()).getEyeLocation().add(direction.getX(), direction.getY(), direction.getZ()), ((EntityDamageByEntityEvent) e).getDamager().getType()); projectile.setVelocity(direction); ((EntityDamageByEntityEvent) e).getDamager().remove();
@EventHandler(ignoreCancelled = true) public void onHologramDamage(EntityDamageEvent e) { if (e.getEntity() instanceof ArmorStand) { if (Hologram.isPartOfHologram((ArmorStand) e.getEntity())) { e.setCancelled(true); } } }
@EventHandler public void onDamage(EntityDamageEvent event) { if (event.isCancelled()) { return; } if (event.getEntity() instanceof Player) { Player player = (Player) event.getEntity(); if (hasGodMode(player)) { event.setCancelled(true); player.setFireTicks(0); } } }
@EventHandler(priority = EventPriority.MONITOR) public void onDamage(EntityDamageEvent evt) { if (evt.getEntity() instanceof Player) { UUID uuid = evt.getEntity().getUniqueId(); if (evt.getCause() == EntityDamageEvent.DamageCause.VOID) { causedVoid.add(uuid); } else { causedVoid.remove(uuid); } } }
@EventHandler (priority = EventPriority.HIGHEST) public static void onEntityDamage(EntityDamageEvent e){ Entity entity = e.getEntity(); if(!(entity instanceof LivingEntity)) return; LivingEntity le = (LivingEntity) entity; double armourDamageReduction = e.getDamage(EntityDamageEvent.DamageModifier.ARMOR); double armourPoints = le.getAttribute(Attribute.GENERIC_ARMOR).getValue(); double newReduction = armourPoints * 0.04 * - (e.getDamage() + e.getDamage(EntityDamageEvent.DamageModifier.BLOCKING)); //todo don't hardcode this value e.setDamage (EntityDamageEvent.DamageModifier.ARMOR, newReduction); INSTANCE.debug("Armour points: " + armourPoints + " Reduction: " + armourDamageReduction + " After: " + newReduction, le); }
private void checkFallDamageEvent(final Player player, final EntityDamageEvent event) { final IPlayerData pData = DataManager.getPlayerData(player); final MovingData data = pData.getGenericInstance(MovingData.class); if (player.isInsideVehicle()) { final PlayerMoveInfo moveInfo = aux.usePlayerMoveInfo(); final double yOnGround = Math.max(cc.noFallyOnGround, cc.yOnGround); final Location loc = player.getLocation(useLoc); moveInfo.set(player, loc, null, yOnGround); final PlayerLocation pLoc = moveInfo.from; pLoc.collectBlockFlags(yOnGround); if (event.isCancelled() || !MovingUtil.shouldCheckSurvivalFly(player, pLoc, data, cc, pData) || !noFall.isEnabled(player, pData)) { data.clearNoFallData(); float fallDistance = player.getFallDistance(); final float yDiff = (float) (data.noFallMaxY - loc.getY()); final double damage = BridgeHealth.getRawDamage(event); // Raw damage. if (dataDamage <= 0.0) { event.setCancelled(true); useLoc.setWorld(null); aux.returnPlayerMoveInfo(moveInfo);
@EventHandler(priority = EventPriority.LOW) public void onEntityDamage(EntityDamageEvent event) if (event.isCancelled()) if (victim != null && plugin.getSettingsManager().isBlacklistedWorld(victim.getLocation().getWorld().getName())) event.setCancelled(true); return; && attacker != null && victim != null) event.setCancelled(true); return; event.setCancelled(true); return; event.setCancelled(true); return; event.setCancelled(true); event.setCancelled(true); event.setCancelled(true);
@EventHandler public void onDamage(EntityDamageEvent dmg) { if (dmg.isCancelled()) { return; if (!(dmg.getEntity() instanceof Player)) { return; Player player = (Player) dmg.getEntity(); Game game = BedwarsRel.getInstance().getGameManager().getGameOfPlayer(player);
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) public void onEntityDamageEvent(final EntityDamageEvent event) { final Entity entity = event.getEntity(); if (event.getCause() == DamageCause.FIRE && BlazeArc.getIgnitedBlocks().containsKey(entity.getLocation().getBlock())) { new FireDamageTimer(entity, BlazeArc.getIgnitedBlocks().get(entity.getLocation().getBlock())); if (FireDamageTimer.isEnflamed(entity) && event.getCause() == DamageCause.FIRE_TICK) { event.setCancelled(true); FireDamageTimer.dealFlameDamage(entity); event.setDamage(DamageModifier.ARMOR, 0); if (event.getCause() == DamageCause.FIRE || event.getCause() == DamageCause.FIRE_TICK) { player.setFireTicks(0); event.setCancelled(true);