@EventHandler
	public void onEntityDeath(EntityDeathEvent event)
	{
		if (plugin.spawnedMobs.contains(event.getEntity()))
		{
			plugin.spawnedMobs.remove(event.getEntity());
			return;
		}

		if (event.getEntity().getLastDamageCause() instanceof EntityDamageByEntityEvent)
		{
			EntityDamageByEntityEvent damageEvent = (EntityDamageByEntityEvent) event.getEntity()
					.getLastDamageCause();

			if (damageEvent.getDamager() instanceof Player)
			{
				Player player = (Player) damageEvent.getDamager();

				ItemStack item = player.getItemInHand();

				if (item == null || item.getTypeId() == 0 || !Config.isItemEnabled(plugin, item.getTypeId()))
					return;

				Weapon weapon = new Weapon(plugin, item);

				int levelState = weapon.getLevel();
				weapon.addExperience(Config.getDeathExperience(plugin, event.getEntity().getType()));
				weapon.update();

				if (weapon.getLevel() > levelState)
				{
					Util.dropExperience(player.getLocation(), Config.EXP_ON_LEVEL, 3);
				}
			}
		}
	}