package jas.spawner.modern.command.mods; //package jas.common.command.mods; // //import jas.common.JustAnotherSpawner; //import jas.common.command.CommandJasBase; //import jas.common.spawner.creature.handler.LivingGroupRegistry; //import jas.common.spawner.creature.handler.LivingHandler; //import jas.common.spawner.creature.handler.LivingHandlerRegistry; // //import java.util.ArrayList; //import java.util.List; // //import net.minecraft.command.ICommandSender; //import net.minecraft.command.WrongUsageException; // //public class CommandModLivingGroup extends CommandJasBase { // // public String getCommandName() { // return "modlivinggroup"; // } // // private enum Ops { // // TODO Add RESET command to reset to default // ADD("add", "a", "+"), REMOVE("remove", "rem", "r", "-"), UPDATE("update", "upd", "u", "->"), NONE(""); // public final String[] matchingWords; // Phrases that represent this // // operation // // Ops(String... matchingWords) { // this.matchingWords = matchingWords; // } // // public static Ops determineOp(String potentialWord) { // for (Ops op : Ops.values()) { // for (String word : op.matchingWords) { // if (word.equalsIgnoreCase(potentialWord)) { // return op; // } // } // } // return NONE; // } // } // // /** // * Return the required permission level for this command. // */ // public int getRequiredPermissionLevel() { // return 2; // } // // @Override // public String getCommandUsage(ICommandSender commandSender) { // return "commands.modlivinggroup.usage"; // } // // @Override // public void process(ICommandSender commandSender, String[] stringArgs) { // if (stringArgs.length <= 1) { // throw new WrongUsageException("commands.modlivinggroup.usage", new Object[0]); // } // // // Format /jas modlivinggroup <add/remove/update> <livingGroupID> // // <mapping/A|attribute/B|group#1>, // Ops operation = Ops.determineOp(stringArgs[0]); // String livingGroupID = stringArgs[1]; // ArrayList<String> groupContents = new ArrayList<String>(); // for (int i = 2; i < stringArgs.length; i++) { // if (stringArgs[i] == null || stringArgs[i].trim().isEmpty()) { // continue; // } // groupContents.add(stringArgs[i]); // } // if (livingGroupID != null && !livingGroupID.isEmpty()) { // switch (operation) { // case ADD: // JustAnotherSpawner.worldSettings().addChange(new ModAddLivingGroup(livingGroupID, groupContents)); // break; // case REMOVE: // JustAnotherSpawner.worldSettings().addChange(new ModRemoveLivingGroup(livingGroupID)); // break; // case UPDATE: // JustAnotherSpawner.worldSettings().addChange(new ModUpdateLivingGroup(livingGroupID, groupContents)); // break; // case NONE: // throw new WrongUsageException("commands.modlivinggroup.livinggroupoperatorundefined", new Object[0]); // } // } else { // throw new WrongUsageException("commands.modlivinggroup.livinggroupundefined", new Object[0]); // } // } // // /** // * Adds the strings available in this command to the given list of tab completion options. // */ // @Override // public List<String> getTabCompletions(ICommandSender commandSender, String[] stringArgs) { // stringArgs = correctedParseArgs(stringArgs, false); // List<String> tabCompletions = new ArrayList<String>(); // if (stringArgs.length == 1) { // for (Ops operation : Ops.values()) { // for (String matchingWord : operation.matchingWords) { // tabCompletions.add(matchingWord); // } // } // return tabCompletions; // } else if (stringArgs.length == 2) { // LivingHandlerRegistry registry = JustAnotherSpawner.worldSettings().livingHandlerRegistry(); // for (LivingHandler group : registry.getLivingHandlers()) { // String iD = group.livingID; // if (iD.contains(" ")) { // tabCompletions.add("\"".concat(iD).concat("\"")); // } else { // tabCompletions.add(iD); // } // } // return tabCompletions; // livingGroupID can be anything when adding // } else { // LivingGroupRegistry registry = JustAnotherSpawner.worldSettings().livingGroupRegistry(); // for (String mapping : registry.entityClasstoJASName().values()) { // if (mapping.contains(" ")) { // tabCompletions.add("\"".concat(mapping).concat("\"")); // } else { // tabCompletions.add(mapping); // } // } // for (String iD : registry.iDToAttribute().keySet()) { // if (iD.contains(" ")) { // tabCompletions.add("\"".concat("A|").concat(iD).concat("\"")); // } else { // tabCompletions.add(("A|").concat(iD)); // } // } // LivingHandlerRegistry livingHandlerRegistry = JustAnotherSpawner.worldSettings().livingHandlerRegistry(); // for (LivingHandler group : livingHandlerRegistry.getLivingHandlers()) { // String iD = group.livingID; // if (iD.contains(" ")) { // tabCompletions.add("\"".concat(iD).concat("\"")); // } else { // tabCompletions.add(iD); // } // } // return tabCompletions; // } // } //}