diff --git a/src/main/java/net/minecraft/commands/builder/ArgumentBuilder.java b/src/main/java/net/minecraft/commands/builder/ArgumentBuilder.java index 6cbb402..f79d0fa 100644 --- a/src/main/java/net/minecraft/commands/builder/ArgumentBuilder.java +++ b/src/main/java/net/minecraft/commands/builder/ArgumentBuilder.java @@ -1,24 +1,24 @@ package net.minecraft.commands.builder; -import com.google.common.collect.Lists; import net.minecraft.commands.Command; import net.minecraft.commands.tree.CommandNode; +import net.minecraft.commands.tree.RootCommandNode; import java.util.List; public abstract class ArgumentBuilder> { - private final List arguments = Lists.newArrayList(); + private final RootCommandNode arguments = new RootCommandNode(); private Command command; protected abstract T getThis(); public T then(ArgumentBuilder argument) { - arguments.add(argument); + arguments.addChild(argument.build()); return getThis(); } - public List getArguments() { - return arguments; + public List getArguments() { + return arguments.getChildren(); } public T executes(Command command) { diff --git a/src/main/java/net/minecraft/commands/builder/LiteralArgumentBuilder.java b/src/main/java/net/minecraft/commands/builder/LiteralArgumentBuilder.java index 0b3a593..e9b8d0b 100644 --- a/src/main/java/net/minecraft/commands/builder/LiteralArgumentBuilder.java +++ b/src/main/java/net/minecraft/commands/builder/LiteralArgumentBuilder.java @@ -1,5 +1,6 @@ package net.minecraft.commands.builder; +import net.minecraft.commands.tree.CommandNode; import net.minecraft.commands.tree.LiteralCommandNode; public class LiteralArgumentBuilder extends ArgumentBuilder { @@ -26,8 +27,8 @@ public class LiteralArgumentBuilder extends ArgumentBuilder extends ArgumentBuilder> { private final String name; @@ -32,8 +33,8 @@ public class RequiredArgumentBuilder extends ArgumentBuilder build() { ArgumentCommandNode result = new ArgumentCommandNode(getName(), getType(), getCommand()); - for (ArgumentBuilder argument : getArguments()) { - result.addChild(argument.build()); + for (CommandNode argument : getArguments()) { + result.addChild(argument); } return result; diff --git a/src/test/java/net/minecraft/commands/builder/ArgumentBuilderTest.java b/src/test/java/net/minecraft/commands/builder/ArgumentBuilderTest.java index f96361c..e39f72a 100644 --- a/src/test/java/net/minecraft/commands/builder/ArgumentBuilderTest.java +++ b/src/test/java/net/minecraft/commands/builder/ArgumentBuilderTest.java @@ -25,7 +25,7 @@ public class ArgumentBuilderTest { builder.then(argument); assertThat(builder.getArguments(), hasSize(1)); - assertThat(builder.getArguments(), hasItems((ArgumentBuilder) argument)); + assertThat(builder.getArguments(), hasItems((CommandNode) argument.build())); } private static class TestableArgumentBuilder extends ArgumentBuilder {