From f984a40f5840b2bf653653634d88da557160f8d4 Mon Sep 17 00:00:00 2001 From: jmp Date: Thu, 24 Sep 2020 00:49:07 -0700 Subject: [PATCH] Log the exception when failing to map nms argument types, don't register UUID argument before 1.16 --- .../commands/paper/PaperBrigadierListener.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/cloud-minecraft/cloud-paper/src/main/java/com/intellectualsites/commands/paper/PaperBrigadierListener.java b/cloud-minecraft/cloud-paper/src/main/java/com/intellectualsites/commands/paper/PaperBrigadierListener.java index 552e1d0b..fbaacdff 100644 --- a/cloud-minecraft/cloud-paper/src/main/java/com/intellectualsites/commands/paper/PaperBrigadierListener.java +++ b/cloud-minecraft/cloud-paper/src/main/java/com/intellectualsites/commands/paper/PaperBrigadierListener.java @@ -41,9 +41,12 @@ import javax.annotation.Nonnull; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.util.UUID; +import java.util.logging.Level; class PaperBrigadierListener implements Listener { + private static final int UUID_ARGUMENT_VERSION = 16; + private final CloudBrigadierManager brigadierManager; private final PaperCommandManager paperCommandManager; private final String nmsVersion; @@ -57,9 +60,13 @@ class PaperBrigadierListener implements Listener { /* Register default mappings */ final String version = Bukkit.getServer().getClass().getPackage().getName(); this.nmsVersion = version.substring(version.lastIndexOf(".") + 1); + final int majorMinecraftVersion = Integer.parseInt(this.nmsVersion.split("_")[1]); try { - /* Map UUID */ - this.mapSimpleNMS(UUID.class, this.getNMSArgument("UUID").getConstructor()); + /* UUID nms argument is a 1.16+ feature */ + if (majorMinecraftVersion >= UUID_ARGUMENT_VERSION) { + /* Map UUID */ + this.mapSimpleNMS(UUID.class, this.getNMSArgument("UUID").getConstructor()); + } /* Map Enchantment */ this.mapSimpleNMS(Enchantment.class, this.getNMSArgument("Enchantment").getConstructor()); /* Map EntityType */ @@ -69,7 +76,7 @@ class PaperBrigadierListener implements Listener { } catch (final Exception e) { this.paperCommandManager.getOwningPlugin() .getLogger() - .warning("Failed to map Bukkit types to NMS argument types"); + .log(Level.WARNING, "Failed to map Bukkit types to NMS argument types", e); } }