@EventHandler(priority = EventPriority.LOW)
    public void onPotionSplash(PotionSplashEvent event) {
        plugin.debugMsg("Potion Splash event");
        // who is the attacker?
        if(event.getEntity().getShooter() instanceof Player) {
            Player attacker = (Player) event.getEntity().getShooter();
            // is there a player in the affected area?
            Collection<LivingEntity> affected = event.getAffectedEntities();
            boolean onlyAnimals = true;
            plugin.debugMsg("Checking splash event. " + affected.size() + " entities.");
            for(Iterator<LivingEntity> iter = affected.iterator(); iter.hasNext() && onlyAnimals;) {
                plugin.debugMsg("Is this entity a player?");
                if(iter.next() instanceof Player)
                    // We found a player! Not only animals affected.
                    onlyAnimals = false;
            }
            // Did we find any players? No? then just end.
            if(onlyAnimals) {
                plugin.debugMsg("Stopped looking at event, no players hit");
                return;
            }
            
            // Do we have a player with pvp override?
            if((Boolean) plugin.getValue(plugin.pvpWorlds, attacker.getWorld().getName(), "overrideEnabled") == true) {
                plugin.debugMsg("Override enabled in " + attacker.getWorld().getName());
                if(attacker.hasPermission("pvptime.override")) {
                    plugin.debugMsg(attacker.getName() + " had permission to override PvPTime");
                        return;
                }
            }
            
            if(isItPvPTime(attacker.getWorld().getName()) == false) {
                plugin.debugMsg("No pvp. Cancelled: " + attacker.getName() + " in " + attacker.getWorld().getName() + ". Potion.");
                event.setCancelled(true);
            }
            
        }
    }