WTHIT

WTHIT

12M Downloads

Name change IComponentProvider to IBlockComponentProvider

canitzp opened this issue ยท 0 comments

commented

I don't know exactly why this was done, but this change from the original Waila-API now breaks in certain situations.
In my case I try to eliminate all errors from a modpack and so I stumbled upon this:

Exception [17:30:30] [Worker-Main-8/ERROR]: Error loading plugin at net.blay09.mods.cookingforblockheads.compat.WailaAddon java.lang.NoClassDefFoundError: mcp/mobius/waila/api/IBlockComponentProvider at java.lang.Class.forName0(Native Method) ~[?:?] at java.lang.Class.forName(Class.java:375) ~[?:?] at mcp.mobius.waila.Waila.loadComplete(Waila.java:108) ~[Jade-1.18-4.1.2.jar%23179!/:4.1.2] at net.minecraftforge.eventbus.EventBus.doCastFilter(EventBus.java:247) ~[eventbus-5.0.3.jar%2337!/:?] at net.minecraftforge.eventbus.EventBus.lambda$addListener$11(EventBus.java:239) ~[eventbus-5.0.3.jar%2337!/:?] at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-5.0.3.jar%2337!/:?] at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-5.0.3.jar%2337!/:?] at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:120) ~[javafmllanguage-1.18.1-39.0.75.jar%23293!/:?] at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:121) ~[fmlcore-1.18.1-39.0.75.jar%23292!/:?] at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) [?:?] at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796) [?:?] at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) [?:?] at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) [?:?] at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) [?:?] at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) [?:?] at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) [?:?] Caused by: java.lang.ClassNotFoundException: mcp.mobius.waila.api.IBlockComponentProvider at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:135) ~[securejarhandler-1.0.1.jar:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?] ... 16 more

And now after some time looking at source code I found out that some mods, which are using the IBlockComponentProvider interface, break with other implementations of the original Waila-API, in this case Jade. Jade still uses the original name IComponentProvider and so this exception was born.

I know this is not a typical issue and not something you have to fix or change or anything, but it is still frustrating, having to competing APIs for the same thing.
It would be definitely worth for all modders and players if the Waila-API would just be one, and both mods WTHIT an Jade depending on it.

Referncing this here: TwelveIterationMods/CookingForBlockheads#567