i dont think is hard to understand, the error by itself saying all the info you looking for and as @Solomun said, the skill you called does not exist in your files
public Skill getSkill(int skillId, int level, int subLevel)
{
final Skill result = _skills.get(getSkillHashCode(skillId, level, subLevel));
if (result != null)
{
return result;
}
final int maxLvl = getMaxLevel(skillId);
if ((maxLvl > 0) && (level > maxLvl))
{
LOGGER.log(Level.WARNING, this.getClass().getSimpleName() + ": Call to unexisting skill level id: " + skillId + " requested level: " + level + " max level: " + maxLvl + ".", new Throwable());
return _skills.get(getSkillHashCode(skillId, maxLvl, 0));
}
LOGGER.warning(this.getClass().getSimpleName() + ": No skill info found for skill id " + skillId + " and skill level " + level);
return null;
}
public int getMaxLevel(int skillId)
{
final Integer maxLevel = _skillsMaxLevel.get(skillId);
return maxLevel != null ? maxLevel : 0;
}