Skip to content

Conversation

@marcbal
Copy link

@marcbal marcbal commented Jul 16, 2025

Multiverse plugins has updated their major version from 4 to 5, with some breaking API changes.

Server owners that have updated their Multiverse will have their uSkyblock plugin not working properly with various NoClassDefFoundError.

I have made some changes to the plugin to use the new Multiverse version.

For now, the changes I made are minimal and only allow the plugin to be compiled, I still have some tests to run.

@marcbal
Copy link
Author

marcbal commented Jul 16, 2025

The fix works properly on my existing setup. No error message in console, and both plugins works as intended.
/mv info properly reports metadata related to uskyblock worlds:
image

I don’t have the opportunity to test on different setup, so I'll leave it to anyone to do additional testing and correct if necessary

@marcbal marcbal marked this pull request as ready for review July 16, 2025 17:08
@marcbal marcbal force-pushed the update-multiverse-5 branch from 45f6824 to eaab230 Compare December 28, 2025 16:43
@marcbal
Copy link
Author

marcbal commented Dec 28, 2025

The current build in the master branch (commit 6bf9066 ) still crashes due to bad compatibility with recent version of Multiverse:

Task #5 for uSkyBlock v3.2.0-SNAPSHOT generated an exception
java.lang.NoClassDefFoundError: com/onarandombox/MultiverseCore/MultiverseCore
at uSkyBlock-3.2.0-SNAPSHOT-20251215.jar/us.talabrek.ultimateskyblock.hook.world.MultiverseHook.setupCore(MultiverseHook.java:40)~
at uSkyBlock-3.2.0-SNAPSHOT-20251215.jar/us.talabrek.ultimateskyblock.hook.world.MultiverseHook.<init>(MultiverseHook.java:31)~
at uSkyBlock-3.2.0-SNAPSHOT-20251215.jar/us.talabrek.ultimateskyblock.hook.HookManager.setupMultiverse(HookManager.java:116)~
at uSkyBlock-3.2.0-SNAPSHOT-20251215.jar/us.talabrek.ultimateskyblock.hook.HookManager.setupHooks(HookManager.java:82)~
at uSkyBlock-3.2.0-SNAPSHOT-20251215.jar/us.talabrek.ultimateskyblock.bootstrap.Services.delayedEnable(Services.java:67)~
at uSkyBlock-3.2.0-SNAPSHOT-20251215.jar/us.talabrek.ultimateskyblock.bootstrap.SkyblockApp.delayedEnable(SkyblockApp.java:29)~
at uSkyBlock-3.2.0-SNAPSHOT-20251215.jar/us.talabrek.ultimateskyblock.uSkyBlock.delayedEnable(uSkyBlock.java:651)~
at uSkyBlock-3.2.0-SNAPSHOT-20251215.jar/us.talabrek.ultimateskyblock.uSkyBlock.lambda$onEnable$0(uSkyBlock.java:206)~
at OB.craftbukkit.scheduler.CraftTask.run(CraftTask.java:78)~
at OB.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:474)~
at NMS.MinecraftServer.tickChildren(MinecraftServer.java:1744)~
at NMS.MinecraftServer.tickServer(MinecraftServer.java:1618)~
at NMS.dedicated.DedicatedServer.tickServer(DedicatedServer.java:430)~
at NMS.MinecraftServer.runServer(MinecraftServer.java:1338)~
at NMS.MinecraftServer.lambda$spin$2(MinecraftServer.java:384)~
at java.base/java.lang.Thread.run(Thread.java:1583)~
Caused by: java.lang.ClassNotFoundException: com.onarandombox.MultiverseCore.MultiverseCore
at OB.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:208)~
at OB.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:175)~
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)~
... 16 more

Here is my /plugins uskyblock result:
image
Same for Multiverse-Core:
image

The /usb command does not work.

Here is my Paper version:

This server is running Paper version 1.21.10-129-ver/1.21.10@3e25649 (2025-12-19T23:34:30Z) (Implementing API version 1.21.10-R0.1-SNAPSHOT)
You are running the latest version
Previous version: 1.21.8-4-aa4ef06 (MC: 1.21.8)

After reapplying the pull request (rebased on master branch), it works again:
image
image

@minoneer
Copy link
Collaborator

minoneer commented Dec 28, 2025

Hi @marcbal,
Thank you for the PR! I will take a look in a few days after the holiday period.

Generally, I would like to make the Multiverse dependency optional. All we really use it for is nether portal management, which we could easily integrate directly - likely in a more robust way. We could still support Multiverse for easy setup, but allow admins to bring their own world/inventory management plugins, and possibly run without either on a dedicated server.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants