diff --git a/src/main/java/net/minestom/server/command/builder/ArgumentMapper.java b/src/main/java/net/minestom/server/command/builder/ArgumentMapper.java deleted file mode 100644 index 07b944fd3..000000000 --- a/src/main/java/net/minestom/server/command/builder/ArgumentMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package net.minestom.server.command.builder; - -import net.minestom.server.command.builder.exception.ArgumentSyntaxException; - -/** - * Represents a lambda that can turn an input into an output - * that also allows the throwing of ArgumentSyntaxException - * - * @param <I> The input expected from the Argument - * @param <O> The desired output type from this lambda. - */ -@FunctionalInterface -public interface ArgumentMapper<I, O> { - - /** - * Accept's I data from the argument and returns O output - * - * @param i The input processed from an argument - * - * @return The complex data type that came as a result from this argument - * @throws ArgumentSyntaxException If the input can not be turned into the desired output - * (E.X. an invalid extension name) - */ - O accept(I i) throws ArgumentSyntaxException; - -} diff --git a/src/main/java/net/minestom/server/command/builder/arguments/Argument.java b/src/main/java/net/minestom/server/command/builder/arguments/Argument.java index 432e8fe4e..df331552e 100644 --- a/src/main/java/net/minestom/server/command/builder/arguments/Argument.java +++ b/src/main/java/net/minestom/server/command/builder/arguments/Argument.java @@ -226,7 +226,7 @@ public abstract class Argument<T> { * @return A new ArgumentMap that can get this complex object type. */ @Beta - public <O> ArgumentMap<T, O> map(ArgumentMapper<T, O> mapper) { + public <O> ArgumentMap<T, O> map(ArgumentMap.ArgumentMapper<T, O> mapper) { return new ArgumentMap<>(this, mapper); } diff --git a/src/main/java/net/minestom/server/command/builder/arguments/ArgumentMap.java b/src/main/java/net/minestom/server/command/builder/arguments/ArgumentMap.java index 9a7949203..4f69db1d5 100644 --- a/src/main/java/net/minestom/server/command/builder/arguments/ArgumentMap.java +++ b/src/main/java/net/minestom/server/command/builder/arguments/ArgumentMap.java @@ -1,6 +1,5 @@ package net.minestom.server.command.builder.arguments; -import net.minestom.server.command.builder.ArgumentMapper; import net.minestom.server.command.builder.NodeMaker; import net.minestom.server.command.builder.exception.ArgumentSyntaxException; import org.jetbrains.annotations.NotNull; @@ -32,4 +31,28 @@ public class ArgumentMap<I, O> extends Argument<O> { public void processNodes(@NotNull NodeMaker nodeMaker, boolean executable) { argument.processNodes(nodeMaker, executable); } + + /** + * Represents a lambda that can turn an input into an output + * that also allows the throwing of ArgumentSyntaxException + * + * @param <I> The input expected from the Argument + * @param <O> The desired output type from this lambda. + */ + @FunctionalInterface + public interface ArgumentMapper<I, O> { + + /** + * Accept's I data from the argument and returns O output + * + * @param i The input processed from an argument + * + * @return The complex data type that came as a result from this argument + * @throws ArgumentSyntaxException If the input can not be turned into the desired output + * (E.X. an invalid extension name) + */ + O accept(I i) throws ArgumentSyntaxException; + + } + }