public Skill instantiateSkill(SkillDefinition def) { String str = "Enabling Skill: " + def.getSkillClass().getSimpleName() + " as " + def.getSkillInfo().getName() + " v" + def.getSkillInfo().version + " by " + def.getSkillInfo().author; if (lq.configMain.debugMode) { System.out.println(str); } lq.debug.info(str); Skill s = null; try { s = def.getSource().load(def); } catch (InstantiationException ie) { // System.out.println("[LQ] InstantiationException while enabling skill: " + // def.getSkillInfo().name + // " see logfile"); lq.debug.error( "InstantiationException while enabling skill: " + def.getSkillInfo().getName()); // System.out.println(ie.getMessage()); // ie.printStackTrace(); lq.debug.error(ie.getMessage()); lq.debug.error(ie.getStackTrace().toString()); } catch (Exception e) { // System.out.println("[LQ] Error while enabling skill: " + def.getSkillInfo().name); // e.printStackTrace(); lq.debug.error("Error while enabling skill: " + def.getSkillInfo().getName()); lq.debug.error(e.getMessage()); lq.debug.error(e.getStackTrace().toString()); } if (!(s instanceof Skill)) { // System.out.println("[LQ] Error while enabling skill: " + def.getSkillInfo().name); lq.debug.error("Error while enabling skill: " + def.getSkillInfo().getName()); } else { initSkill(lq, s, def.getSkillInfo()); } return s; }
@SuppressWarnings({"unchecked", "rawtypes"}) public SkillPool(Main plugin) { this.lq = plugin; this.ed = new EventDispatcher(); skillfolder = lq.getDataFolder().getAbsolutePath() + File.separator + "skills"; File sf = new File(skillfolder); if (!sf.exists()) { sf.mkdirs(); } this.skills = Collections.synchronizedList(new ArrayList(new SkillLoader(new File[] {sf}).list())); Iterator<SkillDefinition> iter = this.skills.iterator(); while (iter.hasNext()) { SkillDefinition def = iter.next(); String str = "Found skill in jar: " + def.getSkillInfo().getName().toLowerCase(); if (lq.configMain.debugMode) { System.out.println(str); } lq.debug.info(str); skillDefs.put(def.getSkillInfo().getName().toLowerCase(), def); } }
public void initSkill(SkillDefinition def, String name) { lq.debug.fine("Pooling skill: " + name + " | " + def.getSkillInfo().getName().toLowerCase()); SkillDefinition def2 = null; if (!name.equalsIgnoreCase(def.getSkillInfo().getName())) { SkillInfo si2 = new SkillInfo( def.getSkillInfo().getAuthor(), name, def.getSkillInfo().getDescription(), def.getSkillInfo().getType(), def.getSkillInfo().getVersion(), def.getSkillInfo().getBuildup(), def.getSkillInfo().getDelay(), def.getSkillInfo().getDuration(), def.getSkillInfo().getCooldown(), def.getSkillInfo().getPay(), def.getSkillInfo().getXp(), def.getSkillInfo().getManaCost(), def.getSkillInfo().getConsumes(), def.getSkillInfo().getLevelRequired(), def.getSkillInfo().getSkillPoints(), def.getSkillInfo().getVars(), def.getSkillInfo().getKarmaCost(), def.getSkillInfo().getKarmaReward(), def.getSkillInfo().getKarmaRequired(), def.getSkillInfo().getNeedPerm()); def2 = new SkillDefinition(def.getSkillClass(), def.getSource(), si2); Skill sk = instantiateSkill(def2); skillList.put(name.toLowerCase(), sk); } else { Skill sk = instantiateSkill(def); skillList.put(name.toLowerCase(), sk); } }
public void initSkill(SkillDefinition def) { initSkill(def, def.getSkillInfo().getName().toLowerCase()); }