From 94425ebc0e5437c9326af688cb583cf4120411a5 Mon Sep 17 00:00:00 2001 From: Josh Roy <10731363+JRoy@users.noreply.github.com> Date: Fri, 24 Dec 2021 21:40:41 -0500 Subject: [PATCH] Support doubles in tppos --- .../com/earth2me/essentials/commands/Commandtppos.java | 6 +++--- .../java/net/essentialsx/discord/EssentialsDiscord.java | 7 +++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtppos.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtppos.java index 428dd20b55f..a536898ae11 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtppos.java +++ b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtppos.java @@ -26,9 +26,9 @@ public void run(final Server server, final User user, final String commandLabel, throw new NotEnoughArgumentsException(); } - final double x = args[0].startsWith("~") ? user.getLocation().getX() + (args[0].length() > 1 ? Integer.parseInt(args[0].substring(1)) : 0) : Integer.parseInt(args[0]); - final double y = args[1].startsWith("~") ? user.getLocation().getY() + (args[1].length() > 1 ? Integer.parseInt(args[1].substring(1)) : 0) : Integer.parseInt(args[1]); - final double z = args[2].startsWith("~") ? user.getLocation().getZ() + (args[2].length() > 1 ? Integer.parseInt(args[2].substring(1)) : 0) : Integer.parseInt(args[2]); + final double x = args[0].startsWith("~") ? user.getLocation().getX() + (args[0].length() > 1 ? Double.parseDouble(args[0].substring(1)) : 0) : Double.parseDouble(args[0]); + final double y = args[1].startsWith("~") ? user.getLocation().getY() + (args[1].length() > 1 ? Double.parseDouble(args[1].substring(1)) : 0) : Double.parseDouble(args[1]); + final double z = args[2].startsWith("~") ? user.getLocation().getZ() + (args[2].length() > 1 ? Double.parseDouble(args[2].substring(1)) : 0) : Double.parseDouble(args[2]); final Location loc = new Location(user.getWorld(), x, y, z, user.getLocation().getYaw(), user.getLocation().getPitch()); if (args.length == 4) { final World w = ess.getWorld(args[3]); diff --git a/EssentialsDiscord/src/main/java/net/essentialsx/discord/EssentialsDiscord.java b/EssentialsDiscord/src/main/java/net/essentialsx/discord/EssentialsDiscord.java index 438f8455a47..fcc24e099ca 100644 --- a/EssentialsDiscord/src/main/java/net/essentialsx/discord/EssentialsDiscord.java +++ b/EssentialsDiscord/src/main/java/net/essentialsx/discord/EssentialsDiscord.java @@ -36,6 +36,13 @@ public void onEnable() { getLogger().log(Level.WARNING, tl("versionMismatchAll")); } + // JDK-8274349 - Mitigation for a regression in Java 17 on 1 core systems which was fixed in 17.0.2 + final String[] javaVersion = System.getProperty("java.version").split("\\."); + if (Runtime.getRuntime().availableProcessors() <= 1 && javaVersion[0].startsWith("17") && (javaVersion.length < 2 || (javaVersion[1].equals("0") && javaVersion[2].startsWith("1")))) { + logger.log(Level.INFO, "Essentials is mitigating JDK-8274349"); + System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", "1"); + } + isPAPI = getServer().getPluginManager().getPlugin("PlaceholderAPI") != null; settings = new DiscordSettings(this);