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" };
}
}
}