package codechicken.nei; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedList; import java.util.List; public class NEIActions { public static final int protocol = 0; public static HashMap nameActionMap = new HashMap<>(); public static HashSet canDisable = new HashSet<>(); public static void addAction(String name, String base, boolean smpreq) { NEIActions action = new NEIActions(name, base, smpreq); nameActionMap.put(name, action); } private static void addAction(String name, String base) { addAction(name, base, false); } public static void addAction(String name) { addAction(name, name); } private static void addAction(String name, boolean smpreq) { addAction(name, name, smpreq); } public static String base(String name) { NEIActions action = nameActionMap.get(name); return action == null ? name : action.base; } public static boolean smpRequired(String name) { return nameActionMap.get(name).smpreq; } public static void init() { addAction("time"); addAction("dawn", "time"); addAction("noon", "time"); addAction("dusk", "time"); addAction("midnight", "time"); addAction("creative"); addAction("creative+", true); addAction("adventure", "creative"); addAction("rain"); addAction("item"); addAction("heal"); addAction("delete", true); addAction("magnet", true); addAction("enchant", true); addAction("potion", true); canDisable.add("dawn"); canDisable.add("noon"); canDisable.add("dusk"); canDisable.add("midnight"); canDisable.add("rain"); } public static final String[] timeZones = new String[]{"dawn", "noon", "dusk", "midnight"}; public static final String[] gameModes = new String[]{"survival", "creative", "creative+", "adventure"}; public String name; public String base; public boolean smpreq; public NEIActions(String name, String base, boolean smpreq) { this.name = name; this.base = base; this.smpreq = smpreq; } public static List baseActions() { List list = new LinkedList<>(); for(NEIActions a : nameActionMap.values()) if(a.base.equals(a.name)) list.add(a.name); return list; } }