package WayofTime.bloodmagic.command.sub; import WayofTime.bloodmagic.api.network.SoulNetwork; import WayofTime.bloodmagic.api.util.helper.NetworkHelper; import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import WayofTime.bloodmagic.command.SubCommandBase; import WayofTime.bloodmagic.util.Utils; import WayofTime.bloodmagic.util.helper.TextHelper; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; import net.minecraft.command.PlayerNotFoundException; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.ChatComponentText; import net.minecraft.util.StatCollector; import java.util.Locale; public class SubCommandOrb extends SubCommandBase { public SubCommandOrb(ICommand parent) { super(parent, "orb"); } @Override public String getArgUsage(ICommandSender commandSender) { return StatCollector.translateToLocal("commands.orb.usage"); } @Override public String getHelpText() { return StatCollector.translateToLocal("commands.orb.help"); } @Override public void processSubCommand(ICommandSender commandSender, String[] args) { super.processSubCommand(commandSender, args); if (args.length > 0) { if (args[0].equalsIgnoreCase("help")) return; try { String givenName = commandSender.getName(); if (args.length > 1) givenName = args[1]; EntityPlayer player = getPlayer(commandSender, givenName); String uuid = PlayerHelper.getUUIDFromPlayer(player).toString(); SoulNetwork network = NetworkHelper.getSoulNetwork(uuid); boolean displayHelp = isBounded(0, 2, args.length); try { switch (ValidCommands.valueOf(args[0].toUpperCase(Locale.ENGLISH))) { case SET: { if (displayHelp) { displayHelpString(commandSender, ValidCommands.SET.help); break; } if (args.length == 3) { if (Utils.isInteger(args[2])) { int amount = Integer.parseInt(args[2]); network.setOrbTier(amount); displaySuccessString(commandSender, "commands.success"); } else { displayErrorString(commandSender, "commands.error.arg.invalid"); } } else { displayErrorString(commandSender, "commands.error.arg.missing"); } break; } case GET: { if (displayHelp) { displayHelpString(commandSender, ValidCommands.GET.help); break; } if (args.length > 1) commandSender.addChatMessage(new ChatComponentText(TextHelper.localizeEffect("message.orb.currenttier", network.getOrbTier()))); break; } } } catch (IllegalArgumentException e) { displayErrorString(commandSender, "commands.error.404"); } } catch (PlayerNotFoundException e) { displayErrorString(commandSender, "commands.error.404"); } } } private enum ValidCommands { SET("commands.orb.set.help"), GET("commands.orb.get.help"); public String help; ValidCommands(String help) { this.help = help; } } }