Fix some reflection wrapping issues
This commit is contained in:
parent
ebbbc3a1f0
commit
457262049d
@ -304,14 +304,8 @@ public abstract class PaperBrigadierCommand extends BrigadierCommand<CommandSour
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static String getCommandIdentity(CommandNode<CommandSourceStack> command) {
|
private static String getCommandIdentity(CommandNode<CommandSourceStack> command) {
|
||||||
@SuppressWarnings("unchecked")
|
|
||||||
fr.pandacube.lib.paper.reflect.wrapper.brigadier.CommandNode<CommandSourceStack> wrappedCommandNode = wrap(command, fr.pandacube.lib.paper.reflect.wrapper.brigadier.CommandNode.class);
|
|
||||||
|
|
||||||
if (wrappedCommandNode.pluginCommandMeta() != null) {
|
if (BukkitCommandNode.REFLECT.get().isInstance(command)) {
|
||||||
PluginCommandMeta meta = wrappedCommandNode.pluginCommandMeta();
|
|
||||||
return "Node /" + command.getName() + " from plugin " + meta.plugin().getName();
|
|
||||||
}
|
|
||||||
else if (BukkitCommandNode.REFLECT.get().isInstance(command)) {
|
|
||||||
BukkitCommandNode wrappedBCN = wrap(command, BukkitCommandNode.class);
|
BukkitCommandNode wrappedBCN = wrap(command, BukkitCommandNode.class);
|
||||||
Command bukkitCmd = wrappedBCN.getBukkitCommand();
|
Command bukkitCmd = wrappedBCN.getBukkitCommand();
|
||||||
if (bukkitCmd instanceof PluginCommand cmd) {
|
if (bukkitCmd instanceof PluginCommand cmd) {
|
||||||
@ -328,19 +322,23 @@ public abstract class PaperBrigadierCommand extends BrigadierCommand<CommandSour
|
|||||||
else
|
else
|
||||||
return "Node /" + command.getName() + " wrapping " + bukkitCmd.getClass().getName() + " /" + bukkitCmd.getName();
|
return "Node /" + command.getName() + " wrapping " + bukkitCmd.getClass().getName() + " /" + bukkitCmd.getName();
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
fr.pandacube.lib.paper.reflect.wrapper.brigadier.CommandNode<CommandSourceStack> wrappedCommandNode = wrap(command, fr.pandacube.lib.paper.reflect.wrapper.brigadier.CommandNode.class);
|
||||||
|
|
||||||
|
if (wrappedCommandNode.pluginCommandMeta() != null) {
|
||||||
|
PluginCommandMeta meta = wrappedCommandNode.pluginCommandMeta();
|
||||||
|
return "Node /" + command.getName() + " from plugin " + meta.plugin().getName();
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
return "Node /" + command.getName() + " (unspecific)";
|
return "Node /" + command.getName() + " (unspecific)";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private static Boolean isPluginCommand(CommandNode<CommandSourceStack> command) {
|
private static Boolean isPluginCommand(CommandNode<CommandSourceStack> command) {
|
||||||
@SuppressWarnings("unchecked")
|
if (BukkitCommandNode.REFLECT.get().isInstance(command)) {
|
||||||
fr.pandacube.lib.paper.reflect.wrapper.brigadier.CommandNode<CommandSourceStack> wrappedCommandNode = wrap(command, fr.pandacube.lib.paper.reflect.wrapper.brigadier.CommandNode.class);
|
|
||||||
if (wrappedCommandNode.pluginCommandMeta() != null) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else if (BukkitCommandNode.REFLECT.get().isInstance(command)) {
|
|
||||||
BukkitCommandNode wrappedBCN = wrap(command, BukkitCommandNode.class);
|
BukkitCommandNode wrappedBCN = wrap(command, BukkitCommandNode.class);
|
||||||
Command bukkitCmd = wrappedBCN.getBukkitCommand();
|
Command bukkitCmd = wrappedBCN.getBukkitCommand();
|
||||||
if (bukkitCmd instanceof PluginCommand) {
|
if (bukkitCmd instanceof PluginCommand) {
|
||||||
@ -358,7 +356,9 @@ public abstract class PaperBrigadierCommand extends BrigadierCommand<CommandSour
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return false;
|
@SuppressWarnings("unchecked")
|
||||||
|
fr.pandacube.lib.paper.reflect.wrapper.brigadier.CommandNode<CommandSourceStack> wrappedCommandNode = wrap(command, fr.pandacube.lib.paper.reflect.wrapper.brigadier.CommandNode.class);
|
||||||
|
return wrappedCommandNode.pluginCommandMeta() != null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user