|
@@ -26,6 +26,7 @@ import com.l2jserver.Config;
|
|
import com.l2jserver.gameserver.datatables.SkillTable;
|
|
import com.l2jserver.gameserver.datatables.SkillTable;
|
|
import com.l2jserver.gameserver.model.L2Skill;
|
|
import com.l2jserver.gameserver.model.L2Skill;
|
|
import com.l2jserver.gameserver.templates.item.L2Item;
|
|
import com.l2jserver.gameserver.templates.item.L2Item;
|
|
|
|
+import com.l2jserver.util.file.filter.XMLFilter;
|
|
|
|
|
|
/**
|
|
/**
|
|
* @author mkizub
|
|
* @author mkizub
|
|
@@ -46,7 +47,9 @@ public class SkillsEngine
|
|
private SkillsEngine()
|
|
private SkillsEngine()
|
|
{
|
|
{
|
|
hashFiles("data/stats/items", _itemFiles);
|
|
hashFiles("data/stats/items", _itemFiles);
|
|
|
|
+ hashFiles("data/stats/items/custom", _itemFiles);
|
|
hashFiles("data/stats/skills", _skillFiles);
|
|
hashFiles("data/stats/skills", _skillFiles);
|
|
|
|
+ hashFiles("data/stats/skills/custom", _skillFiles);
|
|
}
|
|
}
|
|
|
|
|
|
private void hashFiles(String dirname, List<File> hash)
|
|
private void hashFiles(String dirname, List<File> hash)
|
|
@@ -57,15 +60,9 @@ public class SkillsEngine
|
|
_log.warning("Dir " + dir.getAbsolutePath() + " not exists");
|
|
_log.warning("Dir " + dir.getAbsolutePath() + " not exists");
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- File[] files = dir.listFiles();
|
|
|
|
|
|
+ File[] files = dir.listFiles(new XMLFilter());
|
|
for (File f : files)
|
|
for (File f : files)
|
|
- {
|
|
|
|
- if (f.getName().endsWith(".xml") && !f.getName().startsWith("custom"))
|
|
|
|
- hash.add(f);
|
|
|
|
- }
|
|
|
|
- File customfile = new File(Config.DATAPACK_ROOT, dirname + "/custom.xml");
|
|
|
|
- if (customfile.exists())
|
|
|
|
- hash.add(customfile);
|
|
|
|
|
|
+ hash.add(f);
|
|
}
|
|
}
|
|
|
|
|
|
public List<L2Skill> loadSkills(File file)
|
|
public List<L2Skill> loadSkills(File file)
|
|
@@ -113,46 +110,6 @@ public class SkillsEngine
|
|
return list;
|
|
return list;
|
|
}
|
|
}
|
|
|
|
|
|
- /*public List<L2Weapon> loadWeapons(Map<Integer, Item> weaponData)
|
|
|
|
- {
|
|
|
|
- List<L2Weapon> list = new FastList<L2Weapon>();
|
|
|
|
- for (L2Item item : loadData(weaponData, _weaponFiles))
|
|
|
|
- {
|
|
|
|
- list.add((L2Weapon) item);
|
|
|
|
- }
|
|
|
|
- return list;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- public List<L2EtcItem> loadItems(Map<Integer, Item> itemData)
|
|
|
|
- {
|
|
|
|
- List<L2EtcItem> list = new FastList<L2EtcItem>();
|
|
|
|
- List<Integer> xmlItem = new FastList<Integer>();
|
|
|
|
-
|
|
|
|
- for (L2Item item : loadData(itemData, _etcitemFiles))
|
|
|
|
- {
|
|
|
|
- list.add((L2EtcItem) item);
|
|
|
|
- xmlItem.add(item.getItemId());
|
|
|
|
- }
|
|
|
|
- for (Item item : itemData.values())
|
|
|
|
- {
|
|
|
|
- if (!xmlItem.contains(item.id))
|
|
|
|
- list.add(new L2EtcItem((L2EtcItemType) item.type, item.set));
|
|
|
|
- }
|
|
|
|
- return list;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- public List<L2Item> loadData(Map<Integer, ? extends Item> itemData, List<File> files)
|
|
|
|
- {
|
|
|
|
- List<L2Item> list = new FastList<L2Item>();
|
|
|
|
- for (File f : files)
|
|
|
|
- {
|
|
|
|
- DocumentItem document = new DocumentItem(itemData, f);
|
|
|
|
- document.parse();
|
|
|
|
- list.addAll(document.getItemList());
|
|
|
|
- }
|
|
|
|
- return list;
|
|
|
|
- }*/
|
|
|
|
-
|
|
|
|
@SuppressWarnings("synthetic-access")
|
|
@SuppressWarnings("synthetic-access")
|
|
private static class SingletonHolder
|
|
private static class SingletonHolder
|
|
{
|
|
{
|