#675: Fix redirected CommandNodes sometimes not being properly redirected

This commit is contained in:
Matthias Ngeo 2020-06-17 20:04:50 +10:00 committed by md_5
parent c9d7c16b5f
commit cb701f6b63

View file

@ -140,10 +140,20 @@
argumentbuilder.requires((icompletionprovider) -> { argumentbuilder.requires((icompletionprovider) -> {
return true; return true;
@@ -222,7 +301,7 @@ @@ -218,11 +297,15 @@
argumentbuilder.redirect((CommandNode) map.get(argumentbuilder.getRedirect())); }
} }
- if (argumentbuilder.getRedirect() != null) {
- argumentbuilder.redirect((CommandNode) map.get(argumentbuilder.getRedirect()));
+ // Craftbukkit start - fix redirected CommandNodes not being properly redirected if it is mapped after commandNode2
+ CommandNode<CommandListenerWrapper> destination = commandnode2.getRedirect();
+ if (destination != null) {
+ this.a(destination, (CommandNode) destination.createBuilder().build(), commandlistenerwrapper, map);
+ argumentbuilder.redirect((CommandNode) map.get(destination));
}
+ // Craftbukkit end
- CommandNode<ICompletionProvider> commandnode3 = argumentbuilder.build(); - CommandNode<ICompletionProvider> commandnode3 = argumentbuilder.build();
+ CommandNode commandnode3 = argumentbuilder.build(); // CraftBukkit - decompile error + CommandNode commandnode3 = argumentbuilder.build(); // CraftBukkit - decompile error