示例#1
0
  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;
  }
示例#2
0
  @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);
    }
  }
示例#3
0
  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);
    }
  }
示例#4
0
 public void initSkill(SkillDefinition def) {
   initSkill(def, def.getSkillInfo().getName().toLowerCase());
 }