BentoBoxWorld / Level

Add on for BentoBox to calculate island levels for BSkyBlock and AcidIsland. Please read the Wiki!
Eclipse Public License 2.0
24 stars 32 forks source link

Incompatibility with UltimateStacker #304

Closed ItzGliese closed 2 months ago

ItzGliese commented 2 months ago

Expected behavior

Island Level to calculate

Observed/Actual behavior

Island level didnt calculate and instead sent this error in console

WARN10:28:25 [BentoBox]: Plugin BentoBox v2.2.0 generated an exception while executing task 1473

Console10:28:25 java.lang.NoClassDefFoundError: com/songoda/ultimatestacker/UltimateStacker at world.bentobox.level.calculators.IslandLevelCalculator.scanAsync(IslandLevelCalculator.java:472) ~[Level-2.12.0.jar:?] at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] at world.bentobox.level.calculators.IslandLevelCalculator.lambda$scanChunk$5(IslandLevelCalculator.java:419) ~[Level-2.12.0.jar:?] at org.bukkit.craftbukkit.v1_20_R2.scheduler.CraftTask.run(CraftTask.java:101) ~[paper-1.20.2.jar:git-Paper-318] at org.bukkit.craftbukkit.v1_20_R2.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) ~[paper-1.20.2.jar:git-Paper-318] at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[paper-1.20.2.jar:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?] at java.lang.Thread.run(Thread.java:833) ~[?:?] Caused by: java.lang.ClassNotFoundException: com.songoda.ultimatestacker.UltimateStacker at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:197) ~[paper-api-1.20.2-R0.1-SNAPSHOT.jar:?] at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:164) ~[paper-api-1.20.2-R0.1-SNAPSHOT.jar:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?] ... 9 more

Steps/models to reproduce

i installed ultimate stacker and next time i ran /is level it gave me this error.

BentoBox version

Running PAPER 1.20.2. (git-Paper-318 (MC: 1.20.2)) BentoBox version: 2.2.0 Database: JSON Loaded Game Worlds: island_world (Islands): Overworld Loaded Addons: Bank 1.7.1 (ENABLED) Biomes 2.1.1 (ENABLED) Border 4.2.1 (ENABLED) BSkyBlock 1.17.1 (ENABLED) Challenges 1.3.0 (ENABLED) Chat 1.1.4 (ENABLED) ControlPanel 1.13.1 (ENABLED) IslandFly 1.12.0 (ENABLED) Level 2.12.0 (ENABLED) Likes 2.3.1 (ENABLED) Visit 1.6.0 (ENABLED) Warps 1.14.0 (ENABLED)

Plugin list

Server Plugins (52): Bukkit Plugins:

Other

Songoda has updated their API a while ago and it isnt working with Ultimate Stacker. I have narrowed it down to this specific plugin because after removing it worked just fine with all other plugins.

tastybento commented 2 months ago

Thanks for the info. We'll update the API.

tastybento commented 2 months ago

Unfortunately, Songoda has not updated their Maven repo to the latest version so it's not possible to make it work right now. They did it about a year ago with 2.4.0 but are on 3.1.9 now. I have asked on their Discord. so let's see if I get any traction. I also filed a ticket.

HSGamer commented 2 months ago

I use their snapshot API, something like this

<repository>
    <id>songoda-plugins</id>
    <url>https://repo.songoda.com/repository/minecraft-plugins/</url>
</repository>

<dependency>
    <groupId>com.craftaro</groupId>
    <artifactId>UltimateStacker-API</artifactId>
    <version>1.0.0-20240329.173606-35</version>
    <scope>provided</scope>
</dependency>

They did update their API, just not the whole plugin https://repo.songoda.com/#browse/browse:minecraft-plugins:com%2Fcraftaro%2FUltimateStacker-API%2F1.0.0-SNAPSHOT

tastybento commented 2 months ago

Yes, I have made that change but there's a bug in the API where a referred class cannot be accessed. I have a ticket open with them and they seem to be active.

HSGamer commented 2 months ago

Yes, I have made that change but there's a bug in the API where a referred class cannot be accessed. I have a ticket open with them and they seem to be active.

I've fixed it by adding their CraftaroCore dependency. I've made the PR #305

HSGamer commented 2 months ago

I've changed BlockStack to Stackable to avoid the referred Data class. This fixed the issue without adding their CraftaroCore

tastybento commented 2 months ago

Fantastic! Thank you!