From 410935331c9d1bc4af1c3b18184965494547dccd Mon Sep 17 00:00:00 2001 From: whbex <66699673+whitebelyash@users.noreply.github.com> Date: Sat, 11 Jan 2025 23:58:06 +0400 Subject: [PATCH] [HACK] SystemInfo: do not crash on class init failure --- src/main/java/net/vulkanmod/vulkan/SystemInfo.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/vulkanmod/vulkan/SystemInfo.java b/src/main/java/net/vulkanmod/vulkan/SystemInfo.java index d64417c40..11e14e63a 100644 --- a/src/main/java/net/vulkanmod/vulkan/SystemInfo.java +++ b/src/main/java/net/vulkanmod/vulkan/SystemInfo.java @@ -1,12 +1,21 @@ package net.vulkanmod.vulkan; +import net.vulkanmod.Initializer; import oshi.hardware.CentralProcessor; public class SystemInfo { public static final String cpuInfo; static { - CentralProcessor centralProcessor = new oshi.SystemInfo().getHardware().getProcessor(); - cpuInfo = String.format("%s", centralProcessor.getProcessorIdentifier().getName()).replaceAll("\\s+", " "); + CentralProcessor centralProcessor = null; + // Opening F3 crashes the game on one specific platform, this hack fixes it + try { + centralProcessor = new oshi.SystemInfo().getHardware().getProcessor(); + } catch (NoClassDefFoundError e){ + Initializer.LOGGER.warn("Failed to initialize OSHI class, no cpu info will be available"); + } + cpuInfo = centralProcessor != null ? + String.format("%s", centralProcessor.getProcessorIdentifier().getName()).replaceAll("\\s+", " ") : + "Unknown"; } }