From 5655db661713eac223180e619a65f0feb111def4 Mon Sep 17 00:00:00 2001 From: Krakenied Date: Sat, 7 Jun 2025 07:07:40 +0200 Subject: Do not add Minecraft version to debug report if method does not exist Fix for < 1.15 --- .../command/AdminDebugReportCommandHandler.java | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'bukkit/src/main/java/com/leonardobishop') diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/AdminDebugReportCommandHandler.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/AdminDebugReportCommandHandler.java index 838ca946..94efda58 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/AdminDebugReportCommandHandler.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/AdminDebugReportCommandHandler.java @@ -16,12 +16,15 @@ import com.leonardobishop.quests.common.quest.Task; import com.leonardobishop.quests.common.tasktype.TaskType; import org.bukkit.Bukkit; import org.bukkit.ChatColor; +import org.bukkit.Server; import org.bukkit.command.CommandSender; import org.jetbrains.annotations.Nullable; import java.io.File; import java.io.IOException; import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; @@ -40,6 +43,16 @@ import java.util.function.Function; public class AdminDebugReportCommandHandler implements CommandHandler { + private static Method getMinecraftServerMethod; + + static { + try { + getMinecraftServerMethod = Server.class.getMethod("getMinecraftVersion"); + } catch (NoSuchMethodException ignored) { + // introduced in one of 1.15.x versions + } + } + private final BukkitQuestsPlugin plugin; private List errors; @@ -85,7 +98,12 @@ public class AdminDebugReportCommandHandler implements CommandHandler { lines.add("Server name: " + plugin.getServer().getName()); lines.add("Server version: " + plugin.getServer().getVersion()); lines.add("Bukkit version: " + plugin.getServer().getBukkitVersion()); - lines.add("Minecraft version: " + plugin.getServer().getMinecraftVersion()); + if (getMinecraftServerMethod != null) { + try { + lines.add("Minecraft version: " + getMinecraftServerMethod.invoke(plugin.getServer())); + } catch (IllegalAccessException | InvocationTargetException ignored) { + } + } lines.add("Player count: " + plugin.getServer().getOnlinePlayers().size()); lines.add(""); -- cgit v1.2.3-70-g09d2