package pm.j4.petroleum.util.data; import java.util.*; import pm.j4.petroleum.PetroleumMod; import pm.j4.petroleum.util.module.ModuleBase; public class Category { public static Map> getCategoryMap() { List modules = PetroleumMod.getActiveMods(); Map> categoryMap = new HashMap<>(); modules.forEach(module -> { if(!categoryMap.containsKey(module.getCategory())) { List m = new ArrayList<>(); m.add(module); categoryMap.put(module.getCategory(), m); } else { List m = categoryMap.get(module.getCategory()); List nm = new ArrayList<>(); nm.addAll(m); m.add(module); categoryMap.replace(module.getCategory(), nm); } }); return categoryMap; } public static List getByCategory(String category) { return getCategoryMap().containsKey(category) ? getCategoryMap().get(category) : new ArrayList<>(); } }