Java Examples for org.bukkit.event.entity.ProjectileHitEvent

The following java examples will help you to understand the usage of org.bukkit.event.entity.ProjectileHitEvent. These source code samples are taken from different open source projects.

Example 1
Project: AceOfSpadesMiniGame-master  File: SnowballBlockDamageEvent.java View source code
@EventHandler
public void onSnowballDamage(ProjectileHitEvent e) {
    if (!(e.getEntity() instanceof Snowball))
        return;
    if (!StoringData.snowballsID.containsKey(e.getEntity().getEntityId()))
        return;
    // Apply potion effect
    // ..
    // Spawn the block beneath the hit entity's position
    // Have a play around with this until you get it how you want
    Location loc = null;
    loc = new Location(e.getEntity().getLocation().getWorld(), e.getEntity().getLocation().getX(), e.getEntity().getLocation().getY() - 1, e.getEntity().getLocation().getZ());
    if (loc.getBlock().getType() == Material.AIR) {
        loc = new Location(e.getEntity().getLocation().getWorld(), e.getEntity().getLocation().getX(), e.getEntity().getLocation().getY() + 1, e.getEntity().getLocation().getZ());
        loc.getWorld().createExplosion(loc, 0.5f, true);
    }
    Projectile shot = e.getEntity();
    if (CheckArea.SprawdzCzyWterenie(loc, "spawn") == false) {
        Block block = loc.getBlock();
        if (block.getType() != Material.AIR && block.getType() != Material.BEDROCK) {
            StoringData.listaStworzonychBlokow.add(block.getState());
            block.breakNaturally();
        } else {
            BlockIterator iterator = new BlockIterator(loc.getWorld(), loc.toVector(), shot.getVelocity().normalize(), 0, 3);
            while (iterator.hasNext()) {
                if (iterator.next().getType() != Material.AIR) {
                    block.breakNaturally();
                    StoringData.listaStworzonychBlokow.add(block.getState());
                    break;
                }
            }
        }
    }
    // Remove from list
    StoringData.snowballsID.remove((Integer) e.getEntity().getEntityId());
}
Example 2
Project: BloodMoon-master  File: FireArrowsListener.java View source code
@EventHandler(priority = EventPriority.NORMAL)
public void onProjectileHit(ProjectileHitEvent event) {
    Entity entity = event.getEntity();
    String worldName = entity.getWorld().getName();
    PluginConfig worldConfig = plugin.getConfig(worldName);
    if (entity instanceof Projectile && plugin.isActive(worldName) && plugin.isFeatureEnabled(worldName, Feature.FIRE_ARROWS) && worldConfig.getBoolean(Config.FEATURE_FIRE_ARROWS_IGNITE_TARGET)) {
        Projectile projectile = (Projectile) entity;
        LivingEntity shooter = projectile.getShooter();
        if (shooter != null && ((CraftEntity) shooter).getHandle() instanceof EntitySkeleton && projectile.getFireTicks() > 0) {
            Block block = projectile.getWorld().getBlockAt(projectile.getLocation());
            if (block.getType() == Material.AIR) {
                block.setType(Material.FIRE);
            }
        }
    }
}
Example 3
Project: Cosmetics-master  File: GadgetPaintballGun.java View source code
@EventHandler
public void onProjectileHit(ProjectileHitEvent event) {
    if (event.getEntity().getType() != EntityType.ENDER_PEARL)
        return;
    if (mapContainsProjectile(event.getEntity())) {
        removeProjectile(event.getEntity());
        Random r = new Random();
        byte b = (byte) r.nextInt(15);
        Location center = event.getEntity().getLocation().add(event.getEntity().getVelocity());
        for (Block block : BlockUtils.getBlocksInRadius(center.getBlock().getLocation(), radius, false)) {
            BlockUtils.setToRestore(block, Material.getMaterial((String) SettingsManager.getConfig().get("Gadgets." + getType().getConfigName() + ".Block-Type")), b, 20 * 3);
        }
        if (SettingsManager.getConfig().getBoolean("Gadgets." + getType().getConfigName() + ".Particle.Enabled")) {
            Particles effect = Particles.valueOf((SettingsManager.getConfig().getString("Gadgets." + getType().getConfigName() + ".Particle.Effect")).replace("_", ""));
            UtilParticles.display(effect, 2.5, 0.2f, 2.5f, center.clone().add(0.5f, 1.2f, 0.5F), 50);
        }
        event.getEntity().remove();
    }
}
Example 4
Project: Empirecraft-master  File: OnArrowHit.java View source code
@EventHandler
public void onArrowHit(ProjectileHitEvent event) {
    if (event.getEntityType().toString().equals("ARROW") && event.getEntity().getShooter() == null) {
        Entity e = event.getEntity();
        if (QuickChecks.isWorldChunkClaimed(serverdata.get("worldmap").get(e.getLocation().getWorld().getUID().toString()), e.getLocation().getChunk().getX(), e.getLocation().getChunk().getZ(), "str")) {
            if (Config.getString("Village Structures." + ((HashMap) ((HashMap) serverdata.get("worldmap").get(e.getLocation().getWorld().getUID().toString()).get(e.getLocation().getChunk().getX())).get(e.getLocation().getChunk().getZ())).get("str").toString() + ".Type").equals("Archer")) {
                Vector velocity = e.getVelocity();
                Location loc = e.getLocation().add(velocity.normalize());
                Vector temp = new Vector(0, abs(e.getFallDistance()) + 1, 0);
                Bukkit.getWorld(e.getLocation().getWorld().getUID()).spawnArrow(loc, velocity.subtract(temp), (float) (Config.getDouble("Village Structures." + ((HashMap) ((HashMap) serverdata.get("worldmap").get(e.getLocation().getWorld().getUID().toString()).get(e.getLocation().getChunk().getX())).get(e.getLocation().getChunk().getZ())).get("str").toString() + ".Arrow Speed")), 0);
                e.remove();
            }
        }
    }
}
Example 5
Project: ProjectAres-master  File: ProjectileTrailMatchModule.java View source code
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
public void onProjectileHit(ProjectileHitEvent event) {
    match.player(event.getActor()).ifPresent( shooter -> {
        final Projectile projectile = event.getEntity();
        projectile.removeMetadata(TRAIL_META, PGM.get());
        if (projectile instanceof Arrow) {
            final Arrow arrow = (Arrow) projectile;
            if (arrow.hasMetadata(CRITICAL_META)) {
                arrow.setCritical(arrow.getMetadata(CRITICAL_META, PGM.get()).asBoolean());
            }
        }
    });
}
Example 6
Project: Splatoon-master  File: projectileListener.java View source code
@EventHandler
public void onProjectileHit(ProjectileHitEvent event) {
    ProjectileInfo pInfo = Splatoon.projectileManager.getProjectileInfo(event.getEntity());
    if (pInfo == null) {
        return;
    }
    Projectile projectile = pInfo.getProjectile();
    Location hit = pInfo.getProjectile().getLocation();
    for (double i = 0.2D; i < 4.0D; i += 0.2D) {
        if (hit.getBlock().getTypeId() == 0) {
            hit = hit.add(projectile.getVelocity().normalize().multiply(i));
        }
    }
    pInfo.onHit(hit);
    pInfo.setDestroyNextTick(true);
    event.getEntity().remove();
}
Example 7
Project: Ablockalypse-master  File: ProjectileHit.java View source code
/* Called when a player throws an object.
     * Used for changing ender pearls to grenades for ZAPlayers. */
@EventHandler(priority = EventPriority.HIGHEST)
public void PHE(ProjectileHitEvent event) {
    Entity e = event.getEntity();
    if (e instanceof EnderPearl) {
        EnderPearl ep = (EnderPearl) e;
        Player p = (Player) ep.getShooter();
        if (data.isZAPlayer(p) && !data.isGrenade(e)) {
            Location loc = ep.getLocation();
            Location pLoc = p.getLocation();
            ZAPlayer zap = data.getZAPlayer(p);
            double xDiffForce = (loc.getX() - pLoc.getX()) / 20;
            double zDiffForce = (loc.getZ() - pLoc.getZ()) / 20;
            new Grenade(e, zap, 60, true, false, new Vector(xDiffForce, .1, zDiffForce));
        }
    } else if (e instanceof Arrow && ((Arrow) e).getShooter() instanceof Player) {
        Arrow a = (Arrow) e;
        Player p = (Player) a.getShooter();
        if (data.isZAPlayer(p)) {
            ZAPlayer zap = data.getZAPlayer(p);
            UUID uuid = a.getUniqueId();
            if (zap.hasInstaKill()) {
                EntityDamageByEntity.instakillids.add(uuid);
            }
            Location loc2 = e.getLocation();
            /* through-barrier damage */
            for (ZAMob zam : zap.getGame().getMobs()) {
                LivingEntity c = zam.getEntity();
                Location loc3 = c.getLocation();
                if (loc3.distanceSquared(loc2) <= 3) {
                    // within 1.5 blocks (2.25 approx 1.5 squared)
                    double dmg = 40;
                    EntityDamageByEntityEvent EDBE = new EntityDamageByEntityEvent(p, c, DamageCause.CUSTOM, dmg);
                    Bukkit.getPluginManager().callEvent(EDBE);
                    if (!EDBE.isCancelled()) {
                        ZAEffect.IRON_BREAK.play(loc3);
                        c.damage(EDBE.getDamage());
                    }
                    break;
                }
            }
        }
    }
}
Example 8
Project: BetonQuest-master  File: ArrowShootObjective.java View source code
@EventHandler
public void onArrowHit(ProjectileHitEvent event) {
    // check if it's the arrow shot by the player with active objectve
    final Projectile arrow = event.getEntity();
    if (arrow.getType() != EntityType.ARROW) {
        return;
    }
    if (!(arrow.getShooter() instanceof Player)) {
        return;
    }
    final Player player = (Player) arrow.getShooter();
    final String playerID = PlayerConverter.getID(player);
    if (!containsPlayer(playerID)) {
        return;
    }
    try {
        final Location location = loc.getLocation(playerID);
        // check if the arrow is in the right place in the next tick
        // wait one tick, let the arrow land completely
        new BukkitRunnable() {

            @Override
            public void run() {
                Location arrowLocation = arrow.getLocation();
                if (arrowLocation == null) {
                    return;
                }
                try {
                    double r = range.getDouble(playerID);
                    if (arrowLocation.getWorld().equals(location.getWorld()) && arrowLocation.distanceSquared(location) < r * r && checkConditions(playerID)) {
                        completeObjective(playerID);
                    }
                } catch (QuestRuntimeException e) {
                    Debug.error("Could not resolve range variable: " + e.getMessage());
                }
            }
        }.runTask(BetonQuest.getInstance());
    } catch (QuestRuntimeException e) {
        Debug.error("Error while handling '" + instruction.getID() + "' objective: " + e.getMessage());
    }
}
Example 9
Project: ce-master  File: CEListener.java View source code
// ENTITIES: org.bukkit.event.entity
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void antiArrowSpam(ProjectileHitEvent event) {
    // Destroys the Arrows of the Minigun
    if (event.getEntityType().equals(EntityType.ARROW)) {
        Arrow arrow = (Arrow) event.getEntity();
        ProjectileSource shooter = arrow.getShooter();
        if (shooter instanceof Player)
            if (arrow.hasMetadata("ce.minigunarrow"))
                if (((Player) shooter).getGameMode().equals(GameMode.CREATIVE))
                    arrow.remove();
    }
}
Example 10
Project: CraftZ-master  File: GrenadeModule.java View source code
@EventHandler(priority = EventPriority.HIGHEST)
public void onProjectileHit(ProjectileHitEvent event) {
    Projectile pr = event.getEntity();
    Location loc = pr.getLocation();
    if (isWorld(pr.getWorld())) {
        if (event.getEntityType() == EntityType.ENDER_PEARL) {
            if (!getConfig("config").getBoolean("Config.players.weapons.grenade-enable", true))
                return;
            pr.remove();
            pr.getWorld().createExplosion(loc, 0);
            double range = getConfig("config").getDouble("Config.players.weapons.grenade-range");
            double power = getConfig("config").getDouble("Config.players.weapons.grenade-power");
            List<Entity> nearby = pr.getNearbyEntities(range, range, range);
            for (Entity ent : nearby) {
                boolean allowPlayer = getConfig("config").getBoolean("Config.players.weapons.grenade-damage-players"), isPlayer = ent instanceof Player;
                boolean allowMobs = getConfig("config").getBoolean("Config.players.weapons.grenade-damage-mobs"), isLiving = ent instanceof LivingEntity;
                if (isLiving && (isPlayer ? allowPlayer : allowMobs)) {
                    // Player is also LivingEntity
                    LivingEntity lent = (LivingEntity) ent;
                    double d = 1.0 - loc.distance(lent.getLocation()) / range;
                    lent.damage(d * 4 * power + (d > 0.75 ? power : 0));
                }
            }
        }
    }
}
Example 11
Project: ibaby-master  File: iBabyListener.java View source code
@EventHandler
public void onProjectileHit(ProjectileHitEvent event) {
    if (event.getEntity() instanceof Fireball) {
        if (handleFireball(event.getEntity())) {
            EntityFireball fb = ((CraftFireball) event.getEntity()).getHandle();
            fb.isIncendiary = false;
            fb.yield = 0;
            //ByeBye
            fb.locY = 10000;
        }
    }
}
Example 12
Project: RacesAndClasses-master  File: AbstractArrow.java View source code
@Override
public boolean canBeTriggered(EventWrapper wrapper) {
    Event event = wrapper.getEvent();
    if (!(event instanceof PlayerInteractEvent || event instanceof EntityShootBowEvent || event instanceof ProjectileHitEvent || event instanceof EntityDamageByEntityEvent))
        return false;
    RaCPlayer player = wrapper.getPlayer();
    //Change ArrowType
    if (event instanceof PlayerInteractEvent) {
        PlayerInteractEvent Eevent = (PlayerInteractEvent) event;
        if (!(Eevent.getAction() == Action.LEFT_CLICK_AIR))
            return false;
        if (!isThisArrow(player))
            return false;
        if (!TraitHolderCombinder.checkContainer(player, this))
            return false;
        if (player.getPlayer().getItemInHand().getType() != Material.BOW)
            return false;
        return true;
    }
    //Projectile launch
    if (event instanceof EntityShootBowEvent) {
        EntityShootBowEvent Eevent = (EntityShootBowEvent) event;
        if (Eevent.getEntity().getType() != EntityType.PLAYER)
            return false;
        if (!TraitHolderCombinder.checkContainer(player, this))
            return false;
        if (!isThisArrow(player))
            return false;
        return true;
    }
    //Arrow Hit Location
    if (event instanceof ProjectileHitEvent) {
        ProjectileHitEvent Eevent = (ProjectileHitEvent) event;
        if (Eevent.getEntityType() != EntityType.ARROW)
            return false;
        final Projectile arrow = (Projectile) Eevent.getEntity();
        if (CompatibilityModifier.Shooter.getShooter(arrow) == null)
            return false;
        List<MetadataValue> metaValues = arrow.getMetadata(ARROW_META_KEY);
        if (arrow.getMetadata(ARROW_META_KEY).isEmpty())
            return false;
        boolean found = false;
        for (MetadataValue value : metaValues) {
            if (getDisplayName().equals(value.value())) {
                found = true;
                break;
            }
        }
        if (!found)
            return false;
        //Remove the meta to not leak them.
        //We have to schedule this 1 tick to future, since this event is called BEFORE the damage event in 1.8+.
        removeMetadataNextTick(arrow);
        LivingEntity shooter = CompatibilityModifier.Shooter.getShooter(arrow);
        if (shooter.getType() != EntityType.PLAYER)
            return false;
        RaCPlayer realPlayer = RaCPlayerManager.get().getPlayer((Player) shooter);
        if (!TraitHolderCombinder.checkContainer(realPlayer, this))
            return false;
        if (!isThisArrow(realPlayer))
            return false;
        return true;
    }
    //Arrow Hits target
    if (event instanceof EntityDamageByEntityEvent) {
        EntityDamageByEntityEvent Eevent = (EntityDamageByEntityEvent) event;
        if (Eevent.getDamager().getType() != EntityType.ARROW)
            return false;
        Arrow realArrow = (Arrow) Eevent.getDamager();
        LivingEntity shooter = CompatibilityModifier.Shooter.getShooter(realArrow);
        if (shooter == null || realArrow == null || realArrow.isDead())
            return false;
        if (shooter.getType() != EntityType.PLAYER)
            return false;
        if (Eevent.getEntity() == shooter && realArrow.getTicksLived() < 5)
            return false;
        if (!TraitHolderCombinder.checkContainer(player, this))
            return false;
        if (realArrow.getMetadata(ARROW_META_KEY).isEmpty())
            return false;
        List<MetadataValue> metaValues = realArrow.getMetadata(ARROW_META_KEY);
        boolean found = false;
        for (MetadataValue value : metaValues) {
            if (getDisplayName().equals(value.value())) {
                found = true;
                break;
            }
        }
        if (!found)
            return false;
        //Remove the meta to not leak them.
        realArrow.removeMetadata(ARROW_META_KEY, plugin);
        //you can not hit your allies.
        if (EnemyChecker.areAllies(realArrow, Eevent.getEntity()))
            return false;
        if (!isThisArrow(player))
            return false;
        return true;
    }
    return false;
}
Example 13
Project: Armageddon-master  File: ArmageddonEntityListener.java View source code
@EventHandler(priority = EventPriority.MONITOR)
public void onProjectileHit(ProjectileHitEvent event) {
    final Projectile projectile = (Projectile) event.getEntity();
    if (plugin.isGrenade(projectile)) {
        plugin.explodeGrenade(projectile);
    } else {
        // need to make sure we didn't hit an entity
        if (plugin.isBullet(projectile)) {
            plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {

                public void run() {
                    // second test will fail if projectile hit an entity
                    if (plugin.isBullet(projectile)) {
                        Block block = plugin.getBlockShotAt(projectile);
                        if (block != null) {
                            Material material = block.getType();
                            if (MaterialUtils.isHarvestablePlant(material) || (material.getData() != null && Attachable.class.isAssignableFrom(material.getData())) || material == Material.GLASS) {
                                BlockBreakEvent e = new BlockBreakEvent(block, (Player) projectile.getShooter());
                                plugin.getServer().getPluginManager().callEvent(e);
                                if (!e.isCancelled()) {
                                    BlockState state = block.getState();
                                    block.setType(Material.AIR);
                                    for (ItemStack stack : MaterialUtils.getDroppedMaterial(state)) {
                                        block.getWorld().dropItemNaturally(block.getLocation(), stack);
                                    }
                                }
                            }
                        }
                        plugin.removeBullet(projectile);
                    }
                }
            }, 1);
        }
    }
}
Example 14
Project: CrystalQuest-master  File: Ability.java View source code
@EventHandler
public void onArrowHit(ProjectileHitEvent e) {
    if (!(e.getEntity() instanceof Arrow)) {
        return;
    }
    Arrow a = (Arrow) e.getEntity();
    if (!(a.getShooter() instanceof Player)) {
        return;
    }
    Player p = (Player) a.getShooter();
    if (!plugin.getArenaManager().isInGame(p)) {
        return;
    }
    if (!plugin.ab.getAbilities().containsKey(p.getUniqueId())) {
        return;
    }
    if (!plugin.ab.getAbilities().get(p.getUniqueId()).contains("explosive_arrows")) {
        return;
    }
    World w = e.getEntity().getWorld();
    Location loc = e.getEntity().getLocation();
    if (!plugin.prot.isInProtectedArena(loc)) {
        return;
    }
    w.createExplosion(loc.getX(), loc.getY(), loc.getZ(), 1.6F, false, false);
    a.remove();
}
Example 15
Project: Denizen-For-Bukkit-master  File: ProjectileHitsScriptEvent.java View source code
@EventHandler
public void onProjectileHits(ProjectileHitEvent event) {
    projectile = new dEntity(event.getEntity());
    if (projectile.getLocation() == null) {
        // No, I can't explain how or why this would ever happen... nonetheless, it appears it does happen sometimes.
        return;
    }
    if (Double.isNaN(projectile.getLocation().getDirection().normalize().getX())) {
        // I can't explain this one either. It also chooses to happen whenever it pleases.
        return;
    }
    Block block = null;
    try {
        BlockIterator bi = new BlockIterator(projectile.getLocation().getWorld(), projectile.getLocation().toVector(), projectile.getLocation().getDirection().normalize(), 0, 4);
        while (bi.hasNext()) {
            block = bi.next();
            if (block.getTypeId() != 0) {
                break;
            }
        }
    } catch (IllegalStateException ex) {
        return;
    }
    if (block == null) {
        return;
    }
    material = dMaterial.getMaterialFrom(block.getType(), block.getData());
    shooter = projectile.getShooter();
    location = new dLocation(block.getLocation());
    this.event = event;
    fire();
}
Example 16
Project: EpicSpleef-master  File: ProjectileHitListener.java View source code
@EventHandler
public void onProjectileHit(ProjectileHitEvent event) {
    Player shooter = null;
    Projectile projectile = event.getEntity();
    if (projectile.getShooter() instanceof Player) {
        shooter = (Player) projectile.getShooter();
    }
    if (shooter == null) {
        return;
    }
    SpleefArena arena = PlayerManager.getArena(shooter.getUniqueId());
    if (arena == null) {
        return;
    }
    if (projectile.hasMetadata("EpicSpleef:Grenade")) {
        for (Block block : getSphere(getHittenBlock(projectile).getLocation(), 3)) {
            remove(arena, block, shooter);
        }
        event.getEntity().remove();
        return;
    }
    Block hittenBlock = getHittenBlock(projectile);
    remove(arena, hittenBlock, shooter);
    // remove the entity	
    event.getEntity().remove();
}
Example 17
Project: MagicSpells-master  File: ProjectileSpell.java View source code
@EventHandler
public void onProjectileHit(ProjectileHitEvent event) {
    final Projectile projectile = (Projectile) event.getEntity();
    ProjectileInfo info = projectiles.get(projectile);
    if (info != null) {
        projectileHitLocation(projectile, info);
        // remove it from world
        if (removeProjectile) {
            projectile.remove();
        }
        // remove it at end of tick
        Bukkit.getScheduler().scheduleSyncDelayedTask(MagicSpells.plugin, new Runnable() {

            public void run() {
                projectiles.remove(projectile);
            }
        }, 0);
        if (info.monitor != null) {
            info.monitor.stop();
        }
    }
}
Example 18
Project: xEssentials-master  File: RealisticGlassEvent.java View source code
@EventHandler
public void projectiles(ProjectileHitEvent e) {
    if (e.getEntity() instanceof Arrow) {
        Arrow arrow = (Arrow) e.getEntity();
        if (arrow.getShooter() instanceof Player) {
            if (hasAttachedGlass(arrow.getLocation().getBlock())) {
                storeGlasses(arrow.getLocation().getBlock());
                arrow.remove();
                destroyRandomGlasses();
            }
        }
    }
}
Example 19
Project: BukkitBridge-master  File: EntityListener.java View source code
@EventHandler
public void onProjectileHit(ProjectileHitEvent event) {
    if (event instanceof PotionSplashEvent) {
        onPotionSplash((PotionSplashEvent) event);
        return;
    }
    BridgeEntity entity = EntityFactory.createEntity(event.getEntity());
    org.bukkit.event.entity.ProjectileHitEvent bukkitEvent = new org.bukkit.event.entity.ProjectileHitEvent((Projectile) entity);
    Bukkit.getPluginManager().callEvent(bukkitEvent);
}
Example 20
Project: SwornGuns-master  File: EntityListener.java View source code
@EventHandler(priority = EventPriority.MONITOR)
public void onProjectileHit(ProjectileHitEvent event) {
    Projectile proj = event.getEntity();
    Bullet bullet = plugin.getBullet(proj);
    if (bullet != null) {
        // Attempt to determine which Entity (if any) we hit.
        // This is necessary because while the ProjectileHitEvent fires reliably,
        // the EntityDamageByEntityEvent only fires once per round / bullet.
        // This seems to work well enough, although I hope to find a better solution.
        Damageable hurt = null;
        double hurtDistance = -1.0D;
        Location loc = proj.getLocation();
        Location nLoc = new Location(null, 0, 0, 0);
        double radius = 2.0D;
        List<Entity> nearbyEntities = proj.getNearbyEntities(radius, radius, radius);
        for (Entity nearby : nearbyEntities) {
            if (nearby instanceof Damageable) {
                if (nearby.equals(bullet.getShooter().getPlayer()))
                    // Don't shoot ourselves
                    continue;
                nearby.getLocation(nLoc);
                // Exact match
                if (Util.coordsEqual(loc, nLoc)) {
                    hurt = (Damageable) nearby;
                    break;
                }
                // Find the closest entity
                double distance = nLoc.distanceSquared(loc);
                if (hurt == null || distance < hurtDistance) {
                    hurt = (Damageable) nearby;
                    hurtDistance = distance;
                }
            }
        }
        if (hurt != null) {
            // Call the damage event, which will be handled below
            // Note: This is the same code from the EntityDamageByEntityEvent constructor, just non-deprecated
            EntityDamageByEntityEvent damageEvent = new EntityDamageByEntityEvent(proj, hurt, DamageCause.PROJECTILE, new EnumMap<DamageModifier, Double>(ImmutableMap.of(DamageModifier.BASE, 0.0D)), new EnumMap<DamageModifier, Function<? super Double, Double>>(ImmutableMap.of(DamageModifier.BASE, Functions.constant(-0.0))));
            plugin.getServer().getPluginManager().callEvent(damageEvent);
        }
        bullet.onHit();
        bullet.setDestroyNextTick(true);
        // ---- Effects
        Block block = loc.getBlock();
        Material mat = block.getType();
        // Try to get a non-AIR block
        // TODO Maybe use a BlockIterator?
        double i = 0.2D;
        while (mat == Material.AIR && i < 4.0D) {
            block = block.getLocation().add(proj.getVelocity().normalize().multiply(i)).getBlock();
            mat = block.getType();
            i += 0.2D;
        }
        if (mat != Material.AIR) {
            block.getLocation().getWorld().playEffect(block.getLocation(), Effect.STEP_SOUND, mat);
        }
        // Make sure they aren't in an arena
        if (plugin.isUltimateArenaEnabled()) {
            if (plugin.getUltimateArenaHandler().isInArena(bullet.getShooter().getPlayer()))
                return;
        }
        // Check with Factions too
        if (plugin.isSwornNationsEnabled()) {
            if (!plugin.getSwornNationsHandler().checkFactions(block.getLocation(), true))
                return;
        }
        // Block cracking
        if (blockCrack && mat == Material.STONE) {
            BlockBreakEvent blockBreak = new BlockBreakEvent(block, bullet.getShooter().getPlayer());
            plugin.getServer().getPluginManager().callEvent(blockBreak);
            if (!blockBreak.isCancelled())
                block.setType(Material.COBBLESTONE);
        }
        // Block shattering
        if (blockShatter && shatterBlocks.contains(mat)) {
            BlockBreakEvent blockBreak = new BlockBreakEvent(block, bullet.getShooter().getPlayer());
            plugin.getServer().getPluginManager().callEvent(blockBreak);
            if (!blockBreak.isCancelled())
                block.breakNaturally();
        }
    }
}
Example 21
Project: RPG-Items-2-master  File: Events.java View source code
@EventHandler
public void onProjectileHit(ProjectileHitEvent e) {
    final Entity entity = e.getEntity();
    if (removeArrows.contains(entity.getEntityId())) {
        entity.remove();
        removeArrows.remove(entity.getEntityId());
    } else if (rpgProjectiles.contains(entity.getEntityId())) {
        RPGItem item = ItemManager.getItemById(rpgProjectiles.get(entity.getEntityId()));
        new BukkitRunnable() {

            public void run() {
                rpgProjectiles.remove(entity.getEntityId());
            }
        }.runTask(Plugin.plugin);
        if (item == null)
            return;
        item.projectileHit((Player) ((Projectile) entity).getShooter(), (Projectile) entity);
    }
}
Example 22
Project: RPG-Items-master  File: Events.java View source code
@EventHandler
public void onProjectileHit(ProjectileHitEvent e) {
    final Entity entity = e.getEntity();
    if (removeArrows.contains(entity.getEntityId())) {
        entity.remove();
        removeArrows.remove(entity.getEntityId());
    } else if (rpgProjectiles.contains(entity.getEntityId())) {
        RPGItem item = ItemManager.getItemById(rpgProjectiles.get(entity.getEntityId()));
        new BukkitRunnable() {

            public void run() {
                rpgProjectiles.remove(entity.getEntityId());
            }
        }.runTask(Plugin.plugin);
        if (item == null)
            return;
        item.projectileHit((Player) ((Projectile) entity).getShooter(), (Projectile) entity);
    }
}
Example 23
Project: NucleusFramework-master  File: BukkitEventForwarder.java View source code
public static void init() {
    if (_isInitialized)
        return;
    _isInitialized = true;
    new RegistrationHelper().reg(/* Block events */
    BlockBreakEvent.class).reg(BlockBurnEvent.class).reg(BlockCanBuildEvent.class).reg(BlockDamageEvent.class).reg(BlockDispenseEvent.class).reg(BlockExpEvent.class).reg(BlockFadeEvent.class).reg(BlockFormEvent.class).reg(BlockFromToEvent.class).reg(BlockGrowEvent.class).reg(BlockIgniteEvent.class).reg(BlockMultiPlaceEvent.class).reg(BlockPhysicsEvent.class).reg(BlockPistonExtendEvent.class).reg(BlockPistonRetractEvent.class).reg(BlockPlaceEvent.class).reg(BlockRedstoneEvent.class).reg(BlockSpreadEvent.class).reg(EntityBlockFormEvent.class).reg(LeavesDecayEvent.class).reg(NotePlayEvent.class).reg(SignChangeEvent.class).reg(/* Enchantment events */
    EnchantItemEvent.class).reg(PrepareItemEnchantEvent.class).reg(/* Entity events*/
    CreatureSpawnEvent.class).reg(CreeperPowerEvent.class).reg(EntityBreakDoorEvent.class).reg(EntityChangeBlockEvent.class).reg(EntityCombustByBlockEvent.class).reg(EntityCombustByEntityEvent.class).reg(EntityCombustEvent.class).reg(EntityCreatePortalEvent.class).reg(EntityDamageByBlockEvent.class).reg(EntityDamageByEntityEvent.class).reg(EntityDamageEvent.class).reg(EntityDeathEvent.class).reg(EntityExplodeEvent.class).reg(EntityInteractEvent.class).reg(EntityPortalEnterEvent.class).reg(EntityPortalEvent.class).reg(EntityPortalExitEvent.class).reg(EntityRegainHealthEvent.class).reg(EntityShootBowEvent.class).reg(EntityTameEvent.class).reg(EntityTargetEvent.class).reg(EntityTargetLivingEntityEvent.class).reg(EntityTeleportEvent.class).reg(EntityUnleashEvent.class).reg(ExpBottleEvent.class).reg(ExplosionPrimeEvent.class).reg(FoodLevelChangeEvent.class).reg(HorseJumpEvent.class).reg(ItemDespawnEvent.class).reg(ItemSpawnEvent.class).reg(PigZapEvent.class).reg(PlayerDeathEvent.class).reg(PlayerLeashEntityEvent.class).reg(PotionSplashEvent.class).reg(ProjectileHitEvent.class).reg(ProjectileLaunchEvent.class).reg(SheepDyeWoolEvent.class).reg(SlimeSplitEvent.class).reg(/* Hanging events*/
    HangingBreakByEntityEvent.class).reg(HangingBreakEvent.class).reg(HangingPlaceEvent.class).reg(/* Inventory events */
    BrewEvent.class).reg(CraftItemEvent.class).reg(FurnaceBurnEvent.class).reg(FurnaceExtractEvent.class).reg(FurnaceSmeltEvent.class).reg(InventoryClickEvent.class).reg(InventoryCloseEvent.class).reg(InventoryCreativeEvent.class).reg(InventoryDragEvent.class).reg(InventoryInteractEvent.class).reg(InventoryMoveItemEvent.class).reg(InventoryOpenEvent.class).reg(InventoryPickupItemEvent.class).reg(PrepareItemCraftEvent.class).reg(/* Player events*/
    PlayerAnimationEvent.class).reg(PlayerBedEnterEvent.class).reg(PlayerBedLeaveEvent.class).reg(PlayerBucketEmptyEvent.class).reg(PlayerBucketFillEvent.class).reg(PlayerChangedWorldEvent.class).reg(PlayerChatTabCompleteEvent.class).reg(PlayerCommandPreprocessEvent.class).reg(PlayerDropItemEvent.class).reg(PlayerEditBookEvent.class).reg(PlayerEggThrowEvent.class).reg(PlayerExpChangeEvent.class).reg(PlayerFishEvent.class).reg(PlayerGameModeChangeEvent.class).reg(PlayerInteractEntityEvent.class).reg(PlayerInteractEvent.class).reg(PlayerItemBreakEvent.class).reg(PlayerItemConsumeEvent.class).reg(PlayerItemHeldEvent.class).reg(PlayerJoinEvent.class).reg(PlayerKickEvent.class).reg(PlayerLevelChangeEvent.class).reg(PlayerLoginEvent.class).reg(PlayerMoveEvent.class).reg(PlayerPickupItemEvent.class).reg(PlayerPortalEvent.class).reg(PlayerQuitEvent.class).reg(PlayerRegisterChannelEvent.class).reg(PlayerRespawnEvent.class).reg(PlayerShearEntityEvent.class).reg(PlayerStatisticIncrementEvent.class).reg(PlayerTeleportEvent.class).reg(PlayerToggleFlightEvent.class).reg(PlayerToggleSneakEvent.class).reg(PlayerToggleSprintEvent.class).reg(PlayerUnleashEntityEvent.class).reg(PlayerUnregisterChannelEvent.class).reg(PlayerVelocityEvent.class).reg(/* Vehicle events */
    VehicleCreateEvent.class).reg(VehicleDamageEvent.class).reg(VehicleDestroyEvent.class).reg(VehicleEnterEvent.class).reg(VehicleEntityCollisionEvent.class).reg(VehicleExitEvent.class).reg(VehicleMoveEvent.class).reg(VehicleUpdateEvent.class).reg(/* Weather events */
    LightningStrikeEvent.class).reg(ThunderChangeEvent.class).reg(WeatherChangeEvent.class).reg(/* World events */
    ChunkLoadEvent.class).reg(ChunkPopulateEvent.class).reg(ChunkUnloadEvent.class).reg(PortalCreateEvent.class).reg(SpawnChangeEvent.class).reg(StructureGrowEvent.class).reg(WorldInitEvent.class).reg(WorldLoadEvent.class).reg(WorldSaveEvent.class).reg(WorldUnloadEvent.class);
}
Example 24
Project: TDM-master  File: WarEntityListener.java View source code
@EventHandler
public void onProjectileHit(final ProjectileHitEvent event) {
    if (!War.war.isLoaded()) {
        return;
    }
    if (event.getEntityType() == EntityType.EGG) {
        if (event.getEntity().hasMetadata("warAirstrike")) {
            Location loc = event.getEntity().getLocation();
            Warzone zone = Warzone.getZoneByLocation(loc);
            if (zone == null) {
                return;
            }
            Location tntPlace = new Location(loc.getWorld(), loc.getX(), Warzone.getZoneByLocation(loc).getVolume().getMaxY(), loc.getZ());
            loc.getWorld().spawnEntity(tntPlace, EntityType.PRIMED_TNT);
            loc.getWorld().spawnEntity(tntPlace.clone().add(new Vector(2, 0, 0)), EntityType.PRIMED_TNT);
            loc.getWorld().spawnEntity(tntPlace.clone().add(new Vector(-2, 0, 0)), EntityType.PRIMED_TNT);
            loc.getWorld().spawnEntity(tntPlace.clone().add(new Vector(0, 0, 2)), EntityType.PRIMED_TNT);
            loc.getWorld().spawnEntity(tntPlace.clone().add(new Vector(0, 0, -2)), EntityType.PRIMED_TNT);
        }
    }
}
Example 25
Project: war-master  File: WarEntityListener.java View source code
@EventHandler
public void onProjectileHit(final ProjectileHitEvent event) {
    if (!War.war.isLoaded()) {
        return;
    }
    if (event.getEntityType() == EntityType.EGG) {
        if (event.getEntity().hasMetadata("warAirstrike")) {
            Location loc = event.getEntity().getLocation();
            Warzone zone = Warzone.getZoneByLocation(loc);
            if (zone == null) {
                return;
            }
            Location tntPlace = new Location(loc.getWorld(), loc.getX(), Warzone.getZoneByLocation(loc).getVolume().getMaxY(), loc.getZ());
            loc.getWorld().spawnEntity(tntPlace, EntityType.PRIMED_TNT);
            loc.getWorld().spawnEntity(tntPlace.clone().add(new Vector(2, 0, 0)), EntityType.PRIMED_TNT);
            loc.getWorld().spawnEntity(tntPlace.clone().add(new Vector(-2, 0, 0)), EntityType.PRIMED_TNT);
            loc.getWorld().spawnEntity(tntPlace.clone().add(new Vector(0, 0, 2)), EntityType.PRIMED_TNT);
            loc.getWorld().spawnEntity(tntPlace.clone().add(new Vector(0, 0, -2)), EntityType.PRIMED_TNT);
        }
    }
}
Example 26
Project: UltraLogger-master  File: PluginLogger.java View source code
public void printListener() {
    //BLOCK EVENT
    RegisteredListener[] listeners = BlockBreakEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "block breack", i.getPriority());
    }
    listeners = BlockBurnEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "block burn", i.getPriority());
    }
    listeners = BlockCanBuildEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "block can build", i.getPriority());
    }
    listeners = BlockDamageEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "block damage", i.getPriority());
    }
    listeners = BlockDispenseEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "block dispense", i.getPriority());
    }
    listeners = BlockFadeEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "block fade", i.getPriority());
    }
    listeners = BlockFormEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "block form", i.getPriority());
    }
    listeners = BlockFromToEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "block from to", i.getPriority());
    }
    listeners = BlockGrowEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "block grow", i.getPriority());
    }
    listeners = BlockIgniteEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "block ignite", i.getPriority());
    }
    listeners = BlockPhysicsEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "block physics", i.getPriority());
    }
    listeners = BlockPistonExtendEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "piston extend", i.getPriority());
    }
    listeners = BlockPistonRetractEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "piston retract", i.getPriority());
    }
    listeners = BlockPlaceEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "block place", i.getPriority());
    }
    listeners = BlockRedstoneEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "block redstone", i.getPriority());
    }
    listeners = BlockSpreadEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "block spread", i.getPriority());
    }
    listeners = EntityBlockFormEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "entity block form", i.getPriority());
    }
    listeners = LeavesDecayEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "leaves decay", i.getPriority());
    }
    listeners = NotePlayEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "note play", i.getPriority());
    }
    listeners = SignChangeEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "sign change", i.getPriority());
    }
    //ENCHANTMENT EVENTS
    listeners = EnchantItemEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "enchant item", i.getPriority());
    }
    listeners = PrepareItemEnchantEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "prepare item enchant", i.getPriority());
    }
    //ENTITY EVENTS
    listeners = CreatureSpawnEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "creature spawn", i.getPriority());
    }
    listeners = CreeperPowerEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "creeper power", i.getPriority());
    }
    listeners = EntityBreakDoorEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "entity break door", i.getPriority());
    }
    listeners = EntityChangeBlockEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "entity change block", i.getPriority());
    }
    listeners = EntityCombustEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "entity combust", i.getPriority());
    }
    listeners = EntityCreatePortalEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "entity create portal", i.getPriority());
    }
    listeners = EntityDamageEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "entity damage", i.getPriority());
    }
    listeners = EntityDeathEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "entity death", i.getPriority());
    }
    listeners = EntityExplodeEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "entity explode", i.getPriority());
    }
    listeners = EntityInteractEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "entity interact", i.getPriority());
    }
    listeners = EntityPortalEnterEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "entity portal enter", i.getPriority());
    }
    listeners = EntityRegainHealthEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "entity regain health", i.getPriority());
    }
    listeners = EntityShootBowEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "entity shoot bow", i.getPriority());
    }
    listeners = EntityTameEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "entity tame", i.getPriority());
    }
    listeners = EntityTargetEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "entity target", i.getPriority());
    }
    listeners = EntityTargetLivingEntityEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "entity target living entity", i.getPriority());
    }
    listeners = EntityTeleportEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "entity teleport", i.getPriority());
    }
    listeners = ExpBottleEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "exp bottle", i.getPriority());
    }
    listeners = ExplosionPrimeEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "explosion prime", i.getPriority());
    }
    listeners = FoodLevelChangeEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "food level change", i.getPriority());
    }
    listeners = ItemDespawnEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "item despawn", i.getPriority());
    }
    listeners = ItemSpawnEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "item spawn", i.getPriority());
    }
    listeners = PigZapEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "pig zap", i.getPriority());
    }
    listeners = PlayerDeathEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player death", i.getPriority());
    }
    listeners = PotionSplashEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "potion slash", i.getPriority());
    }
    listeners = ProjectileHitEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "projectile hit", i.getPriority());
    }
    listeners = ProjectileLaunchEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "projectile launch", i.getPriority());
    }
    listeners = SheepDyeWoolEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "sheep dye wool", i.getPriority());
    }
    listeners = SheepRegrowWoolEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "sheep regrow wool", i.getPriority());
    }
    listeners = SlimeSplitEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "slime split", i.getPriority());
    }
    //INVENTORY EVENTS
    listeners = BrewEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "brew", i.getPriority());
    }
    listeners = CraftItemEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "craft item", i.getPriority());
    }
    listeners = FurnaceBurnEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "furnace burn", i.getPriority());
    }
    listeners = FurnaceSmeltEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "furnace smelt", i.getPriority());
    }
    listeners = InventoryClickEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "inventory click", i.getPriority());
    }
    listeners = InventoryCloseEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "inventory close", i.getPriority());
    }
    listeners = InventoryOpenEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "inventory open", i.getPriority());
    }
    listeners = PrepareItemCraftEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "prepare item craft", i.getPriority());
    }
    //PLAYER EVENTS
    listeners = AsyncPlayerChatEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player chat", i.getPriority());
    }
    listeners = AsyncPlayerPreLoginEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player pre login", i.getPriority());
    }
    listeners = PlayerAnimationEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player animation", i.getPriority());
    }
    listeners = PlayerBedEnterEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player bed enter", i.getPriority());
    }
    listeners = PlayerBedLeaveEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player bed leave", i.getPriority());
    }
    listeners = PlayerBucketEmptyEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player bucket empty", i.getPriority());
    }
    listeners = PlayerBucketFillEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player bucket fill", i.getPriority());
    }
    listeners = PlayerChangedWorldEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player change world", i.getPriority());
    }
    listeners = PlayerCommandPreprocessEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player command preprocess", i.getPriority());
    }
    listeners = PlayerDropItemEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player drop item", i.getPriority());
    }
    listeners = PlayerEggThrowEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player egg throw", i.getPriority());
    }
    listeners = PlayerExpChangeEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player exp change", i.getPriority());
    }
    listeners = PlayerFishEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player fish", i.getPriority());
    }
    listeners = PlayerGameModeChangeEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player gamemode change", i.getPriority());
    }
    listeners = PlayerInteractEntityEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player interact entity", i.getPriority());
    }
    listeners = PlayerInteractEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player interact", i.getPriority());
    }
    listeners = PlayerItemBreakEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player item break", i.getPriority());
    }
    listeners = PlayerItemHeldEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player item held", i.getPriority());
    }
    listeners = PlayerJoinEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player join", i.getPriority());
    }
    listeners = PlayerKickEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player kick", i.getPriority());
    }
    listeners = PlayerLevelChangeEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player level change", i.getPriority());
    }
    listeners = PlayerLoginEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player login", i.getPriority());
    }
    listeners = PlayerMoveEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player move", i.getPriority());
    }
    listeners = PlayerPickupItemEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player pickup item", i.getPriority());
    }
    listeners = PlayerPortalEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player portal", i.getPriority());
    }
    listeners = PlayerQuitEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player quit", i.getPriority());
    }
    listeners = PlayerRegisterChannelEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player register channel", i.getPriority());
    }
    listeners = PlayerRespawnEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player respawn", i.getPriority());
    }
    listeners = PlayerShearEntityEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player shear", i.getPriority());
    }
    listeners = PlayerTeleportEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player teleport", i.getPriority());
    }
    listeners = PlayerToggleFlightEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player toggle flight", i.getPriority());
    }
    listeners = PlayerToggleSneakEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player toggle sneak", i.getPriority());
    }
    listeners = PlayerToggleSprintEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player toggle sprint", i.getPriority());
    }
    listeners = PlayerUnregisterChannelEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player unregister channel", i.getPriority());
    }
    listeners = PlayerVelocityEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "player velocity", i.getPriority());
    }
    //SERVER EVENTS
    listeners = MapInitializeEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "map initialize", i.getPriority());
    }
    listeners = PluginDisableEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "plguin disable", i.getPriority());
    }
    listeners = PluginEnableEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "plugin enable", i.getPriority());
    }
    listeners = RemoteServerCommandEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "remote server command", i.getPriority());
    }
    listeners = ServerCommandEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "server command", i.getPriority());
    }
    listeners = ServerListPingEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "server list ping", i.getPriority());
    }
    listeners = ServiceRegisterEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "service register", i.getPriority());
    }
    listeners = ServiceUnregisterEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "service unregister", i.getPriority());
    }
    //VEHICLE EVENTS
    listeners = VehicleBlockCollisionEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "vehicle block collision", i.getPriority());
    }
    listeners = VehicleCreateEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "vehicle create", i.getPriority());
    }
    listeners = VehicleDamageEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "vehicle damage", i.getPriority());
    }
    listeners = VehicleDestroyEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "vehicle destroy", i.getPriority());
    }
    listeners = VehicleEnterEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "vehcile enter", i.getPriority());
    }
    listeners = VehicleEntityCollisionEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "vehicle entity collision", i.getPriority());
    }
    listeners = VehicleExitEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "vehicle collision", i.getPriority());
    }
    listeners = VehicleMoveEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "vehicle move", i.getPriority());
    }
    listeners = VehicleUpdateEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "vehcile update", i.getPriority());
    }
    //WEATHER EVENTS
    listeners = LightningStrikeEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "lightning strike", i.getPriority());
    }
    listeners = ThunderChangeEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "thunder change", i.getPriority());
    }
    listeners = WeatherChangeEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "weather change", i.getPriority());
    }
    //WORLD EVENTS
    listeners = ChunkLoadEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "chunk load", i.getPriority());
    }
    listeners = ChunkPopulateEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "chunk populate", i.getPriority());
    }
    listeners = ChunkUnloadEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "chunk unload", i.getPriority());
    }
    listeners = PortalCreateEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "portal create", i.getPriority());
    }
    listeners = SpawnChangeEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "spawn change", i.getPriority());
    }
    listeners = StructureGrowEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "structure grow", i.getPriority());
    }
    listeners = WorldInitEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "world init", i.getPriority());
    }
    listeners = WorldLoadEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "world load", i.getPriority());
    }
    listeners = WorldSaveEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "world save", i.getPriority());
    }
    listeners = WorldUnloadEvent.getHandlerList().getRegisteredListeners();
    for (int x = 0; x < listeners.length; x++) {
        RegisteredListener i = listeners[x];
        if (i.getPlugin() == plugin) {
            continue;
        }
        log(i.getPlugin(), "world unload", i.getPriority());
    }
}
Example 27
Project: PlotSquared-master  File: PlayerEvents.java View source code
@EventHandler
public boolean onProjectileHit(ProjectileHitEvent event) {
    Projectile entity = event.getEntity();
    Location loc = BukkitUtil.getLocation(entity);
    if (!PS.get().hasPlotArea(loc.getWorld())) {
        return true;
    }
    PlotArea area = loc.getPlotArea();
    if (area == null) {
        return true;
    }
    Plot plot = area.getPlot(loc);
    ProjectileSource shooter = entity.getShooter();
    if (shooter instanceof Player) {
        PlotPlayer pp = BukkitUtil.getPlayer((Player) shooter);
        if (plot == null) {
            if (!Permissions.hasPermission(pp, C.PERMISSION_PROJECTILE_UNOWNED)) {
                entity.remove();
                return false;
            }
            return true;
        }
        if (plot.isAdded(pp.getUUID()) || Permissions.hasPermission(pp, C.PERMISSION_PROJECTILE_OTHER)) {
            return true;
        }
        entity.remove();
        return false;
    }
    if (!(shooter instanceof Entity) && shooter != null) {
        if (plot == null) {
            entity.remove();
            return false;
        }
        Location sLoc = BukkitUtil.getLocation(((BlockProjectileSource) shooter).getBlock().getLocation());
        if (!area.contains(sLoc.getX(), sLoc.getZ())) {
            entity.remove();
            return false;
        }
        Plot sPlot = area.getOwnedPlotAbs(sLoc);
        if (sPlot == null || !PlotHandler.sameOwners(plot, sPlot)) {
            entity.remove();
            return false;
        }
    }
    return true;
}
Example 28
Project: NBTEditor-master  File: CustomBow.java View source code
public void onProjectileHit(ProjectileHitEvent event, DelayedPlayerDetails details) {
}
Example 29
Project: Zephyrus-II-master  File: ProjectileHandler.java View source code
@EventHandler
public void onProjectileHitBlock(ProjectileHitEvent event) {
    if (projectileData.containsKey(event.getEntity())) {
        Projectile projectile = projectileData.get(event.getEntity());
        projectile.onHitBlock(event.getEntity().getLocation());
        projectileData.remove(event.getEntity());
    }
}
Example 30
Project: Polygonia-master  File: PolygoniasEntityListener.java View source code
@Override
public void onProjectileHit(ProjectileHitEvent event) {
    super.onProjectileHit(event);
}
Example 31
Project: CommandHelper-master  File: BukkitEntityListener.java View source code
@EventIdentifier(event = Driver.PROJECTILE_HIT, className = "org.bukkit.event.entity.ProjectileHitEvent")
public void onPHit(Event event) {
    BukkitMCProjectileHitEvent phe = new BukkitMCProjectileHitEvent(event);
    EventUtils.TriggerExternal(phe);
    EventUtils.TriggerListener(Driver.PROJECTILE_HIT, "projectile_hit", phe);
}
Example 32
Project: WeatherMan-master  File: WMListener.java View source code
@EventHandler(priority = EventPriority.NORMAL)
public void onProjectileHitEvent(ProjectileHitEvent event) {
    if (event.getEntityType() != EntityType.SNOWBALL)
        return;
    Brush.processSnowball((Snowball) event.getEntity());
}
Example 33
Project: Skript-master  File: BukkitEventValues.java View source code
@Override
@Nullable
public Entity get(final ProjectileHitEvent e) {
    assert false;
    return e.getEntity();
}