diff --git a/src/main/java/net/aoba/cmd/Command.java b/src/main/java/net/aoba/cmd/Command.java index 0be5892..c30bd7d 100644 --- a/src/main/java/net/aoba/cmd/Command.java +++ b/src/main/java/net/aoba/cmd/Command.java @@ -29,12 +29,14 @@ public abstract class Command { protected final String name; protected final String description; + protected final String syntax; protected static final MinecraftClient mc = AobaClient.MC; - public Command(String name, String description) { + public Command(String name, String description, String syntax) { this.name = Objects.requireNonNull(name); this.description = Objects.requireNonNull(description); + this.syntax = Objects.requireNonNull(syntax); } /** @@ -53,11 +55,19 @@ public String getDescription() { return this.description; } + /** + * Gets the syntax of the command. + * @return The syntax of the command. + */ + public String getSyntax() { + return this.syntax; + } + /** * Runs the intended action of the command. * @param parameters The parameters being passed. */ - public abstract void runCommand(String[] parameters); + public abstract void runCommand(String[] parameters) throws InvalidSyntaxException; /** * Gets the next Autocorrect suggestions given the last typed parameter. diff --git a/src/main/java/net/aoba/cmd/CommandException.java b/src/main/java/net/aoba/cmd/CommandException.java new file mode 100644 index 0000000..d53cca0 --- /dev/null +++ b/src/main/java/net/aoba/cmd/CommandException.java @@ -0,0 +1,12 @@ +package net.aoba.cmd; + +public abstract class CommandException extends Exception{ + private static final long serialVersionUID = 1L; + protected Command cmd; + + public CommandException(Command cmd) { + this.cmd = cmd; + } + + public abstract void PrintToChat(); +} diff --git a/src/main/java/net/aoba/cmd/CommandManager.java b/src/main/java/net/aoba/cmd/CommandManager.java index a0fcccf..b5f7183 100644 --- a/src/main/java/net/aoba/cmd/CommandManager.java +++ b/src/main/java/net/aoba/cmd/CommandManager.java @@ -131,9 +131,8 @@ public void command(String[] commandIn) { // Runs the command. command.runCommand(parameterList); } - } catch (Exception e) { - System.out.println("Error occured whilst running command. Please try again."); - e.printStackTrace(); + } catch (InvalidSyntaxException e) { + e.PrintToChat(); } } diff --git a/src/main/java/net/aoba/cmd/InvalidSyntaxException.java b/src/main/java/net/aoba/cmd/InvalidSyntaxException.java new file mode 100644 index 0000000..2f1e3fd --- /dev/null +++ b/src/main/java/net/aoba/cmd/InvalidSyntaxException.java @@ -0,0 +1,35 @@ +/* +* Aoba Hacked Client +* Copyright (C) 2019-2023 coltonk9043 +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see . +*/ + +/** + * A class to represent an exception thrown when a command is typed with invalid syntax. + */ +package net.aoba.cmd; + +public class InvalidSyntaxException extends CommandException { + private static final long serialVersionUID = 1L; + + public InvalidSyntaxException(Command cmd) { + super(cmd); + } + + @Override + public void PrintToChat() { + CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba " + cmd.getName() + " " + cmd.getSyntax()); + } +} diff --git a/src/main/java/net/aoba/cmd/commands/CmdAimbot.java b/src/main/java/net/aoba/cmd/commands/CmdAimbot.java index dfe38ee..1e7c7db 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdAimbot.java +++ b/src/main/java/net/aoba/cmd/commands/CmdAimbot.java @@ -21,43 +21,47 @@ import net.aoba.Aoba; import net.aoba.cmd.Command; import net.aoba.cmd.CommandManager; +import net.aoba.cmd.InvalidSyntaxException; import net.aoba.module.modules.combat.Aimbot; public class CmdAimbot extends Command { public CmdAimbot() { - super("aimbot", "Allows the player to see chest locations through ESP"); + super("aimbot", "Allows the player to see chest locations through ESP", "[toggle/mode] [value]"); } @Override - public void runCommand(String[] parameters) { + public void runCommand(String[] parameters) throws InvalidSyntaxException { + if (parameters.length != 2) + throw new InvalidSyntaxException(this); + Aimbot module = (Aimbot) Aoba.getInstance().moduleManager.aimbot; - if (parameters.length == 2) { - switch (parameters[0]) { - case "toggle": - String state = parameters[1].toLowerCase(); - if (state.equals("on")) { - module.setState(true); - CommandManager.sendChatMessage("Aimbot toggled ON"); - } else if (state.equals("off")) { - module.setState(false); - CommandManager.sendChatMessage("Aimbot toggled OFF"); - } else { - CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); - } - break; - default: - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba aimbot [toggle/mode] [value]"); - break; + + switch (parameters[0]) { + case "toggle": + String state = parameters[1].toLowerCase(); + if (state.equals("on")) { + module.setState(true); + CommandManager.sendChatMessage("Aimbot toggled ON"); + } else if (state.equals("off")) { + module.setState(false); + CommandManager.sendChatMessage("Aimbot toggled OFF"); + } else { + CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); } - } else { - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba aimbot [toggle/mode] [value]"); + break; + default: + throw new InvalidSyntaxException(this); } } @Override public String[] getAutocorrect(String previousParameter) { - // TODO Auto-generated method stub - return null; + switch (previousParameter) { + case "toggle": + return new String[] { "on", "off" }; + default: + return new String[] { "toggle" }; + } } } diff --git a/src/main/java/net/aoba/cmd/commands/CmdAutoEat.java b/src/main/java/net/aoba/cmd/commands/CmdAutoEat.java index a38d608..ee40d62 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdAutoEat.java +++ b/src/main/java/net/aoba/cmd/commands/CmdAutoEat.java @@ -21,52 +21,58 @@ import net.aoba.Aoba; import net.aoba.cmd.Command; import net.aoba.cmd.CommandManager; +import net.aoba.cmd.InvalidSyntaxException; import net.aoba.module.modules.misc.AutoEat; public class CmdAutoEat extends Command { public CmdAutoEat() { - super("autoeat", "Automatically eats when the player is hungry."); + super("autoeat", "Automatically eats when the player is hungry.", "[toggle/set] [value]"); } @Override - public void runCommand(String[] parameters) { + public void runCommand(String[] parameters) throws InvalidSyntaxException { + if (parameters.length != 2) + throw new InvalidSyntaxException(this); + AutoEat module = (AutoEat) Aoba.getInstance().moduleManager.autoeat; - if (parameters.length == 2) { - switch (parameters[0]) { - case "toggle": - String state = parameters[1].toLowerCase(); - if (state.equals("on")) { - module.setState(true); - CommandManager.sendChatMessage("AutoEat toggled ON"); - } else if (state.equals("off")) { - module.setState(false); - CommandManager.sendChatMessage("AutoEat toggled OFF"); - } else { - CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); - } - break; - case "set": - String setting = parameters[1].toLowerCase(); - if(setting.isEmpty()) { - CommandManager.sendChatMessage("Please enter the number of hearts to set to."); - }else { - module.setHunger((int)Math.min(Double.parseDouble(setting) * 2, 20)); - CommandManager.sendChatMessage("AutoEat hunger set to " + setting + " hearts."); - } - break; - default: - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba autoeat [toggle/set] [value]"); - break; + + switch (parameters[0]) { + case "toggle": + String state = parameters[1].toLowerCase(); + if (state.equals("on")) { + module.setState(true); + CommandManager.sendChatMessage("AutoEat toggled ON"); + } else if (state.equals("off")) { + module.setState(false); + CommandManager.sendChatMessage("AutoEat toggled OFF"); + } else { + CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); } - } else { - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba autoeat [toggle/set] [value]"); + break; + case "set": + String setting = parameters[1].toLowerCase(); + if (setting.isEmpty()) { + CommandManager.sendChatMessage("Please enter the number of hearts to set to."); + } else { + module.setHunger((int) Math.min(Double.parseDouble(setting) * 2, 20)); + CommandManager.sendChatMessage("AutoEat hunger set to " + setting + " hearts."); + } + break; + default: + throw new InvalidSyntaxException(this); } } @Override public String[] getAutocorrect(String previousParameter) { - // TODO Auto-generated method stub - return null; + switch (previousParameter) { + case "toggle": + return new String[] { "on", "off" }; + case "set": + return new String[] { "1", "2", "4", "6", "8" }; + default: + return new String[] { "toggle", "set" }; + } } } \ No newline at end of file diff --git a/src/main/java/net/aoba/cmd/commands/CmdChestESP.java b/src/main/java/net/aoba/cmd/commands/CmdChestESP.java index 2729ed2..e4d3e18 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdChestESP.java +++ b/src/main/java/net/aoba/cmd/commands/CmdChestESP.java @@ -21,43 +21,47 @@ import net.aoba.Aoba; import net.aoba.cmd.Command; import net.aoba.cmd.CommandManager; +import net.aoba.cmd.InvalidSyntaxException; import net.aoba.module.modules.render.ChestESP; public class CmdChestESP extends Command { public CmdChestESP() { - super("chestesp", "Allows the player to see chest locations through ESP"); + super("chestesp", "Allows the player to see chest locations through ESP", "[toggle] [value]"); } @Override - public void runCommand(String[] parameters) { + public void runCommand(String[] parameters) throws InvalidSyntaxException { + if (parameters.length != 2) + throw new InvalidSyntaxException(this); + ChestESP module = (ChestESP) Aoba.getInstance().moduleManager.chestesp; - if (parameters.length == 2) { - switch (parameters[0]) { - case "toggle": - String state = parameters[1].toLowerCase(); - if (state.equals("on")) { - module.setState(true); - CommandManager.sendChatMessage("ChestESP toggled ON"); - } else if (state.equals("off")) { - module.setState(false); - CommandManager.sendChatMessage("ChestESP toggled OFF"); - } else { - CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); - } - break; - default: - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba chestesp [toggle] [value]"); - break; + + switch (parameters[0]) { + case "toggle": + String state = parameters[1].toLowerCase(); + if (state.equals("on")) { + module.setState(true); + CommandManager.sendChatMessage("ChestESP toggled ON"); + } else if (state.equals("off")) { + module.setState(false); + CommandManager.sendChatMessage("ChestESP toggled OFF"); + } else { + CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); } - } else { - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba chestesp [toggle] [value]"); + break; + default: + throw new InvalidSyntaxException(this); } } @Override public String[] getAutocorrect(String previousParameter) { - // TODO Auto-generated method stub - return null; + switch (previousParameter) { + case "toggle": + return new String[] { "on", "off" }; + default: + return new String[] { "toggle" }; + } } } diff --git a/src/main/java/net/aoba/cmd/commands/CmdEntityESP.java b/src/main/java/net/aoba/cmd/commands/CmdEntityESP.java index bb704ca..083ab00 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdEntityESP.java +++ b/src/main/java/net/aoba/cmd/commands/CmdEntityESP.java @@ -21,43 +21,47 @@ import net.aoba.Aoba; import net.aoba.cmd.Command; import net.aoba.cmd.CommandManager; +import net.aoba.cmd.InvalidSyntaxException; import net.aoba.module.modules.render.EntityESP; public class CmdEntityESP extends Command { public CmdEntityESP() { - super("entityesp", "Allows the player to see mobs through ESP."); + super("entityesp", "Allows the player to see mobs through ESP.", "[toggle] [value]"); } @Override - public void runCommand(String[] parameters) { + public void runCommand(String[] parameters) throws InvalidSyntaxException { + if (parameters.length != 2) + throw new InvalidSyntaxException(this); + EntityESP module = (EntityESP) Aoba.getInstance().moduleManager.entityesp; - if (parameters.length == 2) { - switch (parameters[0]) { - case "toggle": - String state = parameters[1].toLowerCase(); - if (state.equals("on")) { - module.setState(true); - CommandManager.sendChatMessage("EntityESP toggled ON"); - } else if (state.equals("off")) { - module.setState(false); - CommandManager.sendChatMessage("EntityESP toggled OFF"); - } else { - CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); - } - break; - default: - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba entityesp [toggle] [value]"); - break; + + switch (parameters[0]) { + case "toggle": + String state = parameters[1].toLowerCase(); + if (state.equals("on")) { + module.setState(true); + CommandManager.sendChatMessage("EntityESP toggled ON"); + } else if (state.equals("off")) { + module.setState(false); + CommandManager.sendChatMessage("EntityESP toggled OFF"); + } else { + CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); } - } else { - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba entityesp [toggle] [value]"); + break; + default: + throw new InvalidSyntaxException(this); } } @Override public String[] getAutocorrect(String previousParameter) { - // TODO Auto-generated method stub - return null; + switch (previousParameter) { + case "toggle": + return new String[] { "on", "off" }; + default: + return new String[] { "toggle" }; + } } } diff --git a/src/main/java/net/aoba/cmd/commands/CmdFastBreak.java b/src/main/java/net/aoba/cmd/commands/CmdFastBreak.java index 4e8dadf..095c57a 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdFastBreak.java +++ b/src/main/java/net/aoba/cmd/commands/CmdFastBreak.java @@ -21,54 +21,59 @@ import net.aoba.Aoba; import net.aoba.cmd.Command; import net.aoba.cmd.CommandManager; +import net.aoba.cmd.InvalidSyntaxException; import net.aoba.module.modules.misc.FastBreak; public class CmdFastBreak extends Command { public CmdFastBreak() { - super("fastbreak", "Decreases the time it takes to break blocks"); + super("fastbreak", "Decreases the time it takes to break blocks", "[multiplier, toggle] [value]"); } @Override - public void runCommand(String[] parameters) { + public void runCommand(String[] parameters) throws InvalidSyntaxException { + if (parameters.length != 2) + throw new InvalidSyntaxException(this); + FastBreak module = (FastBreak) Aoba.getInstance().moduleManager.fastbreak; - if (parameters.length == 2) { - switch (parameters[0]) { - case "multiplier": - try { - float multiplier = Float.parseFloat(parameters[1]); - module.setMultiplier(multiplier); - module.toggle(); - CommandManager.sendChatMessage("FastBreak multiplier set to " + multiplier + "x"); - module.toggle(); - } catch (Exception e) { - CommandManager.sendChatMessage("Invalid value."); - } - break; - case "toggle": - String state = parameters[1].toLowerCase(); - if (state.equals("on")) { - module.setState(true); - CommandManager.sendChatMessage("FastBreak toggled ON"); - } else if (state.equals("off")) { - module.setState(false); - CommandManager.sendChatMessage("FastBreak toggled OFF"); - } else { - CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); - } - break; - default: - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba fastbreak [multiplier, toggle] [value]"); - break; + switch (parameters[0]) { + case "multiplier": + try { + float multiplier = Float.parseFloat(parameters[1]); + module.setMultiplier(multiplier); + module.toggle(); + CommandManager.sendChatMessage("FastBreak multiplier set to " + multiplier + "x"); + module.toggle(); + } catch (Exception e) { + CommandManager.sendChatMessage("Invalid value."); + } + break; + case "toggle": + String state = parameters[1].toLowerCase(); + if (state.equals("on")) { + module.setState(true); + CommandManager.sendChatMessage("FastBreak toggled ON"); + } else if (state.equals("off")) { + module.setState(false); + CommandManager.sendChatMessage("FastBreak toggled OFF"); + } else { + CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); } - }else { - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba fastbreak [multiplier, toggle] [value]"); + break; + default: + throw new InvalidSyntaxException(this); } } @Override public String[] getAutocorrect(String previousParameter) { - // TODO Auto-generated method stub - return null; + switch (previousParameter) { + case "toggle": + return new String[] { "on", "off" }; + case "multiplier": + return new String[] { "0.5", "1.0", "1.15", "1.25", "1.5", "2.0" }; + default: + return new String[] { "toggle", "multiplier" }; + } } } diff --git a/src/main/java/net/aoba/cmd/commands/CmdFly.java b/src/main/java/net/aoba/cmd/commands/CmdFly.java index b3a0419..e25cc07 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdFly.java +++ b/src/main/java/net/aoba/cmd/commands/CmdFly.java @@ -21,59 +21,58 @@ import net.aoba.Aoba; import net.aoba.cmd.Command; import net.aoba.cmd.CommandManager; +import net.aoba.cmd.InvalidSyntaxException; import net.aoba.module.modules.movement.Fly; public class CmdFly extends Command { public CmdFly() { - super("fly", "Allows the player to fly"); + super("fly", "Allows the player to fly", "[speed, toggle] [value]"); } @Override - public void runCommand(String[] parameters) { - if (parameters.length == 2) { - Fly module = (Fly) Aoba.getInstance().moduleManager.fly; - switch (parameters[0]) { - case "speed": - try { - float speed = Float.parseFloat(parameters[1]); - module.setSpeed(speed); - CommandManager.sendChatMessage("Flight speed set to " + speed); + public void runCommand(String[] parameters) throws InvalidSyntaxException { + if (parameters.length != 2) + throw new InvalidSyntaxException(this); - } catch (Exception e) { - CommandManager.sendChatMessage("Invalid value."); - } - break; - case "toggle": - String state = parameters[1].toLowerCase(); - if (state.equals("on")) { - module.setState(true); - CommandManager.sendChatMessage("Fly toggled ON"); - } else if (state.equals("off")) { - module.setState(false); - CommandManager.sendChatMessage("Fly toggled OFF"); - } else { - CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); - } - break; - default: - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba fly [speed, toggle] [value]"); - break; + Fly module = (Fly) Aoba.getInstance().moduleManager.fly; + switch (parameters[0]) { + case "speed": + try { + float speed = Float.parseFloat(parameters[1]); + module.setSpeed(speed); + CommandManager.sendChatMessage("Flight speed set to " + speed); + + } catch (Exception e) { + CommandManager.sendChatMessage("Invalid value."); + } + break; + case "toggle": + String state = parameters[1].toLowerCase(); + if (state.equals("on")) { + module.setState(true); + CommandManager.sendChatMessage("Fly toggled ON"); + } else if (state.equals("off")) { + module.setState(false); + CommandManager.sendChatMessage("Fly toggled OFF"); + } else { + CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); } - }else { - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba fly [speed, toggle] [value]"); + break; + default: + throw new InvalidSyntaxException(this); } } @Override public String[] getAutocorrect(String previousParameter) { - switch(previousParameter) { - case "toggle": - return new String[] {"on", "off"}; - case "speed": - return new String[] {"0.0", "1.0", "5.0", "10.0"}; - default: - return new String[] {"speed", "toggle"}; + switch (previousParameter) { + case "toggle": + return new String[] { "on", "off" }; + case "speed": + return new String[] { "0.0", "1.0", "5.0", "10.0" }; + default: + return new String[] { "speed", "toggle" }; } } } diff --git a/src/main/java/net/aoba/cmd/commands/CmdFreecam.java b/src/main/java/net/aoba/cmd/commands/CmdFreecam.java index 399d55b..7facd2e 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdFreecam.java +++ b/src/main/java/net/aoba/cmd/commands/CmdFreecam.java @@ -21,44 +21,48 @@ import net.aoba.Aoba; import net.aoba.cmd.Command; import net.aoba.cmd.CommandManager; +import net.aoba.cmd.InvalidSyntaxException; import net.aoba.module.modules.movement.Freecam; public class CmdFreecam extends Command { public CmdFreecam() { - super("freecam", "Disables fall damage for the player"); + super("freecam", "Disables fall damage for the player", "[toggle] [value]"); } @Override - public void runCommand(String[] parameters) { + public void runCommand(String[] parameters) throws InvalidSyntaxException { + if (parameters.length != 2) + throw new InvalidSyntaxException(this); + Freecam module = (Freecam) Aoba.getInstance().moduleManager.freecam; - if (parameters.length == 2) { - switch (parameters[0]) { - case "toggle": - String state = parameters[1].toLowerCase(); - if (state.equals("on")) { - module.setState(true); - CommandManager.sendChatMessage("Freecam toggled ON"); - } else if (state.equals("off")) { - module.setState(false); - CommandManager.sendChatMessage("Freecam toggled OFF"); - } else { - CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); - } - break; - default: - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba freecam [toggle] [value]"); - break; + + switch (parameters[0]) { + case "toggle": + String state = parameters[1].toLowerCase(); + if (state.equals("on")) { + module.setState(true); + CommandManager.sendChatMessage("Freecam toggled ON"); + } else if (state.equals("off")) { + module.setState(false); + CommandManager.sendChatMessage("Freecam toggled OFF"); + } else { + CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); } - }else { - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba freecam [toggle] [value]"); + break; + default: + throw new InvalidSyntaxException(this); } } @Override public String[] getAutocorrect(String previousParameter) { - // TODO Auto-generated method stub - return null; + switch (previousParameter) { + case "toggle": + return new String[] { "on", "off" }; + default: + return new String[] { "toggle" }; + } } } diff --git a/src/main/java/net/aoba/cmd/commands/CmdFullbright.java b/src/main/java/net/aoba/cmd/commands/CmdFullbright.java index 0a80a10..f6846f7 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdFullbright.java +++ b/src/main/java/net/aoba/cmd/commands/CmdFullbright.java @@ -21,43 +21,48 @@ import net.aoba.Aoba; import net.aoba.cmd.Command; import net.aoba.cmd.CommandManager; +import net.aoba.cmd.InvalidSyntaxException; import net.aoba.module.modules.render.Fullbright; public class CmdFullbright extends Command { public CmdFullbright() { - super("fullbright", "Brightens up the world!"); + super("fullbright", "Brightens up the world!", "[toggle] [value]"); } @Override - public void runCommand(String[] parameters) { + public void runCommand(String[] parameters) throws InvalidSyntaxException { + if (parameters.length != 2) + throw new InvalidSyntaxException(this); + Fullbright module = (Fullbright) Aoba.getInstance().moduleManager.fullbright; - if (parameters.length == 2) { - switch (parameters[0]) { - case "toggle": - String state = parameters[1].toLowerCase(); - if (state.equals("on")) { - module.setState(true); - CommandManager.sendChatMessage("Fullbright toggled ON"); - } else if (state.equals("off")) { - module.setState(false); - CommandManager.sendChatMessage("Fullbright toggled OFF"); - } else { - CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); - } - break; - default: - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba fullbright [toggle] [value]"); - break; + + switch (parameters[0]) { + case "toggle": + String state = parameters[1].toLowerCase(); + if (state.equals("on")) { + module.setState(true); + CommandManager.sendChatMessage("Fullbright toggled ON"); + } else if (state.equals("off")) { + module.setState(false); + CommandManager.sendChatMessage("Fullbright toggled OFF"); + } else { + CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); } - } else { - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba fullbright [toggle] [value]"); + break; + default: + throw new InvalidSyntaxException(this); } } + @Override public String[] getAutocorrect(String previousParameter) { - // TODO Auto-generated method stub - return null; + switch (previousParameter) { + case "toggle": + return new String[] { "on", "off" }; + default: + return new String[] { "toggle" }; + } } } diff --git a/src/main/java/net/aoba/cmd/commands/CmdHelp.java b/src/main/java/net/aoba/cmd/commands/CmdHelp.java index 4e918f2..846b082 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdHelp.java +++ b/src/main/java/net/aoba/cmd/commands/CmdHelp.java @@ -18,10 +18,7 @@ package net.aoba.cmd.commands; -import java.util.ArrayList; -import java.util.HashMap; import java.util.Set; - import org.apache.commons.lang3.StringUtils; import net.aoba.module.Module; import net.aoba.Aoba; @@ -33,7 +30,7 @@ public class CmdHelp extends Command { int indexesPerPage = 5; public CmdHelp() { - super("help", "Shows the avaiable commands."); + super("help", "Shows the avaiable commands.", "[page, module]"); } @Override diff --git a/src/main/java/net/aoba/cmd/commands/CmdHud.java b/src/main/java/net/aoba/cmd/commands/CmdHud.java index 245aa9f..3d8e773 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdHud.java +++ b/src/main/java/net/aoba/cmd/commands/CmdHud.java @@ -20,30 +20,32 @@ import net.aoba.cmd.Command; import net.aoba.cmd.CommandManager; +import net.aoba.cmd.InvalidSyntaxException; public class CmdHud extends Command { public CmdHud() { - super("hud", "Allows you to customize the hud using commands."); + super("hud", "Allows you to customize the hud using commands.", "[toggle] [value]"); } @Override - public void runCommand(String[] parameters) { - if (parameters.length == 2) { - switch (parameters[0]) { - - default: - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba hud"); - break; - } - } else { - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba hud"); + public void runCommand(String[] parameters) throws InvalidSyntaxException { + if (parameters.length != 2) + throw new InvalidSyntaxException(this); + + switch (parameters[0]) { + default: + throw new InvalidSyntaxException(this); } } @Override public String[] getAutocorrect(String previousParameter) { - // TODO Auto-generated method stub - return null; + switch (previousParameter) { + case "toggle": + return new String[] { "on", "off" }; + default: + return new String[] { "toggle" }; + } } } diff --git a/src/main/java/net/aoba/cmd/commands/CmdItemESP.java b/src/main/java/net/aoba/cmd/commands/CmdItemESP.java index d2a075e..17738cd 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdItemESP.java +++ b/src/main/java/net/aoba/cmd/commands/CmdItemESP.java @@ -21,43 +21,47 @@ import net.aoba.Aoba; import net.aoba.cmd.Command; import net.aoba.cmd.CommandManager; +import net.aoba.cmd.InvalidSyntaxException; import net.aoba.module.modules.render.ItemESP; public class CmdItemESP extends Command { public CmdItemESP() { - super("itemesp", "Allows the player to see items through walls."); + super("itemesp", "Allows the player to see items through walls.", "[toggle] [value]"); } @Override - public void runCommand(String[] parameters) { + public void runCommand(String[] parameters) throws InvalidSyntaxException { + if (parameters.length != 2) + throw new InvalidSyntaxException(this); + ItemESP module = (ItemESP) Aoba.getInstance().moduleManager.itemesp; - if (parameters.length == 2) { - switch (parameters[0]) { - case "toggle": - String state = parameters[1].toLowerCase(); - if (state.equals("on")) { - module.setState(true); - CommandManager.sendChatMessage("ItemESP toggled ON"); - } else if (state.equals("off")) { - module.setState(false); - CommandManager.sendChatMessage("ItemESP toggled OFF"); - } else { - CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); - } - break; - default: - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba itemesp [toggle] [value]"); - break; + + switch (parameters[0]) { + case "toggle": + String state = parameters[1].toLowerCase(); + if (state.equals("on")) { + module.setState(true); + CommandManager.sendChatMessage("ItemESP toggled ON"); + } else if (state.equals("off")) { + module.setState(false); + CommandManager.sendChatMessage("ItemESP toggled OFF"); + } else { + CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); } - } else { - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba itemesp [toggle] [value]"); + break; + default: + throw new InvalidSyntaxException(this); } } @Override public String[] getAutocorrect(String previousParameter) { - // TODO Auto-generated method stub - return null; + switch (previousParameter) { + case "toggle": + return new String[] { "on", "off" }; + default: + return new String[] { "toggle" }; + } } } diff --git a/src/main/java/net/aoba/cmd/commands/CmdNoFall.java b/src/main/java/net/aoba/cmd/commands/CmdNoFall.java index b60d919..a22920e 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdNoFall.java +++ b/src/main/java/net/aoba/cmd/commands/CmdNoFall.java @@ -21,44 +21,47 @@ import net.aoba.Aoba; import net.aoba.cmd.Command; import net.aoba.cmd.CommandManager; +import net.aoba.cmd.InvalidSyntaxException; import net.aoba.module.modules.movement.NoFall; public class CmdNoFall extends Command { public CmdNoFall() { - super("nofall", "Disables fall damage for the player"); + super("nofall", "Disables fall damage for the player", "[toggle] [value]"); } @Override - public void runCommand(String[] parameters) { + public void runCommand(String[] parameters) throws InvalidSyntaxException { + if (parameters.length != 2) + throw new InvalidSyntaxException(this); + NoFall module = (NoFall) Aoba.getInstance().moduleManager.nofall; - if (parameters.length == 2) { - switch (parameters[0]) { - case "toggle": - String state = parameters[1].toLowerCase(); - if (state.equals("on")) { - module.setState(true); - CommandManager.sendChatMessage("NoFall toggled ON"); - } else if (state.equals("off")) { - module.setState(false); - CommandManager.sendChatMessage("NoFall toggled OFF"); - } else { - CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); - } - break; - default: - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba nofall [toggle] [value]"); - break; + + switch (parameters[0]) { + case "toggle": + String state = parameters[1].toLowerCase(); + if (state.equals("on")) { + module.setState(true); + CommandManager.sendChatMessage("NoFall toggled ON"); + } else if (state.equals("off")) { + module.setState(false); + CommandManager.sendChatMessage("NoFall toggled OFF"); + } else { + CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); } - }else { - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba nofall [toggle] [value]"); + break; + default: + throw new InvalidSyntaxException(this); } } @Override public String[] getAutocorrect(String previousParameter) { - // TODO Auto-generated method stub - return null; + switch (previousParameter) { + case "toggle": + return new String[] { "on", "off" }; + default: + return new String[] { "toggle" }; + } } - } diff --git a/src/main/java/net/aoba/cmd/commands/CmdNoSlowdown.java b/src/main/java/net/aoba/cmd/commands/CmdNoSlowdown.java index bca3edf..87f1de4 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdNoSlowdown.java +++ b/src/main/java/net/aoba/cmd/commands/CmdNoSlowdown.java @@ -21,44 +21,48 @@ import net.aoba.Aoba; import net.aoba.cmd.Command; import net.aoba.cmd.CommandManager; +import net.aoba.cmd.InvalidSyntaxException; import net.aoba.module.modules.movement.NoSlowdown; public class CmdNoSlowdown extends Command { public CmdNoSlowdown() { - super("noslowdown", "Disables webs from slowing the player down"); + super("noslowdown", "Disables webs from slowing the player down", "[toggle] [value]"); } @Override - public void runCommand(String[] parameters) { + public void runCommand(String[] parameters) throws InvalidSyntaxException { + if (parameters.length != 2) + throw new InvalidSyntaxException(this); + NoSlowdown module = (NoSlowdown) Aoba.getInstance().moduleManager.noslowdown; - if (parameters.length == 2) { - switch (parameters[0]) { - case "toggle": - String state = parameters[1].toLowerCase(); - if (state.equals("on")) { - module.setState(true); - CommandManager.sendChatMessage("NoSlowDown toggled ON"); - } else if (state.equals("off")) { - module.setState(false); - CommandManager.sendChatMessage("NoSlowDown toggled OFF"); - } else { - CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); - } - break; - default: - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba noslowdown [toggle] [value]"); - break; + + switch (parameters[0]) { + case "toggle": + String state = parameters[1].toLowerCase(); + if (state.equals("on")) { + module.setState(true); + CommandManager.sendChatMessage("NoSlowDown toggled ON"); + } else if (state.equals("off")) { + module.setState(false); + CommandManager.sendChatMessage("NoSlowDown toggled OFF"); + } else { + CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); } - }else { - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba noslowdown [toggle] [value]"); + break; + default: + throw new InvalidSyntaxException(this); } } @Override public String[] getAutocorrect(String previousParameter) { - // TODO Auto-generated method stub - return null; + switch (previousParameter) { + case "toggle": + return new String[] { "on", "off" }; + default: + return new String[] { "toggle" }; + } } } diff --git a/src/main/java/net/aoba/cmd/commands/CmdNoclip.java b/src/main/java/net/aoba/cmd/commands/CmdNoclip.java index ba1df8e..68c9f6f 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdNoclip.java +++ b/src/main/java/net/aoba/cmd/commands/CmdNoclip.java @@ -21,54 +21,61 @@ import net.aoba.Aoba; import net.aoba.cmd.Command; import net.aoba.cmd.CommandManager; +import net.aoba.cmd.InvalidSyntaxException; import net.aoba.module.modules.movement.Noclip; public class CmdNoclip extends Command { public CmdNoclip() { - super("noclip", "Allows the player to phase through blocks."); + super("noclip", "Allows the player to phase through blocks.", "[toggle/speed] [value]"); } @Override - public void runCommand(String[] parameters) { + public void runCommand(String[] parameters) throws InvalidSyntaxException { + if (parameters.length != 2) + throw new InvalidSyntaxException(this); + Noclip module = (Noclip) Aoba.getInstance().moduleManager.noclip; - if (parameters.length == 2) { - switch (parameters[0]) { - case "speed": - try { - float speed = Float.parseFloat(parameters[1]); - module.setSpeed(speed); - CommandManager.sendChatMessage("Flight speed set to " + speed); - } catch (Exception e) { - CommandManager.sendChatMessage("Invalid value."); - } - break; - case "toggle": - String state = parameters[1].toLowerCase(); - if (state.equals("on")) { - module.setState(true); - CommandManager.sendChatMessage("Noclip toggled ON"); - } else if (state.equals("off")) { - module.setState(false); - CommandManager.sendChatMessage("Noclip toggled OFF"); - } else { - CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); - } - break; - default: - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba noclip [toggle] [value]"); - break; + switch (parameters[0]) { + case "speed": + try { + float speed = Float.parseFloat(parameters[1]); + module.setSpeed(speed); + CommandManager.sendChatMessage("Flight speed set to " + speed); + + } catch (Exception e) { + CommandManager.sendChatMessage("Invalid value."); + } + break; + case "toggle": + String state = parameters[1].toLowerCase(); + if (state.equals("on")) { + module.setState(true); + CommandManager.sendChatMessage("Noclip toggled ON"); + } else if (state.equals("off")) { + module.setState(false); + CommandManager.sendChatMessage("Noclip toggled OFF"); + } else { + CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); } - }else { - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba noclip [toggle] [value]"); + break; + default: + throw new InvalidSyntaxException(this); } + } @Override public String[] getAutocorrect(String previousParameter) { - // TODO Auto-generated method stub - return null; + switch (previousParameter) { + case "toggle": + return new String[] { "on", "off" }; + case "speed": + return new String[] { "0.0", "1.0", "5.0", "10.0" }; + default: + return new String[] { "toggle" }; + } } } diff --git a/src/main/java/net/aoba/cmd/commands/CmdNuker.java b/src/main/java/net/aoba/cmd/commands/CmdNuker.java index 24cd121..20971af 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdNuker.java +++ b/src/main/java/net/aoba/cmd/commands/CmdNuker.java @@ -21,58 +21,64 @@ import net.aoba.Aoba; import net.aoba.cmd.Command; import net.aoba.cmd.CommandManager; +import net.aoba.cmd.InvalidSyntaxException; import net.aoba.module.modules.world.Nuker; public class CmdNuker extends Command { public CmdNuker() { - super("nuker", "Destroys blocks within a certain distance of the player."); + super("nuker", "Destroys blocks within a certain distance of the player.", "[radius, toggle] [value]"); } @Override - public void runCommand(String[] parameters) { + public void runCommand(String[] parameters) throws InvalidSyntaxException { + if (parameters.length != 2) + throw new InvalidSyntaxException(this); + Nuker module = (Nuker) Aoba.getInstance().moduleManager.nuker; - if (parameters.length == 2) { - switch (parameters[0]) { - case "radius": - try { - int radius = Integer.parseInt(parameters[1]); - if (radius > 10) { - radius = 10; - } else if (radius < 1) { - radius = 1; - } - module.setRadius(radius); - CommandManager.sendChatMessage("Nuker radius set to " + radius); - } catch (Exception e) { - CommandManager.sendChatMessage("Invalid value. [1-10]"); - } - break; - case "toggle": - String state = parameters[1].toLowerCase(); - if (state.equals("on")) { - module.setState(true); - CommandManager.sendChatMessage("Nuker toggled ON"); - } else if (state.equals("off")) { - module.setState(false); - CommandManager.sendChatMessage("Nuker toggled OFF"); - } else { - CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); + switch (parameters[0]) { + case "radius": + try { + int radius = Integer.parseInt(parameters[1]); + if (radius > 10) { + radius = 10; + } else if (radius < 1) { + radius = 1; } - break; - default: - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba nuker [radius, toggle] [value]"); - break; + module.setRadius(radius); + CommandManager.sendChatMessage("Nuker radius set to " + radius); + + } catch (Exception e) { + CommandManager.sendChatMessage("Invalid value. [1-10]"); } - }else { - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba nuker [radius, toggle] [value]"); + break; + case "toggle": + String state = parameters[1].toLowerCase(); + if (state.equals("on")) { + module.setState(true); + CommandManager.sendChatMessage("Nuker toggled ON"); + } else if (state.equals("off")) { + module.setState(false); + CommandManager.sendChatMessage("Nuker toggled OFF"); + } else { + CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); + } + break; + default: + throw new InvalidSyntaxException(this); } } @Override public String[] getAutocorrect(String previousParameter) { - // TODO Auto-generated method stub - return null; + switch (previousParameter) { + case "toggle": + return new String[] { "on", "off" }; + case "radius": + return new String[] { "1.0", "2.0", "5.0", "10.0" }; + default: + return new String[] { "toggle" }; + } } } diff --git a/src/main/java/net/aoba/cmd/commands/CmdPOV.java b/src/main/java/net/aoba/cmd/commands/CmdPOV.java index dbaa004..413c040 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdPOV.java +++ b/src/main/java/net/aoba/cmd/commands/CmdPOV.java @@ -18,55 +18,73 @@ package net.aoba.cmd.commands; +import java.util.List; +import java.util.Set; + import net.aoba.Aoba; import net.aoba.cmd.Command; import net.aoba.cmd.CommandManager; +import net.aoba.cmd.InvalidSyntaxException; import net.aoba.module.modules.render.POV; +import net.minecraft.client.network.AbstractClientPlayerEntity; public class CmdPOV extends Command { public CmdPOV() { - super("pov", "Allows the player to see through someone else's POV."); + super("pov", "Allows the player to see through someone else's POV.", "[set, toggle] [value]"); } @Override - public void runCommand(String[] parameters) { + public void runCommand(String[] parameters) throws InvalidSyntaxException { + if (parameters.length != 2) + throw new InvalidSyntaxException(this); + POV module = (POV) Aoba.getInstance().moduleManager.pov; - if (parameters.length == 2) { - switch (parameters[0]) { - case "set": - try { - String player = parameters[1]; - CommandManager.sendChatMessage("Setting POV Player Name to " + player); - module.setEntityPOV(player); - } catch (Exception e) { - CommandManager.sendChatMessage("Invalid value."); - } - break; - case "toggle": - String state = parameters[1].toLowerCase(); - if (state.equals("on")) { - module.setState(true); - CommandManager.sendChatMessage("POV toggled ON"); - } else if (state.equals("off")) { - module.setState(false); - CommandManager.sendChatMessage("POV toggled OFF"); - } else { - CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); - } - break; - default: - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba pov [set, toggle] [value]"); - break; + + switch (parameters[0]) { + case "set": + try { + String player = parameters[1]; + CommandManager.sendChatMessage("Setting POV Player Name to " + player); + module.setEntityPOV(player); + } catch (Exception e) { + CommandManager.sendChatMessage("Invalid value."); + } + break; + case "toggle": + String state = parameters[1].toLowerCase(); + if (state.equals("on")) { + module.setState(true); + CommandManager.sendChatMessage("POV toggled ON"); + } else if (state.equals("off")) { + module.setState(false); + CommandManager.sendChatMessage("POV toggled OFF"); + } else { + CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); } - }else { - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba pov [set, toggle] [value]"); + break; + default: + throw new InvalidSyntaxException(this); } } @Override public String[] getAutocorrect(String previousParameter) { - // TODO Auto-generated method stub - return null; + switch (previousParameter) { + case "toggle": + return new String[] { "on", "off" }; + case "set": + List players = mc.world.getPlayers(); + int numPlayers = players.size(); + String[] suggestions = new String[numPlayers]; + + int i = 0; + for (AbstractClientPlayerEntity x : players) + suggestions[i++] = x.getName().getString(); + + return suggestions; + default: + return new String[] { "toggle" }; + } } } \ No newline at end of file diff --git a/src/main/java/net/aoba/cmd/commands/CmdPlayerESP.java b/src/main/java/net/aoba/cmd/commands/CmdPlayerESP.java index c64dcac..249d297 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdPlayerESP.java +++ b/src/main/java/net/aoba/cmd/commands/CmdPlayerESP.java @@ -21,43 +21,47 @@ import net.aoba.Aoba; import net.aoba.cmd.Command; import net.aoba.cmd.CommandManager; +import net.aoba.cmd.InvalidSyntaxException; import net.aoba.module.modules.render.PlayerESP; public class CmdPlayerESP extends Command { public CmdPlayerESP() { - super("playeresp", "Allows the player to see other players through walls."); + super("playeresp", "Allows the player to see other players through walls.", "[toggle] [value]"); } @Override - public void runCommand(String[] parameters) { + public void runCommand(String[] parameters) throws InvalidSyntaxException { + if (parameters.length != 2) + throw new InvalidSyntaxException(this); + PlayerESP module = (PlayerESP) Aoba.getInstance().moduleManager.playeresp; - if (parameters.length == 2) { - switch (parameters[0]) { - case "toggle": - String state = parameters[1].toLowerCase(); - if (state.equals("on")) { - module.setState(true); - CommandManager.sendChatMessage("PlayerESP toggled ON"); - } else if (state.equals("off")) { - module.setState(false); - CommandManager.sendChatMessage("PlayerESP toggled OFF"); - } else { - CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); - } - break; - default: - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba playeresp [toggle] [value]"); - break; + + switch (parameters[0]) { + case "toggle": + String state = parameters[1].toLowerCase(); + if (state.equals("on")) { + module.setState(true); + CommandManager.sendChatMessage("PlayerESP toggled ON"); + } else if (state.equals("off")) { + module.setState(false); + CommandManager.sendChatMessage("PlayerESP toggled OFF"); + } else { + CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); } - } else { - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba playeresp [toggle] [value]"); + break; + default: + throw new InvalidSyntaxException(this); } } @Override public String[] getAutocorrect(String previousParameter) { - // TODO Auto-generated method stub - return null; + switch (previousParameter) { + case "toggle": + return new String[] { "on", "off" }; + default: + return new String[] { "toggle" }; + } } } diff --git a/src/main/java/net/aoba/cmd/commands/CmdReach.java b/src/main/java/net/aoba/cmd/commands/CmdReach.java index 27f2219..0e53057 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdReach.java +++ b/src/main/java/net/aoba/cmd/commands/CmdReach.java @@ -21,53 +21,59 @@ import net.aoba.Aoba; import net.aoba.cmd.Command; import net.aoba.cmd.CommandManager; +import net.aoba.cmd.InvalidSyntaxException; import net.aoba.module.modules.combat.Reach; public class CmdReach extends Command { public CmdReach() { - super("reach", "Allows the player to reach further."); + super("reach", "Allows the player to reach further.", "[toggle/distance] [value]"); } @Override - public void runCommand(String[] parameters) { + public void runCommand(String[] parameters) throws InvalidSyntaxException { + if (parameters.length != 2) + throw new InvalidSyntaxException(this); + Reach module = (Reach) Aoba.getInstance().moduleManager.reach; - if (parameters.length == 2) { - switch (parameters[0]) { - case "distance": - try { - float distance = Float.parseFloat(parameters[1]); - module.setReachLength(distance); - CommandManager.sendChatMessage("Reach distance set to " + distance); - } catch (Exception e) { - CommandManager.sendChatMessage("Invalid value."); - } - break; - case "toggle": - String state = parameters[1].toLowerCase(); - if (state.equals("on")) { - module.setState(true); - CommandManager.sendChatMessage("Reach toggled ON"); - } else if (state.equals("off")) { - module.setState(false); - CommandManager.sendChatMessage("Reach toggled OFF"); - } else { - CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); - } - break; - default: - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba reach [toggle/distance] [value]"); - break; + switch (parameters[0]) { + case "distance": + try { + float distance = Float.parseFloat(parameters[1]); + module.setReachLength(distance); + CommandManager.sendChatMessage("Reach distance set to " + distance); + + } catch (Exception e) { + CommandManager.sendChatMessage("Invalid value."); } - } else { - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba reach [toggle/distance] [value]"); + break; + case "toggle": + String state = parameters[1].toLowerCase(); + if (state.equals("on")) { + module.setState(true); + CommandManager.sendChatMessage("Reach toggled ON"); + } else if (state.equals("off")) { + module.setState(false); + CommandManager.sendChatMessage("Reach toggled OFF"); + } else { + CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); + } + break; + default: + throw new InvalidSyntaxException(this); } } @Override public String[] getAutocorrect(String previousParameter) { - // TODO Auto-generated method stub - return null; + switch (previousParameter) { + case "toggle": + return new String[] { "on", "off" }; + case "distance:": + return new String[] { "1.0", "2.0", "3.0", "4.0", "5.0", "6.0", "7.0", "8.0" }; + default: + return new String[] { "toggle" }; + } } } \ No newline at end of file diff --git a/src/main/java/net/aoba/cmd/commands/CmdSpam.java b/src/main/java/net/aoba/cmd/commands/CmdSpam.java index e0ace6e..12f26bc 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdSpam.java +++ b/src/main/java/net/aoba/cmd/commands/CmdSpam.java @@ -20,31 +20,37 @@ import net.aoba.cmd.Command; import net.aoba.cmd.CommandManager; +import net.aoba.cmd.InvalidSyntaxException; public class CmdSpam extends Command { public CmdSpam() { - super("spam", "Spams the chat with a certain message."); + super("spam", "Spams the chat with a certain message.", "[times] [message]"); } @Override - public void runCommand(String[] parameters) { - if (parameters.length > 1) { - String message = ""; - for(int msg = 1; msg < parameters.length; msg++) { - message = message + parameters[msg] + " "; - } - for(int i = 0; i < Integer.parseInt(parameters[0]); i++) { - //mc.player.sendChatMessage(message); - } - }else { - CommandManager.sendChatMessage("Invalid Usage! Use format '.aoba spam [Times] [Message]'"); + public void runCommand(String[] parameters) throws InvalidSyntaxException { + if (parameters.length < 2) + throw new InvalidSyntaxException(this); + + // Combines the "parameters" into a string to be printed. + String message = ""; + for (int msg = 1; msg < parameters.length; msg++) { + message = message + parameters[msg] + " "; + } + + // Prints out that message X number of times. + for (int i = 0; i < Integer.parseInt(parameters[0]); i++) { + mc.player.networkHandler.sendChatMessage(message); } + } @Override public String[] getAutocorrect(String previousParameter) { - // TODO Auto-generated method stub - return null; + switch (previousParameter) { + default: + return new String[] { "Aoba is an amazing client!" }; + } } } diff --git a/src/main/java/net/aoba/cmd/commands/CmdSprint.java b/src/main/java/net/aoba/cmd/commands/CmdSprint.java index a82eb49..8960e30 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdSprint.java +++ b/src/main/java/net/aoba/cmd/commands/CmdSprint.java @@ -21,43 +21,48 @@ import net.aoba.Aoba; import net.aoba.cmd.Command; import net.aoba.cmd.CommandManager; +import net.aoba.cmd.InvalidSyntaxException; import net.aoba.module.modules.movement.Sprint; public class CmdSprint extends Command { public CmdSprint() { - super("sprint", "Forces the player to constantly sprint."); + super("sprint", "Forces the player to constantly sprint.", "[toggle] [value]"); } @Override - public void runCommand(String[] parameters) { + public void runCommand(String[] parameters) throws InvalidSyntaxException { + if (parameters.length != 2) + throw new InvalidSyntaxException(this); + Sprint module = (Sprint) Aoba.getInstance().moduleManager.sprint; - if (parameters.length == 2) { - switch (parameters[0]) { - case "toggle": - String state = parameters[1].toLowerCase(); - if (state.equals("on")) { - module.setState(true); - CommandManager.sendChatMessage("Sprint toggled ON"); - } else if (state.equals("off")) { - module.setState(false); - CommandManager.sendChatMessage("Sprint toggled OFF"); - } else { - CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); - } - break; - default: - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba sprint [toggle] [value]"); - break; + + switch (parameters[0]) { + case "toggle": + String state = parameters[1].toLowerCase(); + if (state.equals("on")) { + module.setState(true); + CommandManager.sendChatMessage("Sprint toggled ON"); + } else if (state.equals("off")) { + module.setState(false); + CommandManager.sendChatMessage("Sprint toggled OFF"); + } else { + CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); } - }else { - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba sprint [toggle] [value]"); + break; + default: + throw new InvalidSyntaxException(this); } + } @Override public String[] getAutocorrect(String previousParameter) { - // TODO Auto-generated method stub - return null; + switch (previousParameter) { + case "toggle": + return new String[] { "on", "off" }; + default: + return new String[] { "toggle" }; + } } } diff --git a/src/main/java/net/aoba/cmd/commands/CmdStep.java b/src/main/java/net/aoba/cmd/commands/CmdStep.java index e4ca89d..48f205f 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdStep.java +++ b/src/main/java/net/aoba/cmd/commands/CmdStep.java @@ -21,53 +21,59 @@ import net.aoba.Aoba; import net.aoba.cmd.Command; import net.aoba.cmd.CommandManager; +import net.aoba.cmd.InvalidSyntaxException; import net.aoba.module.modules.movement.Step; public class CmdStep extends Command { public CmdStep() { - super("step", "Allows the player to step up blocks"); + super("step", "Allows the player to step up blocks", "[toggle/height] [value]"); } @Override - public void runCommand(String[] parameters) { + public void runCommand(String[] parameters) throws InvalidSyntaxException { + if (parameters.length != 2) + throw new InvalidSyntaxException(this); + Step module = (Step) Aoba.getInstance().moduleManager.step; - if (parameters.length == 2) { - switch (parameters[0]) { - case "height": - try { - float height = Float.parseFloat(parameters[1]); - module.setStepHeight(height); - CommandManager.sendChatMessage("Step height set to " + height); - } catch (Exception e) { - CommandManager.sendChatMessage("Invalid value."); - } - break; - case "toggle": - String state = parameters[1].toLowerCase(); - if (state.equals("on")) { - module.setState(true); - CommandManager.sendChatMessage("Step toggled ON"); - } else if (state.equals("off")) { - module.setState(false); - CommandManager.sendChatMessage("Step toggled OFF"); - } else { - CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); - } - break; - default: - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba step [toggle/height] [value]"); - break; + switch (parameters[0]) { + case "height": + try { + float height = Float.parseFloat(parameters[1]); + module.setStepHeight(height); + CommandManager.sendChatMessage("Step height set to " + height); + + } catch (Exception e) { + CommandManager.sendChatMessage("Invalid value."); } - } else { - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba step [toggle/height] [value]"); + break; + case "toggle": + String state = parameters[1].toLowerCase(); + if (state.equals("on")) { + module.setState(true); + CommandManager.sendChatMessage("Step toggled ON"); + } else if (state.equals("off")) { + module.setState(false); + CommandManager.sendChatMessage("Step toggled OFF"); + } else { + CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); + } + break; + default: + throw new InvalidSyntaxException(this); } } @Override public String[] getAutocorrect(String previousParameter) { - // TODO Auto-generated method stub - return null; + switch (previousParameter) { + case "toggle": + return new String[] { "on", "off" }; + case "height": + return new String[] { "0.5", "1.0", "1.5", "2.0", "5.0", "10.0" }; + default: + return new String[] { "toggle", "height" }; + } } } diff --git a/src/main/java/net/aoba/cmd/commands/CmdTP.java b/src/main/java/net/aoba/cmd/commands/CmdTP.java index 05fcfaa..4c5412e 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdTP.java +++ b/src/main/java/net/aoba/cmd/commands/CmdTP.java @@ -20,25 +20,24 @@ import net.aoba.cmd.Command; import net.aoba.cmd.CommandManager; +import net.aoba.cmd.InvalidSyntaxException; public class CmdTP extends Command { public CmdTP() { - super("tp", "Teleports the player certain blocks away (Vanilla only)"); + super("tp", "Teleports the player certain blocks away (Vanilla only)", "[x] [y] [z]"); } @Override - public void runCommand(String[] parameters) { - if (parameters.length == 3) { + public void runCommand(String[] parameters) throws InvalidSyntaxException { + if (parameters.length != 3) + throw new InvalidSyntaxException(this); + mc.player.setPosition(Double.parseDouble(parameters[0]), Double.parseDouble(parameters[1]), Double.parseDouble(parameters[2])); - } else { - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba tp [x] [y] [z]"); - } } @Override public String[] getAutocorrect(String previousParameter) { - // TODO Auto-generated method stub - return null; + return new String[] {"0 0 0"}; } } diff --git a/src/main/java/net/aoba/cmd/commands/CmdTileBreaker.java b/src/main/java/net/aoba/cmd/commands/CmdTileBreaker.java index 69408fd..4baaa02 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdTileBreaker.java +++ b/src/main/java/net/aoba/cmd/commands/CmdTileBreaker.java @@ -21,58 +21,64 @@ import net.aoba.Aoba; import net.aoba.cmd.Command; import net.aoba.cmd.CommandManager; +import net.aoba.cmd.InvalidSyntaxException; import net.aoba.module.modules.world.TileBreaker; public class CmdTileBreaker extends Command { public CmdTileBreaker() { - super("tilebreaker", "Breaks insta-break blocks within a certain radius"); + super("tilebreaker", "Breaks insta-break blocks within a certain radius", "[radius, toggle] [value]"); } @Override - public void runCommand(String[] parameters) { + public void runCommand(String[] parameters) throws InvalidSyntaxException { + if (parameters.length != 2) + throw new InvalidSyntaxException(this); + TileBreaker module = (TileBreaker) Aoba.getInstance().moduleManager.tilebreaker; - if (parameters.length == 2) { - switch (parameters[0]) { - case "radius": - try { - int radius = Integer.parseInt(parameters[1]); - if (radius > 10) { - radius = 10; - } else if (radius < 1) { - radius = 1; - } - module.setRadius(radius); - CommandManager.sendChatMessage("TileBreaker radius set to " + radius); - } catch (Exception e) { - CommandManager.sendChatMessage("Invalid value. [1-10]"); - } - break; - case "toggle": - String state = parameters[1].toLowerCase(); - if (state.equals("on")) { - module.setState(true); - CommandManager.sendChatMessage("TileBreaker toggled ON"); - } else if (state.equals("off")) { - module.setState(false); - CommandManager.sendChatMessage("TileBreaker toggled OFF"); - } else { - CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); + switch (parameters[0]) { + case "radius": + try { + int radius = Integer.parseInt(parameters[1]); + if (radius > 10) { + radius = 10; + } else if (radius < 1) { + radius = 1; } - break; - default: - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba tilebreaker [radius, toggle] [value]"); - break; + module.setRadius(radius); + CommandManager.sendChatMessage("TileBreaker radius set to " + radius); + + } catch (Exception e) { + CommandManager.sendChatMessage("Invalid value. [1-10]"); } - }else { - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba tilebreaker [radius, toggle] [value]"); + break; + case "toggle": + String state = parameters[1].toLowerCase(); + if (state.equals("on")) { + module.setState(true); + CommandManager.sendChatMessage("TileBreaker toggled ON"); + } else if (state.equals("off")) { + module.setState(false); + CommandManager.sendChatMessage("TileBreaker toggled OFF"); + } else { + CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); + } + break; + default: + throw new InvalidSyntaxException(this); } } @Override public String[] getAutocorrect(String previousParameter) { - // TODO Auto-generated method stub - return null; + switch (previousParameter) { + case "toggle": + return new String[] { "on", "off" }; + case "radius": + return new String[] { "1.0", "2.0", "5.0", "10.0" }; + default: + return new String[] { "toggle", "radius" }; + } } } diff --git a/src/main/java/net/aoba/cmd/commands/CmdTimer.java b/src/main/java/net/aoba/cmd/commands/CmdTimer.java index bdbf82a..79b298c 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdTimer.java +++ b/src/main/java/net/aoba/cmd/commands/CmdTimer.java @@ -21,56 +21,62 @@ import net.aoba.Aoba; import net.aoba.cmd.Command; import net.aoba.cmd.CommandManager; +import net.aoba.cmd.InvalidSyntaxException; import net.aoba.module.modules.misc.Timer; public class CmdTimer extends Command { public CmdTimer() { - super("timer", "Speeds up the game."); + super("timer", "Speeds up the game.", "[toggle/multiplier] [value]"); } @Override - public void runCommand(String[] parameters) { + public void runCommand(String[] parameters) throws InvalidSyntaxException { + if (parameters.length != 2) + throw new InvalidSyntaxException(this); + Timer module = (Timer) Aoba.getInstance().moduleManager.timer; - if (parameters.length == 2) { - switch (parameters[0]) { - case "toggle": - String state = parameters[1].toLowerCase(); - if (state.equals("on")) { - module.setState(true); - CommandManager.sendChatMessage("Timer toggled ON"); - } else if (state.equals("off")) { - module.setState(false); - CommandManager.sendChatMessage("Timer toggled OFF"); - } else { - CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); - } - break; - case "multiplier": - try { - float param1 = Float.parseFloat(parameters[1]); - // TODO FIX TIMER MULTIPLER SET USING MIXIN - //mc.timer.setMultiplier(param1); - CommandManager.sendChatMessage("Timer multiplier set to " + param1); - } catch (Exception e) { - CommandManager.sendChatMessage("Invalid value."); - } - break; + switch (parameters[0]) { + case "toggle": + String state = parameters[1].toLowerCase(); + if (state.equals("on")) { + module.setState(true); + CommandManager.sendChatMessage("Timer toggled ON"); + } else if (state.equals("off")) { + module.setState(false); + CommandManager.sendChatMessage("Timer toggled OFF"); + } else { + CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); + } + break; + case "multiplier": + try { + float param1 = Float.parseFloat(parameters[1]); + Timer timer = (Timer) Aoba.getInstance().moduleManager.timer; + timer.setMultipler(param1); + CommandManager.sendChatMessage("Timer multiplier set to " + param1); - default: - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba timer [toggle/multiplier] [value]"); - break; + } catch (Exception e) { + CommandManager.sendChatMessage("Invalid value."); } - }else { - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba timer [toggle] [value]"); + break; + + default: + throw new InvalidSyntaxException(this); } } @Override public String[] getAutocorrect(String previousParameter) { - // TODO Auto-generated method stub - return null; + switch (previousParameter) { + case "toggle": + return new String[] { "on", "off" }; + case "multiplier": + return new String[] { "0.5", "1.0", "1.15", "1.25", "1.5", "2.0" }; + default: + return new String[] { "toggle", "multiplier" }; + } } } \ No newline at end of file diff --git a/src/main/java/net/aoba/cmd/commands/CmdTracer.java b/src/main/java/net/aoba/cmd/commands/CmdTracer.java index 12ae91d..5bae59f 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdTracer.java +++ b/src/main/java/net/aoba/cmd/commands/CmdTracer.java @@ -21,43 +21,47 @@ import net.aoba.Aoba; import net.aoba.cmd.Command; import net.aoba.cmd.CommandManager; +import net.aoba.cmd.InvalidSyntaxException; import net.aoba.module.modules.render.Tracer; public class CmdTracer extends Command { public CmdTracer() { - super("tracer", "Draws a tracer that points towards players."); + super("tracer", "Draws a tracer that points towards players.", "[toggle] [value]"); } @Override - public void runCommand(String[] parameters) { + public void runCommand(String[] parameters) throws InvalidSyntaxException { + if (parameters.length != 2) + throw new InvalidSyntaxException(this); + Tracer module = (Tracer) Aoba.getInstance().moduleManager.tracer; - if (parameters.length == 2) { - switch (parameters[0]) { - case "toggle": - String state = parameters[1].toLowerCase(); - if (state.equals("on")) { - module.setState(true); - CommandManager.sendChatMessage("Tracer toggled ON"); - } else if (state.equals("off")) { - module.setState(false); - CommandManager.sendChatMessage("Tracer toggled OFF"); - } else { - CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); - } - break; - default: - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba tracer [toggle] [value]"); - break; + + switch (parameters[0]) { + case "toggle": + String state = parameters[1].toLowerCase(); + if (state.equals("on")) { + module.setState(true); + CommandManager.sendChatMessage("Tracer toggled ON"); + } else if (state.equals("off")) { + module.setState(false); + CommandManager.sendChatMessage("Tracer toggled OFF"); + } else { + CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); } - } else { - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba tracer [toggle] [value]"); + break; + default: + throw new InvalidSyntaxException(this); } } @Override public String[] getAutocorrect(String previousParameter) { - // TODO Auto-generated method stub - return null; + switch (previousParameter) { + case "toggle": + return new String[] { "on", "off" }; + default: + return new String[] { "toggle" }; + } } } diff --git a/src/main/java/net/aoba/cmd/commands/CmdXRay.java b/src/main/java/net/aoba/cmd/commands/CmdXRay.java index 9813411..5e46d2a 100644 --- a/src/main/java/net/aoba/cmd/commands/CmdXRay.java +++ b/src/main/java/net/aoba/cmd/commands/CmdXRay.java @@ -24,6 +24,7 @@ import net.aoba.Aoba; import net.aoba.cmd.Command; import net.aoba.cmd.CommandManager; +import net.aoba.cmd.InvalidSyntaxException; import net.aoba.module.modules.render.XRay; import net.minecraft.block.Block; import net.minecraft.block.Blocks; @@ -34,92 +35,90 @@ public class CmdXRay extends Command { public CmdXRay() { - super("xray", "Allows the player to see certain blocks through walls"); + super("xray", "Allows the player to see certain blocks through walls", "[toggle/block] [value]"); } @Override - public void runCommand(String[] parameters) { + public void runCommand(String[] parameters) throws InvalidSyntaxException { + XRay module = (XRay) Aoba.getInstance().moduleManager.xray; - if (parameters.length >= 2 && parameters.length <= 3) { - switch (parameters[0]) { - case "toggle": - String state = parameters[1].toLowerCase(); - if (state.equals("on")) { - module.setState(true); - CommandManager.sendChatMessage("XRay toggled ON"); - } else if (state.equals("off")) { - module.setState(false); - CommandManager.sendChatMessage("XRay toggled OFF"); - } else { - CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); + + switch (parameters[0]) { + case "toggle": + if (parameters.length != 2) + throw new InvalidSyntaxException(this); + + String state = parameters[1].toLowerCase(); + if (state.equals("on")) { + module.setState(true); + CommandManager.sendChatMessage("XRay toggled ON"); + } else if (state.equals("off")) { + module.setState(false); + CommandManager.sendChatMessage("XRay toggled OFF"); + } else { + CommandManager.sendChatMessage("Invalid value. [ON/OFF]"); + } + break; + case "block": + if (parameters.length != 3) + throw new InvalidSyntaxException(this); + switch (parameters[1]) { + case "add": + String block1 = parameters[2].toLowerCase(); + Block tempBlock1; + try { + tempBlock1 = Registries.BLOCK.get(new Identifier(block1)); + } catch (InvalidIdentifierException e) { + tempBlock1 = Blocks.AIR; } + + XRay.blocks.add(tempBlock1); + mc.worldRenderer.reload(); break; - case "block": - switch (parameters[1]) { - case "add": - String block1 = parameters[2].toLowerCase(); - Block tempBlock1; - try - { - tempBlock1 = Registries.BLOCK.get(new Identifier(block1)); - }catch(InvalidIdentifierException e) - { - tempBlock1= Blocks.AIR; - } - - XRay.blocks.add(tempBlock1); - mc.worldRenderer.reload(); - break; - case "remove": - String block2 = parameters[2].toLowerCase(); - Block tempBlock2; - try - { - tempBlock2 = Registries.BLOCK.get(new Identifier(block2)); - }catch(InvalidIdentifierException e) - { - tempBlock2= Blocks.AIR; - } - - XRay.blocks.remove(tempBlock2); - mc.worldRenderer.reload(); - break; - case "list": - String blockList = ""; - for(Block block : XRay.blocks) { - blockList += block.getName().getString() + ", "; - } - blockList = blockList.substring(0, blockList.length() - 2); - CommandManager.sendChatMessage("Block List: " + blockList); - break; + case "remove": + String block2 = parameters[2].toLowerCase(); + Block tempBlock2; + try { + tempBlock2 = Registries.BLOCK.get(new Identifier(block2)); + } catch (InvalidIdentifierException e) { + tempBlock2 = Blocks.AIR; } + + XRay.blocks.remove(tempBlock2); + mc.worldRenderer.reload(); break; - default: - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba xray [toggle/block] [value]"); + case "list": + String blockList = ""; + for (Block block : XRay.blocks) { + blockList += block.getName().getString() + ", "; + } + blockList = blockList.substring(0, blockList.length() - 2); + CommandManager.sendChatMessage("Block List: " + blockList); break; } - } else { - CommandManager.sendChatMessage("Invalid Usage! Usage: .aoba xray [toggle/block] [value]"); + break; + default: + throw new InvalidSyntaxException(this); } } - + @Override public String[] getAutocorrect(String previousParameter) { switch (previousParameter) { - case "toggle": - return new String[] {"on", "off"}; - case "block": - return new String[] {"add", "remove"}; - case "add": - String[] blockNames = new String[Registries.BLOCK.size()]; - for(int i = 0; i < Registries.BLOCK.size(); i++) { - blockNames[i] = Registries.BLOCK.get(i).getTranslationKey(); - } - return blockNames; - case "remove": - return new String[] { "xray", "delete" }; - default: - return new String[] { "toggle", "block"}; + case "toggle": + return new String[] { "on", "off" }; + case "block": + return new String[] { "add", "remove" }; + case "add": + String[] blockNames = new String[Registries.BLOCK.size()]; + for (int i = 0; i < Registries.BLOCK.size(); i++) { + blockNames[i] = Registries.BLOCK.get(i).getTranslationKey(); + } + return blockNames; + case "remove": + return new String[] { "xray", "delete" }; + default: + return new String[] { "toggle", "block" }; } } }