From b1b9d1639d40c6b6fdbf209675dc17c19988da85 Mon Sep 17 00:00:00 2001 From: OmerBenGera Date: Sat, 1 Jun 2024 20:05:15 +0300 Subject: [PATCH] Fixed errors when not having SWM installed (#97) --- .../wildloaders/handlers/ProvidersHandler.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/bgsoftware/wildloaders/handlers/ProvidersHandler.java b/src/main/java/com/bgsoftware/wildloaders/handlers/ProvidersHandler.java index c81c18e..94e2cd3 100644 --- a/src/main/java/com/bgsoftware/wildloaders/handlers/ProvidersHandler.java +++ b/src/main/java/com/bgsoftware/wildloaders/handlers/ProvidersHandler.java @@ -85,13 +85,13 @@ public final class ProvidersHandler implements ProvidersManager { try { Class.forName("com.infernalsuite.aswm.api.SlimePlugin"); - worldsProvider = createInstance("WorldsProvider_AdvancedSlimePaper"); - } catch (Throwable ignored) { + worldsProvider = createInstanceSilently("WorldsProvider_AdvancedSlimePaper"); + } catch (ClassNotFoundException ignored) { try { Class.forName("com.grinderwolf.swm.nms.world.AbstractSlimeNMSWorld"); - worldsProvider = createInstance("WorldsProvider_AdvancedSlimeWorldManager"); + worldsProvider = createInstanceSilently("WorldsProvider_AdvancedSlimeWorldManager"); } catch (Throwable error) { - worldsProvider = createInstance("WorldsProvider_SlimeWorldManager"); + worldsProvider = createInstanceSilently("WorldsProvider_SlimeWorldManager"); } } @@ -140,6 +140,14 @@ public final class ProvidersHandler implements ProvidersManager { return null; } + private Optional createInstanceSilently(String className) { + try { + return createInstance(className); + } catch (Throwable error) { + return Optional.empty(); + } + } + private Optional createInstance(String className) { try { Class clazz = Class.forName("com.bgsoftware.wildloaders.hooks." + className);