public void addEffect(Player p, PotionEffectType potion) {
		if (!isValidWorld(p) || isExempt(p) || !isEnabled())
			return;
		
		ConfigurationSection section = plugin.getConfig().getConfigurationSection("effects." + potion.getName().toLowerCase());
		if (section == null)
			return;
		
		// If the hunger isn't the right amount, return.
		if (p.getFoodLevel() != section.getInt("hunger-at-activation"))
			return;
		
		int amplifier = section.getInt("amplifier");
		// Multiply by 20 because potion effect duration is in ticks.
		int duration = section.getInt("duration") * 20;
		
		// If either of the numbers are "null" (0), set them to a default.
		if (duration == 0)
			duration = 100;
		
		if (amplifier == 0)
			amplifier = 1;
		
		p.addPotionEffect(new PotionEffect(potion, duration, amplifier));
		p.playSound(p.getLocation(), Sound.AMBIENCE_THUNDER, 2.5F, 2.5F);
		p.sendMessage(ChatColor.translateAlternateColorCodes('&', section.getString("message")));
	}