public void onEntityDamageByBlock(EntityDamageByBlockEvent event) {

    Entity defender = event.getEntity();
    DamageCause type = event.getCause();

    if (defender instanceof Player) {
      Player player = (Player) defender;

      GlobalConfiguration cfg = plugin.getGlobalConfiguration();
      WorldConfiguration wcfg = cfg.getWorldConfig(player.getWorld().getName());

      if (cfg.isInvinciblePlayer(player.getName())) {
        event.setCancelled(true);
        return;
      }

      if (wcfg.disableLavaDamage && type == DamageCause.LAVA) {
        event.setCancelled(true);
        return;
      }

      if (wcfg.disableContactDamage && type == DamageCause.CONTACT) {
        event.setCancelled(true);
        return;
      }
    }
  }
示例#2
0
 public NPCDamageByBlockEvent(final NPC npc, final EntityDamageByBlockEvent event) {
   super(npc, (EntityDamageEvent) event);
   this.damager = event.getDamager();
 }