/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package custom; import client.Skill; import client.SkillFactory; import java.io.File; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import provider.MapleData; import provider.MapleDataProvider; import provider.MapleDataProviderFactory; import provider.MapleDataTool; import server.ItemInformation; import server.MapleItemInformationProvider; import server.quest.MapleQuest; import tools.Pair; /** * * @author Itzik */ public class SearchGenerator { public static String searchData(int type, String search) { String result = ""; MapleData data; MapleDataProvider dataProvider = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/" + "String.wz")); List<String> ret = new ArrayList<>(); List<Pair<Integer, String>> pairList = new LinkedList<>(); if (type == 1) { for (ItemInformation pair : MapleItemInformationProvider.getInstance().getAllItems()) { if (pair != null && pair.name != null && pair.name.toLowerCase().contains(search.toLowerCase())) { ret.add("\r\n#L" + pair.itemId + "##b" + pair.itemId + " " + " #k- " + " #r#z" + pair.itemId + "##k"); } } } else if (type == 2) { data = dataProvider.getData("Npc.img"); for (MapleData IdData : data.getChildren()) { pairList.add(new Pair<>(Integer.parseInt(IdData.getName()), MapleDataTool.getString(IdData.getChildByPath("name"), "NO-NAME"))); } for (Pair<Integer, String> pair : pairList) { if (pair.getRight().toLowerCase().contains(search.toLowerCase())) { ret.add("\r\n#L" + pair.getLeft() + "#" + pair.getLeft() + " - " + pair.getRight()); } } } else if (type == 3) { data = dataProvider.getData("Map.img"); for (MapleData mapAreaData : data.getChildren()) { for (MapleData IdData : mapAreaData.getChildren()) { pairList.add(new Pair<>(Integer.parseInt(IdData.getName()), MapleDataTool.getString(IdData.getChildByPath("streetName"), "NO-NAME") + " - " + MapleDataTool.getString(IdData.getChildByPath("mapName"), "NO-NAME"))); } } for (Pair<Integer, String> pair : pairList) { if (pair.getRight().toLowerCase().contains(search.toLowerCase())) { ret.add("\r\n#L" + pair.getLeft() + "#" + pair.getLeft() + " - " + pair.getRight()); } } } else if (type == 4) { data = dataProvider.getData("Mob.img"); for (MapleData IdData : data.getChildren()) { pairList.add(new Pair<>(Integer.parseInt(IdData.getName()), MapleDataTool.getString(IdData.getChildByPath("name"), "NO-NAME"))); } for (Pair<Integer, String> pair : pairList) { if (pair.getRight().toLowerCase().contains(search.toLowerCase())) { ret.add("\r\n#L" + pair.getLeft() + "#" + pair.getLeft() + " - " + pair.getRight()); } } } else if (type == 5) { for (MapleQuest pair : MapleQuest.getAllInstances()) { if (pair.getName().length() > 0 && pair.getName().toLowerCase().contains(search.toLowerCase())) { ret.add("\r\n#L" + pair.getId() + "#" + pair.getId() + " - " + pair.getName()); } } } else if (type == 6) { for (Skill pair : SkillFactory.getAllSkills()) { if (pair.getName() != null && pair.getName().toLowerCase().contains(search.toLowerCase())) { ret.add("\r\n#L" + pair.getId() + "#" + pair.getId() + " - " + pair.getName()); } } } if (ret != null && ret.size() > 0) { for (String singleRet : ret) { if (result.length() < 10000) { result += singleRet; } else { result += "\r\n#bCouldn't load all data, there are too many results.#k"; return result; } } } else { result = ""; } return result; } public static boolean foundData(int type, String search) { return !searchData(type, search).isEmpty(); } }