コード例 #1
0
 @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
 public void onDamageByEntity(EntityDamageByEntityEvent event) {
   if (event.getDamager() instanceof Player) {
     if (event.getEntity() instanceof Player) {
       ZoneManager manager = m_plugin.getZoneManager();
       if (manager.zoneExists(event.getDamager().getLocation())) {
         if (!manager.getZone(event.getDamager().getLocation()).canPVP()) {
           event.setCancelled(true);
         }
       } else {
         if (manager.zoneExists(event.getEntity().getLocation())) {
           if (!manager.getZone(event.getEntity().getLocation()).canPVP()) {
             event.setCancelled(true);
           }
         } else {
           event.setCancelled(true);
         }
       }
     }
   } else if (event.getDamager() instanceof Arrow) {
     if (event.getEntity() instanceof Player) {
       ZoneManager manager = m_plugin.getZoneManager();
       if (manager.zoneExists(event.getDamager().getLocation())) {
         if (!manager.getZone(event.getDamager().getLocation()).canPVP()) {
           event.setCancelled(true);
         }
       } else {
         if (manager.zoneExists(event.getEntity().getLocation())) {
           if (!manager.getZone(event.getEntity().getLocation()).canPVP()) {
             event.setCancelled(true);
           }
         } else {
           event.setCancelled(true);
         }
       }
     }
   }
 }