Merge pull request #510 from PolyhedralDev/dev/multiverse-fix

Fixed issues causing plugin to fail to load if Multiverse is not present
This commit is contained in:
Zoë Gidiere 2025-06-19 12:00:07 -06:00 committed by GitHub
commit 5f367c0f2c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 7 additions and 3 deletions

View File

@ -3,6 +3,7 @@ package com.dfsek.terra.bukkit.hooks;
import com.dfsek.terra.api.Platform; import com.dfsek.terra.api.Platform;
import com.dfsek.terra.api.registry.key.Keyed; import com.dfsek.terra.api.registry.key.Keyed;
import org.mvplugins.multiverse.core.MultiverseCoreApi;
import org.mvplugins.multiverse.core.world.generators.GeneratorPlugin; import org.mvplugins.multiverse.core.world.generators.GeneratorPlugin;
import org.mvplugins.multiverse.external.jetbrains.annotations.NotNull; import org.mvplugins.multiverse.external.jetbrains.annotations.NotNull;
import org.mvplugins.multiverse.external.jetbrains.annotations.Nullable; import org.mvplugins.multiverse.external.jetbrains.annotations.Nullable;
@ -44,4 +45,9 @@ public final class MultiverseGeneratorPluginHook implements GeneratorPlugin {
public @NotNull String getPluginName() { public @NotNull String getPluginName() {
return "Terra"; return "Terra";
} }
public static void register(Platform platform) {
MultiverseCoreApi.get().getGeneratorProvider()
.registerGeneratorPlugin(new MultiverseGeneratorPluginHook(platform));
}
} }

View File

@ -23,7 +23,6 @@ import com.dfsek.terra.bukkit.hooks.MultiverseGeneratorPluginHook;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.server.PluginEnableEvent; import org.bukkit.event.server.PluginEnableEvent;
import org.mvplugins.multiverse.core.MultiverseCoreApi;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -44,8 +43,7 @@ public class CommonListener implements Listener {
if(event.getPlugin().getName().equals("Multiverse-Core")) { if(event.getPlugin().getName().equals("Multiverse-Core")) {
try { try {
Class.forName("org.mvplugins.multiverse.core.MultiverseCoreApi"); Class.forName("org.mvplugins.multiverse.core.MultiverseCoreApi");
MultiverseCoreApi.get().getGeneratorProvider() MultiverseGeneratorPluginHook.register(platform);
.registerGeneratorPlugin(new MultiverseGeneratorPluginHook(platform));
} catch(ClassNotFoundException e) { } catch(ClassNotFoundException e) {
logger.debug("Multiverse v5 is not installed."); logger.debug("Multiverse v5 is not installed.");
} catch(IllegalStateException e) { } catch(IllegalStateException e) {