package ttftcuts.physis.utils; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.util.HashMap; import java.util.Map; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.ModContainer; public class ModFinder { private static Map<String, String> modSource_Name = new HashMap<String, String>(); private static Map<String, String> modSource_ID = new HashMap<String, String>(); public static void init() { for (ModContainer mod : Loader.instance().getModList()){ modSource_Name.put(mod.getSource().getName(), mod.getName()); modSource_ID.put(mod.getSource().getName(), mod.getModId()); } /*modSource_Name.put("1.6.2.jar", "Minecraft"); modSource_Name.put("1.6.3.jar", "Minecraft"); modSource_Name.put("1.6.4.jar", "Minecraft"); modSource_Name.put("1.7.2.jar", "Minecraft"); modSource_Name.put("1.7.10.jar", "Minecraft"); modSource_Name.put("Forge", "Minecraft"); modSource_ID.put("1.6.2.jar", "Minecraft"); modSource_ID.put("1.6.3.jar", "Minecraft"); modSource_ID.put("1.6.4.jar", "Minecraft"); modSource_ID.put("1.7.2.jar", "Minecraft"); modSource_ID.put("1.7.10.jar", "Minecraft"); modSource_ID.put("Forge", "Minecraft"); */ } public static String nameFromObject(Object obj){ String objPath = obj.getClass().getProtectionDomain().getCodeSource().getLocation().toString(); try { objPath = URLDecoder.decode(objPath, "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } String modName = "Minecraft"; for (String s: modSource_Name.keySet()) if (objPath.contains(s)){ modName = modSource_Name.get(s); break; } if (modName.equals("Minecraft Coder Pack")) modName = "Minecraft"; return modName; } public static String idFromObject(Object obj){ String objPath = obj.getClass().getProtectionDomain().getCodeSource().getLocation().toString(); try { objPath = URLDecoder.decode(objPath, "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } String modID = "Minecraft"; for (String s: modSource_ID.keySet()) if (objPath.contains(s)){ modID = modSource_ID.get(s); break; } if (modID.equals("Forge")) modID = "Minecraft"; return modID; } public static boolean isVanilla(Object obj) { return idFromObject(obj).equals("Minecraft"); } }