package client.inventory; import java.io.File; import java.util.HashMap; import java.util.Map; import provider.MapleData; import provider.MapleDataProvider; import provider.MapleDataProviderFactory; import provider.MapleDataTool; import tools.Pair; public class PetDataFactory { private static final MapleDataProvider dataRoot = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath", "wz") + "/Item.wz")); private static final Map<Pair<Integer, Integer>, PetCommand> petCommands = new HashMap(); private static final Map<Integer, Integer> petHunger = new HashMap(); public static PetCommand getPetCommand(int petId, int command) { PetCommand ret = (PetCommand) petCommands.get(new Pair(Integer.valueOf(petId), Integer.valueOf(command))); if (ret != null) { return ret; } MapleData petData = dataRoot.getData("Pet/" + petId + ".img"); int prob = 0; int inc = 0; if (petData != null) { prob = MapleDataTool.getInt("interact/" + command + "/prob", petData, 0); inc = MapleDataTool.getInt("interact/" + command + "/inc", petData, 0); } ret = new PetCommand(petId, command, prob, inc); petCommands.put(new Pair(petId, command), ret); return ret; } public static int getHunger(int petId) { Integer ret = petHunger.get(Integer.valueOf(petId)); if (ret != null) { return ret; } MapleData hungerData = dataRoot.getData("Pet/" + petId + ".img").getChildByPath("info/hungry"); ret = MapleDataTool.getInt(hungerData, 1); petHunger.put(petId, ret); return ret; } }