diff --git a/src/main/java/com/sk89q/worldedit/util/command/parametric/Binding.java b/src/main/java/com/sk89q/worldedit/util/command/parametric/Binding.java index dcf931c81..108fc1bf8 100644 --- a/src/main/java/com/sk89q/worldedit/util/command/parametric/Binding.java +++ b/src/main/java/com/sk89q/worldedit/util/command/parametric/Binding.java @@ -23,6 +23,7 @@ import com.sk89q.minecraft.util.commands.CommandException; import com.sk89q.worldedit.util.command.binding.PrimitiveBindings; import com.sk89q.worldedit.util.command.binding.StandardBindings; +import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Type; import java.util.List; @@ -77,8 +78,8 @@ public interface Binding { * @throws ParameterException thrown if the parameter could not be formulated * @throws CommandException on a command exception */ - Object bind(ParameterData parameter, ArgumentStack scoped, boolean onlyConsume) - throws ParameterException, CommandException; + Object bind(ParameterData parameter, ArgumentStack scoped, boolean onlyConsume) + throws ParameterException, CommandException, InvocationTargetException; /** * Get a list of suggestions for the given parameter and user arguments. diff --git a/src/main/java/com/sk89q/worldedit/util/command/parametric/BindingHelper.java b/src/main/java/com/sk89q/worldedit/util/command/parametric/BindingHelper.java index b442da6a2..b56c76426 100644 --- a/src/main/java/com/sk89q/worldedit/util/command/parametric/BindingHelper.java +++ b/src/main/java/com/sk89q/worldedit/util/command/parametric/BindingHelper.java @@ -143,7 +143,7 @@ public class BindingHelper implements Binding { @Override public Object bind(ParameterData parameter, ArgumentStack scoped, - boolean onlyConsume) throws ParameterException, CommandException { + boolean onlyConsume) throws ParameterException, CommandException, InvocationTargetException { BoundMethod binding = match(parameter); List args = new ArrayList(); args.add(scoped); @@ -178,7 +178,7 @@ public class BindingHelper implements Binding { } else if (e.getCause() instanceof CommandException) { throw (CommandException) e.getCause(); } - throw new RuntimeException(e.getCause()); + throw e; } } diff --git a/src/main/java/com/sk89q/worldedit/util/command/parametric/ParametricCallable.java b/src/main/java/com/sk89q/worldedit/util/command/parametric/ParametricCallable.java index b98aeb00f..7a657d848 100644 --- a/src/main/java/com/sk89q/worldedit/util/command/parametric/ParametricCallable.java +++ b/src/main/java/com/sk89q/worldedit/util/command/parametric/ParametricCallable.java @@ -366,8 +366,8 @@ class ParametricCallable implements CommandCallable { * @throws ParameterException on an error * @throws CommandException on an error */ - private Object getDefaultValue(int i, ContextArgumentStack scoped) - throws ParameterException, CommandException { + private Object getDefaultValue(int i, ContextArgumentStack scoped) + throws ParameterException, CommandException, InvocationTargetException { CommandContext context = scoped.getContext(); ParameterData parameter = parameters[i];