Added boolean args
This commit is contained in:
@@ -13,6 +13,7 @@ import java.util.logging.Level;
|
|||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
import com.nemez.cmdmgr.component.ArgumentComponent;
|
import com.nemez.cmdmgr.component.ArgumentComponent;
|
||||||
|
import com.nemez.cmdmgr.component.BooleanComponent;
|
||||||
import com.nemez.cmdmgr.component.ByteComponent;
|
import com.nemez.cmdmgr.component.ByteComponent;
|
||||||
import com.nemez.cmdmgr.component.ChainComponent;
|
import com.nemez.cmdmgr.component.ChainComponent;
|
||||||
import com.nemez.cmdmgr.component.ConstantComponent;
|
import com.nemez.cmdmgr.component.ConstantComponent;
|
||||||
@@ -353,6 +354,9 @@ public class CommandManager {
|
|||||||
return new FloatComponent();
|
return new FloatComponent();
|
||||||
case "double":
|
case "double":
|
||||||
return new DoubleComponent();
|
return new DoubleComponent();
|
||||||
|
case "bool":
|
||||||
|
case "boolean":
|
||||||
|
return new BooleanComponent();
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
28
com/nemez/cmdmgr/component/BooleanComponent.java
Normal file
28
com/nemez/cmdmgr/component/BooleanComponent.java
Normal file
@@ -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>";
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -11,6 +11,7 @@ import org.bukkit.plugin.java.JavaPlugin;
|
|||||||
|
|
||||||
import com.nemez.cmdmgr.Command;
|
import com.nemez.cmdmgr.Command;
|
||||||
import com.nemez.cmdmgr.CommandManager;
|
import com.nemez.cmdmgr.CommandManager;
|
||||||
|
import com.nemez.cmdmgr.component.BooleanComponent;
|
||||||
import com.nemez.cmdmgr.component.ByteComponent;
|
import com.nemez.cmdmgr.component.ByteComponent;
|
||||||
import com.nemez.cmdmgr.component.ConstantComponent;
|
import com.nemez.cmdmgr.component.ConstantComponent;
|
||||||
import com.nemez.cmdmgr.component.DoubleComponent;
|
import com.nemez.cmdmgr.component.DoubleComponent;
|
||||||
@@ -26,6 +27,7 @@ public class Executable implements CommandExecutor {
|
|||||||
private ArrayList<ExecutableDefinition> commands;
|
private ArrayList<ExecutableDefinition> commands;
|
||||||
private ArrayList<HelpPageCommand[]> help;
|
private ArrayList<HelpPageCommand[]> help;
|
||||||
private String name;
|
private String name;
|
||||||
|
private JavaPlugin plugin;
|
||||||
|
|
||||||
public Executable(String name, ArrayList<HelpPageCommand[]> help) {
|
public Executable(String name, ArrayList<HelpPageCommand[]> help) {
|
||||||
this.help = help;
|
this.help = help;
|
||||||
@@ -42,6 +44,7 @@ public class Executable implements CommandExecutor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.plugin = plugin;
|
||||||
plugin.getCommand(name).setExecutor(this);
|
plugin.getCommand(name).setExecutor(this);
|
||||||
|
|
||||||
if (CommandManager.errors) {
|
if (CommandManager.errors) {
|
||||||
@@ -116,6 +119,11 @@ public class Executable implements CommandExecutor {
|
|||||||
paramName = comp7.argName;
|
paramName = comp7.argName;
|
||||||
command.add(comp7);
|
command.add(comp7);
|
||||||
break;
|
break;
|
||||||
|
case "bool":
|
||||||
|
BooleanComponent comp8 = new BooleanComponent();
|
||||||
|
comp8.argName = type[0].substring(1);
|
||||||
|
paramName = comp8.argName;
|
||||||
|
command.add(comp8);
|
||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -170,6 +178,8 @@ public class Executable implements CommandExecutor {
|
|||||||
|
|
||||||
}else if (comp instanceof StringComponent && params[i] == String.class) {
|
}else if (comp instanceof StringComponent && params[i] == String.class) {
|
||||||
|
|
||||||
|
}else if (comp instanceof BooleanComponent && params[i] == boolean.class) {
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
plugin.getLogger().log(Level.WARNING, "Invalid method (" + methodArray[0] + "): Invalid method arguments");
|
plugin.getLogger().log(Level.WARNING, "Invalid method (" + methodArray[0] + "): Invalid method arguments");
|
||||||
CommandManager.errors = true;
|
CommandManager.errors = true;
|
||||||
@@ -229,7 +239,7 @@ public class Executable implements CommandExecutor {
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
printPage(sender, 1);
|
printPage(sender, 1);
|
||||||
}
|
}
|
||||||
}else if (!def.invoke(arguments, sender)) {
|
}else if (!def.invoke(arguments, sender, plugin)) {
|
||||||
printPage(sender, 1);
|
printPage(sender, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,8 +2,10 @@ package com.nemez.cmdmgr.util;
|
|||||||
|
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
import com.nemez.cmdmgr.component.ArgumentComponent;
|
import com.nemez.cmdmgr.component.ArgumentComponent;
|
||||||
import com.nemez.cmdmgr.component.ICommandComponent;
|
import com.nemez.cmdmgr.component.ICommandComponent;
|
||||||
@@ -55,7 +57,7 @@ public class ExecutableDefinition {
|
|||||||
return components.size();
|
return components.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean invoke(ArrayList<Object> args, CommandSender sender) {
|
public boolean invoke(ArrayList<Object> args, CommandSender sender, JavaPlugin plugin) {
|
||||||
if (target == null) {
|
if (target == null) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -72,7 +74,7 @@ public class ExecutableDefinition {
|
|||||||
return (boolean) target.invoke(methodContainer, arguments);
|
return (boolean) target.invoke(methodContainer, arguments);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
System.err.println("M8 you're missing a function...");
|
plugin.getLogger().log(Level.WARNING, "Runtime Error: invalid method");
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user