Log the exception when failing to map nms argument types, don't register UUID argument before 1.16
This commit is contained in:
parent
3b2ccdca14
commit
f984a40f58
1 changed files with 10 additions and 3 deletions
|
|
@ -41,9 +41,12 @@ import javax.annotation.Nonnull;
|
||||||
import java.lang.reflect.Constructor;
|
import java.lang.reflect.Constructor;
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
class PaperBrigadierListener<C> implements Listener {
|
class PaperBrigadierListener<C> implements Listener {
|
||||||
|
|
||||||
|
private static final int UUID_ARGUMENT_VERSION = 16;
|
||||||
|
|
||||||
private final CloudBrigadierManager<C, BukkitBrigadierCommandSource> brigadierManager;
|
private final CloudBrigadierManager<C, BukkitBrigadierCommandSource> brigadierManager;
|
||||||
private final PaperCommandManager<C> paperCommandManager;
|
private final PaperCommandManager<C> paperCommandManager;
|
||||||
private final String nmsVersion;
|
private final String nmsVersion;
|
||||||
|
|
@ -57,9 +60,13 @@ class PaperBrigadierListener<C> implements Listener {
|
||||||
/* Register default mappings */
|
/* Register default mappings */
|
||||||
final String version = Bukkit.getServer().getClass().getPackage().getName();
|
final String version = Bukkit.getServer().getClass().getPackage().getName();
|
||||||
this.nmsVersion = version.substring(version.lastIndexOf(".") + 1);
|
this.nmsVersion = version.substring(version.lastIndexOf(".") + 1);
|
||||||
|
final int majorMinecraftVersion = Integer.parseInt(this.nmsVersion.split("_")[1]);
|
||||||
try {
|
try {
|
||||||
/* Map UUID */
|
/* UUID nms argument is a 1.16+ feature */
|
||||||
this.mapSimpleNMS(UUID.class, this.getNMSArgument("UUID").getConstructor());
|
if (majorMinecraftVersion >= UUID_ARGUMENT_VERSION) {
|
||||||
|
/* Map UUID */
|
||||||
|
this.mapSimpleNMS(UUID.class, this.getNMSArgument("UUID").getConstructor());
|
||||||
|
}
|
||||||
/* Map Enchantment */
|
/* Map Enchantment */
|
||||||
this.mapSimpleNMS(Enchantment.class, this.getNMSArgument("Enchantment").getConstructor());
|
this.mapSimpleNMS(Enchantment.class, this.getNMSArgument("Enchantment").getConstructor());
|
||||||
/* Map EntityType */
|
/* Map EntityType */
|
||||||
|
|
@ -69,7 +76,7 @@ class PaperBrigadierListener<C> implements Listener {
|
||||||
} catch (final Exception e) {
|
} catch (final Exception e) {
|
||||||
this.paperCommandManager.getOwningPlugin()
|
this.paperCommandManager.getOwningPlugin()
|
||||||
.getLogger()
|
.getLogger()
|
||||||
.warning("Failed to map Bukkit types to NMS argument types");
|
.log(Level.WARNING, "Failed to map Bukkit types to NMS argument types", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue