summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNEMESIS13cz <OfficialNemes@gmail.com>2016-08-06 14:22:39 +0200
committerNEMESIS13cz <OfficialNemes@gmail.com>2016-08-06 14:22:39 +0200
commit4c49adc12740826171d2ad90493ae1bc44a6d48f (patch)
treef665b0411ad40bf14e1f275c6eed7a2b839c3337
parentd4388b9fd7861bb4653a07660f4f306ef9900d6c (diff)
Added boolean args
-rw-r--r--com/nemez/cmdmgr/CommandManager.java4
-rw-r--r--com/nemez/cmdmgr/component/BooleanComponent.java28
-rw-r--r--com/nemez/cmdmgr/util/Executable.java12
-rw-r--r--com/nemez/cmdmgr/util/ExecutableDefinition.java6
4 files changed, 47 insertions, 3 deletions
diff --git a/com/nemez/cmdmgr/CommandManager.java b/com/nemez/cmdmgr/CommandManager.java
index 913be59..e761aab 100644
--- a/com/nemez/cmdmgr/CommandManager.java
+++ b/com/nemez/cmdmgr/CommandManager.java
@@ -13,6 +13,7 @@ import java.util.logging.Level;
import org.bukkit.plugin.java.JavaPlugin;
import com.nemez.cmdmgr.component.ArgumentComponent;
+import com.nemez.cmdmgr.component.BooleanComponent;
import com.nemez.cmdmgr.component.ByteComponent;
import com.nemez.cmdmgr.component.ChainComponent;
import com.nemez.cmdmgr.component.ConstantComponent;
@@ -353,6 +354,9 @@ public class CommandManager {
return new FloatComponent();
case "double":
return new DoubleComponent();
+ case "bool":
+ case "boolean":
+ return new BooleanComponent();
}
return null;
}
diff --git a/com/nemez/cmdmgr/component/BooleanComponent.java b/com/nemez/cmdmgr/component/BooleanComponent.java
new file mode 100644
index 0000000..ab2088a
--- /dev/null
+++ b/com/nemez/cmdmgr/component/BooleanComponent.java
@@ -0,0 +1,28 @@
+package com.nemez.cmdmgr.component;
+
+public class BooleanComponent extends ArgumentComponent {
+
+ @Override
+ public Object get(String input) {
+ try {
+ return Boolean.parseBoolean(input);
+ } catch (NumberFormatException e) {
+ return null;
+ }
+ }
+
+ @Override
+ public boolean valid(String input) {
+ try {
+ Boolean.parseBoolean(input);
+ return true;
+ } catch (NumberFormatException e) {
+ return false;
+ }
+ }
+
+ @Override
+ public String getComponentInfo() {
+ return "<" + argName + ":bool>";
+ }
+}
diff --git a/com/nemez/cmdmgr/util/Executable.java b/com/nemez/cmdmgr/util/Executable.java
index 3ee0dcb..df396fc 100644
--- a/com/nemez/cmdmgr/util/Executable.java
+++ b/com/nemez/cmdmgr/util/Executable.java
@@ -11,6 +11,7 @@ import org.bukkit.plugin.java.JavaPlugin;
import com.nemez.cmdmgr.Command;
import com.nemez.cmdmgr.CommandManager;
+import com.nemez.cmdmgr.component.BooleanComponent;
import com.nemez.cmdmgr.component.ByteComponent;
import com.nemez.cmdmgr.component.ConstantComponent;
import com.nemez.cmdmgr.component.DoubleComponent;
@@ -26,6 +27,7 @@ public class Executable implements CommandExecutor {
private ArrayList<ExecutableDefinition> commands;
private ArrayList<HelpPageCommand[]> help;
private String name;
+ private JavaPlugin plugin;
public Executable(String name, ArrayList<HelpPageCommand[]> help) {
this.help = help;
@@ -42,6 +44,7 @@ public class Executable implements CommandExecutor {
}
}
+ this.plugin = plugin;
plugin.getCommand(name).setExecutor(this);
if (CommandManager.errors) {
@@ -116,6 +119,11 @@ public class Executable implements CommandExecutor {
paramName = comp7.argName;
command.add(comp7);
break;
+ case "bool":
+ BooleanComponent comp8 = new BooleanComponent();
+ comp8.argName = type[0].substring(1);
+ paramName = comp8.argName;
+ command.add(comp8);
default:
return;
}
@@ -170,6 +178,8 @@ public class Executable implements CommandExecutor {
}else if (comp instanceof StringComponent && params[i] == String.class) {
+ }else if (comp instanceof BooleanComponent && params[i] == boolean.class) {
+
}else{
plugin.getLogger().log(Level.WARNING, "Invalid method (" + methodArray[0] + "): Invalid method arguments");
CommandManager.errors = true;
@@ -229,7 +239,7 @@ public class Executable implements CommandExecutor {
} catch (Exception e) {
printPage(sender, 1);
}
- }else if (!def.invoke(arguments, sender)) {
+ }else if (!def.invoke(arguments, sender, plugin)) {
printPage(sender, 1);
}
}
diff --git a/com/nemez/cmdmgr/util/ExecutableDefinition.java b/com/nemez/cmdmgr/util/ExecutableDefinition.java
index f04b65a..71aacbf 100644
--- a/com/nemez/cmdmgr/util/ExecutableDefinition.java
+++ b/com/nemez/cmdmgr/util/ExecutableDefinition.java
@@ -2,8 +2,10 @@ package com.nemez.cmdmgr.util;
import java.lang.reflect.Method;
import java.util.ArrayList;
+import java.util.logging.Level;
import org.bukkit.command.CommandSender;
+import org.bukkit.plugin.java.JavaPlugin;
import com.nemez.cmdmgr.component.ArgumentComponent;
import com.nemez.cmdmgr.component.ICommandComponent;
@@ -55,7 +57,7 @@ public class ExecutableDefinition {
return components.size();
}
- public boolean invoke(ArrayList<Object> args, CommandSender sender) {
+ public boolean invoke(ArrayList<Object> args, CommandSender sender, JavaPlugin plugin) {
if (target == null) {
return false;
}
@@ -72,7 +74,7 @@ public class ExecutableDefinition {
return (boolean) target.invoke(methodContainer, arguments);
}
} catch (Exception e) {
- System.err.println("M8 you're missing a function...");
+ plugin.getLogger().log(Level.WARNING, "Runtime Error: invalid method");
e.printStackTrace();
return true;
}